Compare commits

...

1062 commits
1.4 ... master

Author SHA1 Message Date
Stranger1992
cd4c9b4645
Update bug_report.yaml 2025-04-27 09:33:01 +01:00
Stranger1992
05949c1cb2
Update bug_report.yaml 2025-04-27 09:31:36 +01:00
Stranger1992
f8c0f1afda
Update bug_report.yaml
Cleaned up the bug report and streamlined the process of creating it.
2025-04-27 09:30:01 +01:00
Lwmte
ae7e38a9da Update license 2025-04-18 12:16:46 +02:00
Jakub
84a74a8057
Update AUTHORS.md 2025-03-31 12:33:57 +01:00
Lwmte
8fbf10b362
Update README.md 2025-03-31 08:59:27 +03:00
Jakub
6e5d23db6a Update AUTHORS.md
Update AUTHORS.md

Add TrainWreck to AUTHORS.md

Update AUTHORS.md
2025-03-31 00:01:18 +01:00
Stranger1992
7fe9f7ab9f Merge branch 'develop' 2025-03-29 16:11:13 +00:00
Stranger1992
5c83574a0e Updated changelog for release version
Bug Fixes moved to top (as per other version entries)
2025-03-29 14:16:09 +00:00
Lwmte
410250bf2d Update CHANGELOG.md 2025-03-29 09:55:09 +01:00
Lwmte
3e2a1ccf37 Update documentation 2025-03-28 23:39:49 +01:00
Lwmte
74b7688c7b Update Settings.lua 2025-03-28 23:23:43 +01:00
Stranger1992
83f71eaf3b Revert "Test commit for Discord"
This reverts commit d4c8b72bbe.
2025-03-28 21:39:40 +00:00
Stranger1992
d4c8b72bbe Test commit for Discord 2025-03-28 21:37:07 +00:00
Lwmte
9fc370833b Implement flyby spline looping in lua API 2025-03-28 21:36:37 +01:00
Lwmte
7ba9370281 Update CHANGELOG.md 2025-03-28 07:11:04 +01:00
Nemoel-Tomo
9469a0e63a
Tomo - fireflies (#1597)
* tests only - nothing to see

* update

* update

* update

* update corpse

* update savegame, formatting

* import develop

* formatting

* fix broken streamer vertex

* update firefly streamer spawn

* update effect

* Add in objects for fireflies

* fixed all reviews, formatting, changing on-off cycle

* formatting

* reduced the emitted light to two lights per cluster

* adding antitrigger

* formatting

* fixed corpse

* fixed a bug with corpse

* fixed corpse fall bug

* formatting

* Small refactors

* Fix merge

---------

Co-authored-by: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
2025-03-28 07:44:07 +02:00
Lwmte
8e5f045d02 Update PostProcess.fx 2025-03-26 22:58:32 +01:00
Lwmte
917a86863e Changed lensflare formula 2025-03-26 19:41:59 +01:00
Sezz
539c19bdee
Update README.md 2025-03-27 03:43:10 +11:00
Sezz
22195b3267 Fix key binding settings saving for current session after hitting Esc to cancel 2025-03-26 23:26:00 +11:00
Sezz
c2c6b5f072 Minor changes 2025-03-25 15:05:07 +11:00
Lwmte
78e8d34c00 Fixed console on Win11 and monkey pathfinding 2025-03-24 22:03:52 +01:00
Lwmte
ac77c5f9ad Rollback MovingLaserFlags rename, bump version number 2025-03-23 08:24:36 +01:00
Lwmte
382b9d1ef5 Fixed incorrect debug line 2025-03-22 10:56:17 +01:00
Lwmte
8427ae7706 Update winmain.cpp 2025-03-22 10:37:36 +01:00
Lwmte
e27ec86e85 Allow to run console input in freeze modes as well 2025-03-22 10:28:12 +01:00
Lwmte
f0f733519f Simplify error message 2025-03-22 10:01:51 +01:00
Lwmte
d47e8d0e69 Don't try to execute empty lines 2025-03-22 09:57:25 +01:00
Lwmte
075c438b5d Update CHANGELOG.md 2025-03-22 09:49:03 +01:00
Lwmte
b1ee6a190e Added ability to perform Lua commands in the console window in realtime 2025-03-22 09:42:01 +01:00
Lwmte
8c26702678 Always warn about different game version 2025-03-22 08:31:05 +01:00
Lwmte
c608e6dec5 Update CHANGELOG.md 2025-03-22 00:30:52 +01:00
Lwmte
64a2d60d2f Added safeguards for problems surfaced in #1618 2025-03-22 00:29:33 +01:00
Sezz
dfa8170597 Demagic a number 2025-03-19 16:42:07 +11:00
Sezz
e5d9285033 Adjust Probe preview 2025-03-19 16:39:32 +11:00
Sezz
e0927a9415 Minor refactors to moving laser 2025-03-19 16:36:19 +11:00
Sezz
b07ee8eed7 tr5_movinglaser -> MovingLaser 2025-03-19 15:36:42 +11:00
Lwmte
5bdff1bf3c Update CHANGELOG.md 2025-03-17 23:35:58 +01:00
Lwmte
67f4fe3d1d Added probe constructor without room number 2025-03-17 23:29:44 +01:00
Lwmte
092346925e Fixed particles being canceled by fog bulbs 2025-03-17 21:01:15 +01:00
Lwmte
4ed26b1c2d Move InitializeObjets back, only reinit regenerated pickups counter 2025-03-16 20:48:40 +01:00
Lwmte
cb37bda329 Move particle init to proper function, always reinit objects on level reload 2025-03-16 18:17:11 +01:00
Lwmte
74e13fc678 Remove formatting leftovers from doc 2025-03-16 15:41:47 +01:00
Stranger1992
a4b3019ce9 Update changelog for 1.8 release 2025-03-16 10:56:18 +00:00
Stranger1992
9a08c05a19 Update bug_report.yaml 2025-03-16 10:52:59 +00:00
Stranger1992
d9cc241502 Merge branch 'develop' 2025-03-16 10:34:44 +00:00
Lwmte
db3b9cc411 Update version.h 2025-03-16 10:47:34 +01:00
Lwmte
e521e12a02 Some doc revisions 2025-03-16 10:47:10 +01:00
Lwmte
6b1ca045d0 Update documentation for streamer feather mode 2025-03-15 20:19:13 +01:00
Lwmte
33dd1461ad Change fog distance data type to float 2025-03-15 16:27:57 +01:00
Lwmte
edf3fbf68f Added script API methods for static mesh collision 2025-03-15 10:51:59 +01:00
Lwmte
f2d7044dfb Bypass rendering for objects and statics with near-zero transparency 2025-03-15 08:42:25 +01:00
Sezz
8bbc2df8eb Update EffectsFunctions.cpp 2025-03-15 18:06:04 +11:00
Sezz
92b8ed821f Update Lua advanced particle emitter 2025-03-15 18:01:27 +11:00
Lwmte
b9c3856c09 Fix alpha tested polys not fading 2025-03-15 02:55:30 +01:00
Lwmte
234192f9ed Update CHANGELOG.md 2025-03-15 01:03:09 +01:00
Lwmte
f758bab187 Rollback Starfield naming 2025-03-15 01:01:05 +01:00
TrainWrack
bed466be9d
Fix damage Commit (#1614)
* Fix Commit

* Revision
2025-03-15 01:49:18 +02:00
Lwmte
d7d9aad0d9 Update RoomObject.cpp 2025-03-14 08:34:16 +01:00
Lwmte
fa9a56f627 Throw exception if unknown object slot is encountered 2025-03-14 08:29:37 +01:00
Sezz
6d4bc4207e Fix input action conflicts not updating properly 2025-03-14 15:41:47 +11:00
Lwmte
61ca421fb8 Fixed fast moving items interpolation 2025-03-14 02:42:23 +01:00
Lwmte
66f5f67620 Add more cross-references to documentation 2025-03-13 22:39:26 +01:00
Lwmte
e983bcb2d3 Fixed docs 2025-03-13 22:13:31 +01:00
Lwmte
6a71b857f0 Fixes to starfield 2025-03-13 21:15:57 +01:00
Lwmte
973e35c10a Move underwater floor trapdoor animation to slot 442 2025-03-13 20:58:07 +01:00
Lwmte
28773e2387 Fix crash with old panel objects present in a level 2025-03-13 20:32:14 +01:00
Lwmte
1daf39471a Update Objects.LaraObject.html 2025-03-13 20:16:22 +01:00
Lwmte
ed342f089d Update Lara docs and dummy title level 2025-03-13 20:03:32 +01:00
Lwmte
c49619d80e Fixed underwater dust particles overflowing when camera is underwater 2025-03-13 18:48:17 +01:00
Lwmte
5c230aaeae Update CHANGELOG.md 2025-03-13 18:23:58 +01:00
Lwmte
f0ddc22da8 Fixed AA settings not updating correctly after screen resolution change 2025-03-13 12:57:12 +01:00
Lwmte
1d60524269 Update CHANGELOG.md 2025-03-13 11:17:13 +01:00
Lwmte
e7003e1ad5 Bypass unnecessary sky calculations if it's not active 2025-03-13 09:44:23 +01:00
Stranger1992
7babcb33a8 Update changelog with links to assets 2025-03-12 20:32:17 +00:00
Lwmte
506deb966d Don't draw horizon if transparency value is too low 2025-03-12 09:45:10 +01:00
Lwmte
892b69fc80 Fixed some Level parameters being write-only 2025-03-12 08:14:52 +01:00
Lwmte
0ea5f3cdc0 Update data types in LDoc 2025-03-12 00:41:16 +01:00
Lwmte
74fa394bd7 Update enums and documentation 2025-03-11 23:52:11 +01:00
Lwmte
ed938bfeb9 Type updates 2025-03-11 23:46:31 +01:00
Lwmte
3046f5f4a2
Refactor scripting documentation and flow data types to use fields instead of getters and setters (#1609)
* Initial commit

* Minor changes

* Rename Flow.Starfield to Flow.StarField

* Added cross-referencing, fixed some descriptions

* Start page LDoc cleanup

* Proofread sound module documentation

* Fixed Vec2 docs

* Update FlowLevel.cpp

* Fixed incorrect tag

* Update CHANGELOG.md

* Allow to refresh starfield in runtime

* Update weather.cpp

* Dynamically change amount of stars

* Update CHANGELOG.md

* Update CHANGELOG.md

* Remove brackets in room class documentation

* Added operators for Rotation class

* Rephrase a little

* Minor nitpicks

---------

Co-authored-by: Sezz <sezzary@outlook.com>
2025-03-12 00:34:48 +02:00
Lwmte
f01ad441d3 Squashed commit of the following:
commit 8ea54ea7d4
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Mar 11 23:34:57 2025 +0100

    Fix merge

commit 566b694c9d
Merge: 935b26bd6 e97c47315
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Mar 11 23:33:43 2025 +0100

    Merge branch 'develop' into pr/1496

commit 935b26bd66
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Mar 11 23:31:57 2025 +0100

    Use script to generate object list, also migrate flatbuffer to powershell script

commit a6ec51e9d4
Merge: 7bf0ffef6 676762e11
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Sun Dec 29 12:53:23 2024 +0100

    Merge branch 'develop' into mod

commit 676762e115
Merge: ae0488410 5597750c2
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Sun Dec 29 12:48:24 2024 +0100

    Merge branch 'MontyTRC89:develop' into develop

commit 7bf0ffef6c
Merge: b876f347c ae0488410
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Thu Dec 26 11:59:22 2024 +0100

    Merge branch 'develop' into mod

commit ae04884102
Merge: e1c61aca0 8fb4668df
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Thu Dec 26 11:58:28 2024 +0100

    Merge branch 'MontyTRC89:develop' into develop

commit b876f347c7
Merge: 0669b6f01 e1c61aca0
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Wed Dec 18 19:24:15 2024 +0100

    Merge branch 'develop' into mod

commit e1c61aca03
Merge: f557f0081 88bbe4862
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Wed Dec 18 19:23:31 2024 +0100

    Merge branch 'MontyTRC89:develop' into develop

commit 0669b6f012
Merge: f978ad1b5 f557f0081
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Wed Dec 18 19:21:52 2024 +0100

    Merge branch 'develop' into mod

commit f557f00815
Merge: 34beccfcc ae7924797
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Mon Dec 16 18:45:13 2024 +0100

    Merge branch 'MontyTRC89:develop' into develop

commit 34beccfccc
Merge: 6516a8b87 2f6114deb
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Fri Dec 13 20:23:25 2024 +0100

    Merge branch 'MontyTRC89:develop' into develop

commit 6516a8b87b
Merge: babdad1a7 e674b8526
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Wed Dec 11 15:48:14 2024 +0100

    Merge branch 'MontyTRC89:develop' into develop

commit f978ad1b53
Merge: 96663d564 babdad1a7
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Sat Dec 7 08:37:39 2024 +0100

    Merge branch 'develop' into mod

commit babdad1a74
Merge: c3a97f411 d96bf4ba8
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Sat Dec 7 08:35:23 2024 +0100

    Merge branch 'MontyTRC89:develop' into develop

commit 96663d5646
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Thu Nov 28 13:35:50 2024 +0100

    add SpriteConstants

commit 89c27fc19d
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Thu Nov 28 12:50:59 2024 +0100

    Revert "conversion error"

    This reverts commit f811117458.

commit 3dd8e76d8b
Merge: 4195bc042 c3a97f411
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Thu Nov 28 12:50:48 2024 +0100

    Merge branch 'develop' into mod

commit c3a97f4113
Merge: 4af4d14db db7f86485
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Thu Nov 28 12:49:21 2024 +0100

    Merge branch 'MontyTRC89:develop' into develop

commit 4af4d14db8
Merge: 5e87ac32e 27d3ca7bb
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Sun Nov 24 13:23:35 2024 +0100

    Merge branch 'MontyTRC89:develop' into develop

commit 4195bc042a
Merge: f81111745 5e87ac32e
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Sun Nov 24 13:20:32 2024 +0100

    Merge branch 'mod' of https://github.com/davidmarr/TombEngine into mod

commit f811117458
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Sun Nov 24 13:17:53 2024 +0100

    conversion error

commit 5e87ac32e6
Merge: ef1a7d2d0 19be42911
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Sun Nov 24 13:15:38 2024 +0100

    Merge branch 'MontyTRC89:develop' into develop

commit 7643d19082
Merge: 202c94f02 d256fe1ef
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Sun Nov 24 13:15:03 2024 +0100

    Merge branch 'MontyTRC89:master' into mod

commit ef1a7d2d0f
Merge: 9e94324e9 202c94f02
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Sun Nov 24 13:04:23 2024 +0100

    Merge branch 'MontyTRC89:develop' into develop

commit 9e94324e93
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Fri Nov 8 20:19:10 2024 +0100

    Revert "function description LevelFuncs.OnUseItem"

    This reverts commit 2478afca68.

commit 2478afca68
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Fri Nov 8 20:18:56 2024 +0100

    function description LevelFuncs.OnUseItem

commit 37be06150e
Merge: c7c3451c1 222e67e49
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Fri Nov 8 20:01:48 2024 +0100

    Merge branch 'MontyTRC89:develop' into develop

commit d256fe1efe
Author: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Date:   Sun Nov 3 22:19:11 2024 +0000

    Update bug_report.yaml

commit 710f04596b
Merge: 1affcce9b 0b5ea0db7
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sun Nov 3 18:37:17 2024 +0100

    Merge branch 'develop'

commit 1affcce9b9
Author: Jakub <80340234+Jakub768@users.noreply.github.com>
Date:   Sun Nov 3 14:18:34 2024 +0000

    Update CHANGELOG.md

commit fae8744e4b
Author: Jakub <80340234+Jakub768@users.noreply.github.com>
Date:   Sun Nov 3 14:16:05 2024 +0000

    Update CHANGELOG.md

commit 815498ec8a
Merge: d81fce22a c3365f3a3
Author: Jakub <kubabilinski03@gmail.com>
Date:   Sun Nov 3 13:51:09 2024 +0000

    Merge branch 'develop'

commit d81fce22ad
Merge: 30e053dc9 a962a17f6
Author: Jakub <kubabilinski03@gmail.com>
Date:   Sun Nov 3 12:35:58 2024 +0000

    Merge branch 'develop'

commit 30e053dc93
Author: Nemoel-Tomo <tomo_669@hotmail.com>
Date:   Wed Oct 30 18:00:21 2024 +0100

    Update AUTHORS.md

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

commit c7c3451c1c
Merge: 4fc411abe e4098c458
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Fri Oct 25 14:44:24 2024 +0200

    Merge branch 'MontyTRC89:develop' into develop

commit 4fc411abe9
Merge: bfcd93f52 f7a22ea1a
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Sun Oct 20 21:38:01 2024 +0200

    Merge branch 'MontyTRC89:develop' into develop

commit bfcd93f52c
Merge: bdea82d74 deec54ff8
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Wed Oct 9 19:59:14 2024 +0200

    Merge branch 'MontyTRC89:develop' into develop

commit eca79130a0
Author: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Date:   Tue Sep 3 09:45:21 2024 +0100

    Update bug_report.yaml

commit 7fee647c84
Author: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Date:   Tue Sep 3 09:44:53 2024 +0100

    Update to bug report form

commit bdea82d742
Merge: c3b4ecf9b 60b9055d0
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Fri Aug 30 12:56:53 2024 +0200

    Merge branch 'MontyTRC89:develop' into develop

commit c3b4ecf9b6
Merge: b107327f0 37f056bfa
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Tue Aug 13 22:46:38 2024 +0200

    Merge branch 'MontyTRC89:develop' into develop

commit b107327f0a
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Thu Jul 25 13:19:30 2024 +0200

    Update CHANGELOG.md

commit 25aaba6316
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Thu Jul 25 13:16:58 2024 +0200

    Update VolumeObject.cpp

    fixed Volume:GetActive() method
2025-03-11 23:38:35 +01:00
Sezz
e97c47315e Remove m prefix from private logic handler fields 2025-03-12 00:10:05 +11:00
Lwmte
6f6a07e696 Update CHANGELOG.md 2025-03-11 08:28:01 +01:00
Lwmte
b2ab5f65b1 Upgrade to O2 optimizations 2025-03-11 08:25:51 +01:00
Lwmte
c3cdace9fb Update CHANGELOG.md 2025-03-10 08:42:57 +01:00
Lwmte
fcba21dd34 Update SoundSourceObject.cpp 2025-03-10 08:29:46 +01:00
Lwmte
431b5e2fa7 Update CHANGELOG.md 2025-03-10 00:38:26 +01:00
Lwmte
3064535f62 Removed unnecessary enabled flag from fog structure 2025-03-09 23:58:27 +01:00
Lwmte
df3fda8d33 Rename method 2025-03-09 23:23:56 +01:00
Lwmte
163594a6b9 Fix secrets property being write-only 2025-03-09 22:27:37 +01:00
Lwmte
839d9a4719 Added back laser sound 2025-03-09 20:42:01 +01:00
Lwmte
9d0fe6a1d8 Ribbon particle (#1606) 2025-03-09 20:01:43 +01:00
Lwmte
d33ebbe417 Fixed level medipacks count in Flow.Statistics class 2025-03-09 19:29:45 +01:00
Lwmte
f87d592ce6 Added Flow.GetTotalSecretCount() 2025-03-09 19:14:39 +01:00
Lwmte
cb73477b90 Added pickups count to Flow.Statistics class 2025-03-09 19:07:28 +01:00
Lwmte
39a23fb755 Update ObjectIDs.h 2025-03-09 09:00:00 +01:00
Lwmte
248fb11452 Fixed backwards alpha color conversion 2025-03-09 08:31:35 +01:00
Lwmte
019dccae57 Fixed slot problems 2025-03-09 08:24:48 +01:00
Lwmte
3acb07fe53 Fix sound IDs again 2025-03-09 06:51:19 +01:00
Lwmte
45a58d4e5b Fix sound IDs 2025-03-09 06:27:32 +01:00
Lwmte
e85a1e63d1 Fixed sound IDs 2025-03-09 06:22:08 +01:00
TrainWrack
9b119d03a2
TR5 Moving Laser (#1598)
* First

* First

* Finished

* Update CHANGELOG.md

* Change default speed to 10

* SimplifyLogic

* Revert "SimplifyLogic"

This reverts commit be0aeefaa4.

* Reapply "SimplifyLogic"

This reverts commit c7b8e1442e.

* Add moving sound.

* Add acceleration

* Update tr5_movinglaser.cpp

* Fix merge

---------

Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
2025-03-09 07:08:06 +02: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
602acb4bae
Underwater Floor trapdoor (#1600)
* First Committ

* Finished

* Update CHANGELOG.md

* Declog conditions.

* Formatting

---------

Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
2025-03-09 06:44:10 +02:00
TrainWrack
d35bd90a12
Tr4 statue plinth (#1580)
* 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

* FirstComitt

* Committ

* Update

* MeshBit

* Backup

* Working

* Fixed

* Final

* Squashed commit of the following:

commit 77d0865c8a
Author: Nemoel-Tomo <tomo_669@hotmail.com>
Date:   Sun Feb 16 08:20:58 2025 +0100

    Waterfall emitter formatting fix (#1570)

commit 92329741ad
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sat Feb 15 07:46:37 2025 +0100

    Clarify EmitSpotLight description

commit 562637f599
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Fri Feb 14 23:10:40 2025 +0100

    Fixed #1574

commit a64825b6f1
Author: Sezz <sezzary@outlook.com>
Date:   Fri Feb 14 04:30:00 2025 +1100

    Add missing shift in EmitParticle()

commit 455d547de7
Author: Sezz <sezzary@outlook.com>
Date:   Fri Feb 14 04:25:55 2025 +1100

    Add lock to parallel task class

commit 918237113f
Author: Sezz <sezzary@outlook.com>
Date:   Thu Feb 13 14:59:16 2025 +1100

    Make script utils more idiomatic to C++

commit b78376b0ab
Author: Sezz <sezzary@outlook.com>
Date:   Thu Feb 13 12:44:06 2025 +1100

    Use correct angle conversion in EmitPatricle()

commit 3e00302ade
Author: Sezz <sezzary@outlook.com>
Date:   Thu Feb 13 05:38:56 2025 +1100

    Update Rotation.cpp

commit f1c1fd2f63
Author: Sezz <sezzary@outlook.com>
Date:   Thu Feb 13 04:12:34 2025 +1100

    Add Lerp() method to script Rotation class

commit 6ef9675bcb
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Feb 12 09:08:45 2025 +0100

    Update CHANGELOG.md

commit ca56f62f54
Author: Sezz <sezzary@outlook.com>
Date:   Wed Feb 12 18:59:54 2025 +1100

    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>

commit d37ac17a39
Author: Sezz <sezzary@outlook.com>
Date:   Wed Feb 12 17:36:12 2025 +1100

    Formatting

commit 62ce2f043d
Author: Sezz <sezzary@outlook.com>
Date:   Tue Feb 11 18:05:07 2025 +1100

    Fix bridges moving the player when the player is underwater

commit 0bb9af9894
Author: Sezz <sezzary@outlook.com>
Date:   Tue Feb 11 17:31:51 2025 +1100

    puzzle_keys.cpp formatting

commit 7d18d7506f
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Sun Feb 9 15:58:15 2025 +0100

    Update Type module (#1569)

    * Update VolumeObject.cpp

    fixed Volume:GetActive() method

    * Update CHANGELOG.md

    * function description LevelFuncs.OnUseItem

    * Revert "function description LevelFuncs.OnUseItem"

    This reverts commit 2478afca68.

    * Update Type.lua

commit 909f631c2f
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sat Feb 8 11:04:40 2025 +0100

    Fixed mistake in electricity rendering

commit a840c2200c
Merge: 2c6331f58 a31faffec
Author: Sezz <sezzary@outlook.com>
Date:   Sat Feb 8 02:58:13 2025 +1100

    Merge branch 'develop' of https://github.com/MontyTRC89/TombEngine into develop

commit 2c6331f583
Author: Sezz <sezzary@outlook.com>
Date:   Sat Feb 8 02:58:03 2025 +1100

    Deprecate CalculateDistance() script function

commit a31faffec5
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Fri Feb 7 08:31:14 2025 +0100

    Update CHANGELOG.md

commit 1f81ccf44d
Author: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Date:   Thu Feb 6 18:05:25 2025 -0500

    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>

commit 34ff933e5b
Author: Sezz <sezzary@outlook.com>
Date:   Thu Feb 6 18:48:45 2025 +1100

    Update LogicHandler.cpp

commit 5500b13659
Author: Sezz <sezzary@outlook.com>
Date:   Thu Feb 6 18:47:33 2025 +1100

    Update LogicHandler.cpp

commit acb1bb1518
Author: Sezz <sezzary@outlook.com>
Date:   Thu Feb 6 18:46:16 2025 +1100

    Enforce proper convention for the few Lua table constants that didn't use it yet

commit 89d5b74298
Author: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Date:   Thu Feb 6 02:09:53 2025 -0500

    Fix Trigger Triggerer (#1565)

    * Fix

    * Update CHANGELOG.md

    * Update trigger.cpp

    ---------

    Co-authored-by: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>

commit 8316062e3a
Merge: 5f447d95c 599a651b6
Author: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Date:   Thu Feb 6 06:03:41 2025 +0000

    Merge branch 'develop' of https://github.com/MontyTRC89/TombEngine into develop

commit 5f447d95c5
Author: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Date:   Thu Feb 6 06:03:18 2025 +0000

    Fix stopwatch display in inventory (due to removal of trademarked item)

    Now the trademarked item from Tomb Raider Chronicles has been removed and replaced with the stopwatch from Tomb Raider III

commit 599a651b6f
Author: Sezz <sezzary@outlook.com>
Date:   Thu Feb 6 16:56:19 2025 +1100

    Update lens flare and starfield Lua docs

commit 94ede801bc
Author: Sezz <sezzary@outlook.com>
Date:   Thu Feb 6 16:35:59 2025 +1100

    Misc. script doc tidying; move some script classes to namespaces

commit be8048407e
Author: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Date:   Wed Feb 5 23:51:35 2025 -0500

    Underwater keys/puzzles (#1529)

    * 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

    * First Push

    * Updae LaraStruct to use animation 280

    * Update puzzles_keys.cpp

    * Update CHANGELOG.md

    * Squashed commit of the following:

    commit e50a4f8c27
    Author: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
    Date:   Wed Dec 25 20:07:56 2024 -0500

        Doc Revision

    commit 39a6e713ce
    Author: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
    Date:   Wed Dec 25 20:02:47 2024 -0500

        Doc revisions

    commit c330343820
    Author: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
    Date:   Wed Dec 25 19:52:59 2024 -0500

        Update CHANGELOG.md

    commit ad62d7b605
    Author: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
    Date:   Wed Dec 25 19:42:32 2024 -0500

        Check

    commit e135195641
    Author: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
    Date:   Wed Dec 25 19:26:23 2024 -0500

        First Commit

    commit 4a6c6ee270
    Author: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
    Date:   Wed Dec 25 19:19:05 2024 -0500

        Update EffectsFunctions.cpp

    * Revert "Squashed commit of the following:"

    This reverts commit ff2e49c6ed.

    * Formatting.

    * Formatting.

    * Update CHANGELOG.md

    ---------

    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: TrainWreck <barry@DESKTOP-HC53CPN>

commit 106787d911
Author: Sezz <sezzary@outlook.com>
Date:   Thu Feb 6 04:34:28 2025 +1100

    Doc corrections

commit 737f5aa742
Author: Sezz <sezzary@outlook.com>
Date:   Thu Feb 6 04:28:58 2025 +1100

    Make getters const

commit 2b41ae743a
Author: Sezz <sezzary@outlook.com>
Date:   Thu Feb 6 02:35:16 2025 +1100

    Tidy up Lua doc for Static class

commit 437ce7c139
Author: Sezz <sezzary@outlook.com>
Date:   Thu Feb 6 01:22:59 2025 +1100

    Complete short -> int conversions for Lua

commit 237ceca0f4
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Feb 5 08:04:23 2025 +0100

    Fixed custom shatter sounds

commit 64e0c303ba
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Feb 4 20:58:09 2025 +0100

    Update CHANGELOG.md

commit d2b692cb3b
Author: Sezz <sezzary@outlook.com>
Date:   Mon Feb 3 16:15:41 2025 +1100

    ShadowMode::Lara -> ShadowMode::Player

commit ebb20121ac
Author: Sezz <sezzary@outlook.com>
Date:   Sat Feb 1 23:57:54 2025 +1100

    -1 -> NO_VALUE and other formatting

commit 4a6f30a152
Author: Jakub <80340234+Jakub768@users.noreply.github.com>
Date:   Sat Feb 1 12:07:10 2025 +0000

    Update LICENSE

commit 45d46e0e6b
Author: Sezz <sezzary@outlook.com>
Date:   Sat Feb 1 22:55:35 2025 +1100

    Fix display pickup string not being interpolated in 60FPS mode

commit 903fdf288f
Author: Sezz <sezzary@outlook.com>
Date:   Sat Feb 1 22:40:50 2025 +1100

    Optimise BitField class (#1511)

    * Optimise BitField class

    * DebugBuild -> DEBUG_BUILD

    * Fix merge error

commit 48902b00a9
Author: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Date:   Sat Feb 1 06:23:04 2025 -0500

    Emit air bubble exposed (#1537)

    * 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

    * Update EffectsFunctions.cpp

    * First Commit

    * Check

    * Update CHANGELOG.md

    * Doc revisions

    * Doc Revision

    * Update EffectsFunctions.cpp

    * Remove room from arguements.

    * Doc clarification.

    * Make Size and Amplitude Optional

    * Update EffectsFunctions.cpp

    ---------

    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>

commit fa0e125f59
Author: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Date:   Sat Feb 1 06:22:49 2025 -0500

    Emit particle upgrade (#1542)

    * 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.

    * Code cleanup, revise doc comment

    * Nicer defaults in doc

    ---------

    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>

commit bcbe216508
Author: Sezz <sezzary@outlook.com>
Date:   Sat Feb 1 20:17:11 2025 +1100

    Update Vec3.cpp

commit 06c33908d9
Author: Sezz <sezzary@outlook.com>
Date:   Sat Feb 1 20:13:34 2025 +1100

    Explicit conversion

commit c99b8abf25
Author: Sezz <sezzary@outlook.com>
Date:   Sat Feb 1 20:01:55 2025 +1100

    Add Translate() functions to script Vec2 and Vec3 classes

commit d8c646fabd
Author: Sezz <sezzary@outlook.com>
Date:   Sat Feb 1 17:47:29 2025 +1100

    Start restructuring script Moveable class

commit 98b01ff64a
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Thu Jan 30 22:25:57 2025 +0100

    Fixed #1562

commit d163d1ec30
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Mon Jan 27 19:27:08 2025 +0100

    Fixed #1558

commit 6ef8a562e5
Author: Sezz <sezzary@outlook.com>
Date:   Tue Jan 28 04:10:12 2025 +1100

    Update doc comment for moveable

commit d919e16790
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sat Jan 25 23:03:28 2025 +0100

    Fixed player model submerging into the floor while swimming underwater

commit faf17cd03a
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Fri Jan 24 23:18:14 2025 +0100

    Fixed #1557

commit 5f402e380b
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Fri Jan 24 22:55:08 2025 +0100

    Fixed #1556

commit ae20a49eb2
Author: Sezz <sezzary@outlook.com>
Date:   Thu Jan 23 17:02:26 2025 +1100

    Update VS hint comments for various classes

commit fb97628ac9
Author: Sezz <sezzary@outlook.com>
Date:   Thu Jan 23 16:48:46 2025 +1100

    Add `Scale` field to `Pose` class (#1546)

    * Reapply "Add functional Scale field to Pose class"

    This reverts commit 92305a5d25.

    * Update lara.cpp

commit fc0c260ea1
Author: Sezz <sezzary@outlook.com>
Date:   Thu Jan 23 15:25:09 2025 +1100

    Update script Rotation class and its doc

commit 0dd0061a94
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Jan 21 20:55:57 2025 +0100

    Update CHANGELOG.md

commit 7735f660ab
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Jan 21 20:49:32 2025 +0100

    Fixed #1553

commit 5764965230
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Jan 21 20:47:06 2025 +0100

    Fixed #1554

commit b55675b9ce
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Jan 21 20:46:47 2025 +0100

    Fixed #1552

commit 7be096f86a
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sun Jan 19 05:41:05 2025 +0100

    Fixed dynamic light shadows not being handled correctly

commit db2649e936
Author: Sezz <sezzary@outlook.com>
Date:   Sat Jan 18 19:54:04 2025 +1100

    Fix two block platform sometimes not traversing room portals correctly; cleanup

commit ff41900bd9
Author: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Date:   Sun Jan 12 16:35:44 2025 +0000

    Updated to reflect develop branch after merging Pull Request

commit 2a89abe66d
Author: Nemoel-Tomo <tomo_669@hotmail.com>
Date:   Sun Jan 12 17:15:45 2025 +0100

    Tr1 electric ball (#1413)

    Implementation of the Electric Ball from Tomb Raider I, inside Level 5: St Francis Folly

commit a97548467e
Author: Nemoel-Tomo <tomo_669@hotmail.com>
Date:   Fri Jan 10 23:27:48 2025 +0100

    Waterfall_Emitter (#1359)

    * waterfall emitter. warning for the test I changed waterfallmist object

    * test

    * update

    * update

    * update

    * formatting

    * formatting

    * formatting

    * update mist color

    * import develop

    * bugfix sprite

    * added mor sprite particles

    * waterfall intensity

    * update waterfall to be more filled

    * update

    * Create a new sprite sequence for waterfall

    * Fixed texture order

    * removed GetParticleDistanceFade() from waterfall

    * Order

    * Update Particle struct; update waterfall

    * Update Particle struct

    * Simplify waterfall emitter

    * Simplify waterfall emitter

    * Simplify waterfall emitter

    * Simplify

    * Fix waterfall density; move sprite slot

    * Update Waterfall.cpp

    * fixed some small bugs with the waterfall after simplify

    * commit

    * imported develop 60fps branch

    * fixed waterfall errors

    * update

    * commit

    * update/test

    * update Waterfall

    * fixed last bugs

    * formatting

    * added option for sound

    * update

    * update, fixing errors

    * update

    * formatting

    * Formatting

    * fixed color issue, now only savegame is left

    * formatting

    * added new fields to savegame

    * targetpos is now Vector3

    * import develop

    * Fixes according to GH notes + move waterfall-specific code out of effects.cpp

    * Rollback object ID rename, add missing enum

    * renamed ID_WATERFALL_ into ID_WATERFALL_SPRITES

    * fixed SpriteSeqID for spark in spark.cpp

    * Update CHANGELOG.md

    * rewritten waterfall code

    * Update waterfall impact point

    ---------

    Co-authored-by: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
    Co-authored-by: Sezz <sezzary@outlook.com>
    Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>

commit bfe07f6e21
Author: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Date:   Sun Jan 5 16:45:30 2025 +0000

    Bump version in Lua API for development

commit 4dce157665
Author: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Date:   Sun Jan 5 16:27:38 2025 +0000

    Bump Tomb Editor version for next dev cycle

    Amended also in the Development branch for TE

commit c25c7a1c96
Author: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Date:   Sun Jan 5 15:10:17 2025 +0000

    Update CHANGELOG.md

commit 2da7401c28
Author: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Date:   Sun Jan 5 15:09:41 2025 +0000

    Update changelog with template for the next version.

commit 66d7e51f5d
Author: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Date:   Sat Jan 4 18:41:11 2025 +0000

    Bump dev version to 1.7.2

    This has been done to draw a line post-release and any commits after this to form the next release. Version number may change.

commit cebc0175c9
Author: Sezz <sezzary@outlook.com>
Date:   Sat Jan 4 17:03:46 2025 +1100

    Move splash effect to its own file

commit b81b28039c
Author: Sezz <sezzary@outlook.com>
Date:   Sat Jan 4 16:03:07 2025 +1100

    Fix gravity being applied when vaulting on the same frame as the player lands

commit 5444ede2a8
Author: Sezz <sezzary@outlook.com>
Date:   Sat Jan 4 15:51:52 2025 +1100

    Reliably stop at edge when running at it while holding Walk

commit 43d5bb9639
Author: Sezz <sezzary@outlook.com>
Date:   Fri Jan 3 23:31:59 2025 +1100

    Update CHANGELOG.md

commit fb7e4dce70
Merge: 9baf5222f 12ac1219e
Author: Sezz <sezzary@outlook.com>
Date:   Fri Jan 3 23:06:28 2025 +1100

    Merge branch 'develop' of https://github.com/MontyTRC89/TombEngine into develop

commit 9baf5222f8
Author: Sezz <sezzary@outlook.com>
Date:   Fri Jan 3 23:06:25 2025 +1100

    Reset IsAirborne flag properly when exiting fly cheat

commit 12ac1219e9
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Thu Jan 2 13:10:57 2025 +0100

    Update spark.cpp

commit 7f071b5ec5
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Thu Jan 2 11:15:04 2025 +0100

    Port additional ricochet effect from tomb4

* Revert "Squashed commit of the following:"

This reverts commit f4570211a5.

* Update CHANGELOG.md

* Demagicify framenumber

* Fix Statue Plinth

* Fix bounds and add ItemFlag[0] for custom activation frame

* Rename files

* Cleanup

* Remove unnecessary includes

* 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>
Co-authored-by: Sezz <sezzary@outlook.com>
2025-03-09 06:36:56 +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
2f675b0069
TR1 hammer (#1588)
* First

* Implementation

* Add retract

* Fixing

* Finished

* Update CHANGELOG.md

* Fix Incorrect Death height

* Rename file

* Formatting; minor fixes

* Update Hammer.cpp

* Update Hammer.cpp

* Reset scale when enabling fly cheat

* Update tr1_objects.cpp

* Address comments.

* Fix Hammer code

---------

Co-authored-by: Sezz <sezzary@outlook.com>
2025-03-09 06:20:18 +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
Lwmte
ba99f41fa0 Update version.h 2025-03-08 13:53:51 +01:00
iagoesp
b3b8b73c55
Sort Screenshots by YYYYMMDD #1372 (#1599)
* Sort screenshots by YYYYMMDD (#1372)

* Sort screenshots by YYYYMMDD (#1372)

* Fixes

---------

Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
2025-03-08 13:39:24 +02:00
Sezz
a9482054cd
Input binding manager (#1566)
* First clean iteration of BindingManager class

* Fix key alignment errors; allow keys to have analog values

* Allow any input action to have an analog value

* Update comment

* Update key names

* Update queue state

* Update names

* Add comments

* Fix merge

* Fix mouse input

* Update constant name

* Fix merge errors

* Update formatting

* Fix merge errors; count game frames in input action class properly

* float -> unsigned long, renames

* Formatting

* Constants for key offsets

* New registry version

* Minor changes

* Fix saving

* Update InputAction.cpp

* Renames

* Minor changes

* Temporary rename + comments

* Update InputAction.cpp

---------

Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
2025-03-08 13:32:02 +02:00
davidmarr
7701fb5fd0
Update CSS of Lua documentation (#1576)
* Update VolumeObject.cpp

fixed Volume:GetActive() method

* Update CHANGELOG.md

* function description LevelFuncs.OnUseItem

* Revert "function description LevelFuncs.OnUseItem"

This reverts commit 2478afca68.

* Update ldoc.css
2025-03-08 11:57:10 +02:00
Lwmte
7381ff0843 Update CHANGELOG.md 2025-03-08 02:51:19 +01:00
Lwmte
e58ae8cf07 Fixed typos in probe code 2025-03-05 23:27:17 +01:00
Lwmte
8b6ea97cf6 Update CHANGELOG.md 2025-03-05 09:20:42 +01: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
d3d885e78f Update moveable scale function doc comments 2025-03-05 15:34:08 +11:00
Sezz
1881e08c98 Spawn streamer segments at a rate of 10 per second; update TestGlobalTimeInterval() function 2025-03-03 17:20:55 +11:00
Sezz
6bf0ff2c43 Allow streamers to have start and end colours 2025-03-03 16:12:21 +11:00
Sezz
9b9c27937a Update Streamer.h 2025-03-02 14:50:02 +11:00
Sezz
7a94f00180 Shorten names 2025-03-02 14:14:56 +11:00
Sezz
1e143c6e0a Improve streamer effect implementation 2025-03-02 14:07:43 +11:00
Sezz
44128eda43 Cleanup 2025-02-28 13:48:21 +11:00
TrainWrack
2c8af9fa20
Expose Moveable Scale (#1587)
* Done

* Update CHANGELOG.md

* Cleanup

* Minor fixes

* Update CHANGELOG.md

---------

Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
2025-02-28 03:54:26 +02:00
Lwmte
eff0f4d363 Changed alpha threshold to epsilon 2025-02-27 23:51:55 +01:00
Lwmte
9b6424f2d5
Alpha tint (#1572)
* Work

* Work

* Move RendererRoom out of union

* Update CHANGELOG.md

* Correctly mix alpha for all blend modes

* Introduce alpha threshold

* Cleanup and formatting; also add correct alpha convertion in RGBAColor8Byte to its Color() operator

---------

Co-authored-by: Sezz <sezzary@outlook.com>
2025-02-28 00:44:27 +02:00
Adngel
ae71ba601a Fix: Combat Camera in quick sands rooms
Combat Camera was taking "position.y" value that is the quick sand bottom, instead of "TopHeight" (formely maxceiling) that is the top surface of the quicksands camera.

When Lara digs enough in the quicksands, she automatically draws her weapons stopping the combat camera, that's why the bug only happened on certain range.
2025-02-27 10:31:27 +01:00
Sezz
1715fdb7b0 Update conventions, formatting, docs 2025-02-23 21:59:44 +11:00
Lwmte
1d884a4d62 Added functions to get flyby sequence parameters at a specified time point 2025-02-23 03:36:04 +01:00
Jakub
945ddd4738
Update CHANGELOG.md 2025-02-22 11:00:05 +00:00
Jakub
015a2b9be5
Update CHANGELOG.md 2025-02-22 10:59:21 +00:00
Nemoel-Tomo
77d0865c8a
Waterfall emitter formatting fix (#1570) 2025-02-16 09:20:58 +02:00
Lwmte
92329741ad Clarify EmitSpotLight description 2025-02-15 07:46:37 +01:00
Lwmte
562637f599 Fixed #1574 2025-02-14 23:10:40 +01:00
Sezz
a64825b6f1 Add missing shift in EmitParticle() 2025-02-14 04:30:00 +11:00
Sezz
455d547de7 Add lock to parallel task class 2025-02-14 04:25:55 +11:00
Sezz
918237113f Make script utils more idiomatic to C++ 2025-02-13 14:59:16 +11:00
Sezz
b78376b0ab Use correct angle conversion in EmitPatricle() 2025-02-13 12:44:06 +11:00
Sezz
3e00302ade Update Rotation.cpp 2025-02-13 05:38:56 +11:00
Sezz
f1c1fd2f63 Add Lerp() method to script Rotation class 2025-02-13 04:12:34 +11:00
Lwmte
6ef9675bcb Update CHANGELOG.md 2025-02-12 09:08:45 +01: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
Sezz
d37ac17a39 Formatting 2025-02-12 17:36:12 +11:00
Sezz
62ce2f043d Fix bridges moving the player when the player is underwater 2025-02-11 18:05:07 +11:00
Sezz
0bb9af9894 puzzle_keys.cpp formatting 2025-02-11 17:31:51 +11:00
davidmarr
7d18d7506f
Update Type module (#1569)
* Update VolumeObject.cpp

fixed Volume:GetActive() method

* Update CHANGELOG.md

* function description LevelFuncs.OnUseItem

* Revert "function description LevelFuncs.OnUseItem"

This reverts commit 2478afca68.

* Update Type.lua
2025-02-09 14:58:15 +00:00
Lwmte
909f631c2f Fixed mistake in electricity rendering 2025-02-08 11:04:40 +01:00
Sezz
a840c2200c Merge branch 'develop' of https://github.com/MontyTRC89/TombEngine into develop 2025-02-08 02:58:13 +11:00
Sezz
2c6331f583 Deprecate CalculateDistance() script function 2025-02-08 02:58:03 +11:00
Lwmte
a31faffec5 Update CHANGELOG.md 2025-02-07 08:31:14 +01: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
34ff933e5b Update LogicHandler.cpp 2025-02-06 18:48:45 +11:00
Sezz
5500b13659 Update LogicHandler.cpp 2025-02-06 18:47:33 +11:00
Sezz
acb1bb1518 Enforce proper convention for the few Lua table constants that didn't use it yet 2025-02-06 18:46:16 +11:00
TrainWrack
89d5b74298
Fix Trigger Triggerer (#1565)
* Fix

* Update CHANGELOG.md

* Update trigger.cpp

---------

Co-authored-by: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
2025-02-06 07:09:53 +00:00
Stranger1992
8316062e3a Merge branch 'develop' of https://github.com/MontyTRC89/TombEngine into develop 2025-02-06 06:03:41 +00:00
Stranger1992
5f447d95c5 Fix stopwatch display in inventory (due to removal of trademarked item)
Now the trademarked item from Tomb Raider Chronicles has been removed and replaced with the stopwatch from Tomb Raider III
2025-02-06 06:03:18 +00:00
Sezz
599a651b6f Update lens flare and starfield Lua docs 2025-02-06 16:56:19 +11:00
Sezz
94ede801bc Misc. script doc tidying; move some script classes to namespaces 2025-02-06 16:35:59 +11:00
TrainWrack
be8048407e
Underwater keys/puzzles (#1529)
* 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

* First Push

* Updae LaraStruct to use animation 280

* Update puzzles_keys.cpp

* Update CHANGELOG.md

* Squashed commit of the following:

commit e50a4f8c27
Author: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Date:   Wed Dec 25 20:07:56 2024 -0500

    Doc Revision

commit 39a6e713ce
Author: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Date:   Wed Dec 25 20:02:47 2024 -0500

    Doc revisions

commit c330343820
Author: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Date:   Wed Dec 25 19:52:59 2024 -0500

    Update CHANGELOG.md

commit ad62d7b605
Author: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Date:   Wed Dec 25 19:42:32 2024 -0500

    Check

commit e135195641
Author: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Date:   Wed Dec 25 19:26:23 2024 -0500

    First Commit

commit 4a6c6ee270
Author: TrainWrack <120750885+TrainWrack@users.noreply.github.com>
Date:   Wed Dec 25 19:19:05 2024 -0500

    Update EffectsFunctions.cpp

* Revert "Squashed commit of the following:"

This reverts commit ff2e49c6ed.

* Formatting.

* Formatting.

* Update CHANGELOG.md

---------

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: TrainWreck <barry@DESKTOP-HC53CPN>
2025-02-06 04:51:35 +00:00
Sezz
106787d911 Doc corrections 2025-02-06 04:34:28 +11:00
Sezz
737f5aa742 Make getters const 2025-02-06 04:28:58 +11:00
Sezz
2b41ae743a Tidy up Lua doc for Static class 2025-02-06 02:35:16 +11:00
Sezz
437ce7c139 Complete short -> int conversions for Lua 2025-02-06 01:22:59 +11:00
Lwmte
237ceca0f4 Fixed custom shatter sounds 2025-02-05 08:04:23 +01:00
Lwmte
64e0c303ba Update CHANGELOG.md 2025-02-04 20:58:09 +01:00
Sezz
d2b692cb3b ShadowMode::Lara -> ShadowMode::Player 2025-02-03 16:15:41 +11:00
Sezz
ebb20121ac -1 -> NO_VALUE and other formatting 2025-02-01 23:57:54 +11:00
Jakub
4a6f30a152
Update LICENSE 2025-02-01 12:07:10 +00:00
Jakub
75144d877e
Update LICENSE 2025-02-01 12:06:42 +00:00
Sezz
45d46e0e6b Fix display pickup string not being interpolated in 60FPS mode 2025-02-01 22:55:35 +11:00
Sezz
903fdf288f
Optimise BitField class (#1511)
* Optimise BitField class

* DebugBuild -> DEBUG_BUILD

* Fix merge error
2025-02-01 22:40:50 +11:00
TrainWrack
48902b00a9
Emit air bubble exposed (#1537)
* 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

* Update EffectsFunctions.cpp

* First Commit

* Check

* Update CHANGELOG.md

* Doc revisions

* Doc Revision

* Update EffectsFunctions.cpp

* Remove room from arguements.

* Doc clarification.

* Make Size and Amplitude Optional

* Update EffectsFunctions.cpp

---------

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-02-01 11:23:04 +00:00
TrainWrack
fa0e125f59
Emit particle upgrade (#1542)
* 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.

* Code cleanup, revise doc comment

* Nicer defaults in doc

---------

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-02-01 11:22:49 +00:00
Sezz
bcbe216508 Update Vec3.cpp 2025-02-01 20:17:11 +11:00
Sezz
06c33908d9 Explicit conversion 2025-02-01 20:13:34 +11:00
Sezz
c99b8abf25 Add Translate() functions to script Vec2 and Vec3 classes 2025-02-01 20:01:55 +11:00
Sezz
d8c646fabd Start restructuring script Moveable class 2025-02-01 17:47:29 +11:00
Lwmte
98b01ff64a Fixed #1562 2025-01-30 22:25:57 +01:00
Lwmte
d163d1ec30 Fixed #1558 2025-01-27 19:27:37 +01:00
Sezz
6ef8a562e5 Update doc comment for moveable 2025-01-28 04:10:12 +11:00
Lwmte
d919e16790 Fixed player model submerging into the floor while swimming underwater 2025-01-25 23:03:28 +01:00
Lwmte
faf17cd03a Fixed #1557 2025-01-24 23:18:14 +01:00
Lwmte
5f402e380b Fixed #1556 2025-01-24 22:55:08 +01:00
Sezz
ae20a49eb2 Update VS hint comments for various classes 2025-01-23 17:02:26 +11:00
Sezz
fb97628ac9
Add Scale field to Pose class (#1546)
* Reapply "Add functional Scale field to Pose class"

This reverts commit 92305a5d25.

* Update lara.cpp
2025-01-23 16:48:46 +11:00
Sezz
fc0c260ea1 Update script Rotation class and its doc 2025-01-23 15:25:09 +11:00
Lwmte
0dd0061a94 Update CHANGELOG.md 2025-01-21 20:55:57 +01:00
Lwmte
7735f660ab Fixed #1553 2025-01-21 20:49:32 +01:00
Lwmte
5764965230 Fixed #1554 2025-01-21 20:47:06 +01:00
Lwmte
b55675b9ce Fixed #1552 2025-01-21 20:46:47 +01:00
Lwmte
7be096f86a Fixed dynamic light shadows not being handled correctly 2025-01-19 05:42:16 +01:00
Sezz
db2649e936 Fix two block platform sometimes not traversing room portals correctly; cleanup 2025-01-18 19:54:04 +11:00
Stranger1992
ff41900bd9 Updated to reflect develop branch after merging Pull Request 2025-01-12 16:39:17 +00:00
Nemoel-Tomo
2a89abe66d
Tr1 electric ball (#1413)
Implementation of the Electric Ball from Tomb Raider I, inside Level 5: St Francis Folly
2025-01-12 16:15:45 +00:00
Nemoel-Tomo
a97548467e
Waterfall_Emitter (#1359)
* waterfall emitter. warning for the test I changed waterfallmist object

* test

* update

* update

* update

* formatting

* formatting

* formatting

* update mist color

* import develop

* bugfix sprite

* added mor sprite particles

* waterfall intensity

* update waterfall to be more filled

* update

* Create a new sprite sequence for waterfall

* Fixed texture order

* removed GetParticleDistanceFade() from waterfall

* Order

* Update Particle struct; update waterfall

* Update Particle struct

* Simplify waterfall emitter

* Simplify waterfall emitter

* Simplify waterfall emitter

* Simplify

* Fix waterfall density; move sprite slot

* Update Waterfall.cpp

* fixed some small bugs with the waterfall after simplify

* commit

* imported develop 60fps branch

* fixed waterfall errors

* update

* commit

* update/test

* update Waterfall

* fixed last bugs

* formatting

* added option for sound

* update

* update, fixing errors

* update

* formatting

* Formatting

* fixed color issue, now only savegame is left

* formatting

* added new fields to savegame

* targetpos is now Vector3

* import develop

* Fixes according to GH notes + move waterfall-specific code out of effects.cpp

* Rollback object ID rename, add missing enum

* renamed ID_WATERFALL_ into ID_WATERFALL_SPRITES

* fixed SpriteSeqID for spark in spark.cpp

* Update CHANGELOG.md

* rewritten waterfall code

* Update waterfall impact point

---------

Co-authored-by: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Co-authored-by: Sezz <sezzary@outlook.com>
Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
2025-01-10 22:27:48 +00:00
Stranger1992
bfe07f6e21 Bump version in Lua API for development 2025-01-05 16:45:30 +00:00
Stranger1992
4dce157665 Bump Tomb Editor version for next dev cycle
Amended also in the Development branch for TE
2025-01-05 16:27:38 +00:00
Stranger1992
c25c7a1c96 Update CHANGELOG.md 2025-01-05 15:10:17 +00:00
Stranger1992
2da7401c28 Update changelog with template for the next version. 2025-01-05 15:09:41 +00:00
Stranger1992
66d7e51f5d Bump dev version to 1.7.2
This has been done to draw a line post-release and any commits after this to form the next release. Version number may change.
2025-01-04 18:41:11 +00:00
Stranger1992
f61c9cf4ff Release cleanup 2025-01-04 18:32:12 +00:00
Stranger1992
1ba4924473 Merge branch 'develop' 2025-01-04 17:31:39 +00:00
Sezz
cebc0175c9 Move splash effect to its own file 2025-01-04 17:03:46 +11:00
Sezz
b81b28039c Fix gravity being applied when vaulting on the same frame as the player lands 2025-01-04 16:03:07 +11:00
Sezz
5444ede2a8 Reliably stop at edge when running at it while holding Walk 2025-01-04 15:51:52 +11:00
Sezz
43d5bb9639 Update CHANGELOG.md 2025-01-03 23:31:59 +11:00
Sezz
fb7e4dce70 Merge branch 'develop' of https://github.com/MontyTRC89/TombEngine into develop 2025-01-03 23:06:28 +11:00
Sezz
9baf5222f8 Reset IsAirborne flag properly when exiting fly cheat 2025-01-03 23:06:25 +11:00
Lwmte
12ac1219e9 Update spark.cpp 2025-01-02 13:10:57 +01:00
Lwmte
7f071b5ec5 Port additional ricochet effect from tomb4 2025-01-02 11:15:04 +01:00
Sezz
06ee8fa4b8 Update debug interaction box drawing 2025-01-01 19:15:47 +11:00
Lwmte
01129f62b5 Revert object camera position fix 2024-12-31 18:46:56 +01:00
Lwmte
b353557c7f Also check VC runtimes version before launching 2024-12-31 11:57:44 +01:00
Lwmte
610b7dc942 Add missing blob shadows for objects 2024-12-30 19:12:18 +01:00
Lwmte
cf8d642e4e Reduce blob shadow intensity in half 2024-12-30 18:56:50 +01:00
Lwmte
7bb719d337 Invert blob shadow intensity to be consistent with dynamic shadows 2024-12-30 18:15:02 +01:00
Lwmte
2b69daeb5e Put compiled shaders into version subdirectory 2024-12-30 17:57:34 +01:00
Lwmte
9df0004e6b Remove unused shadow calculations 2024-12-30 13:24:30 +01:00
Sezz
92305a5d25 Revert "Add functional Scale field to Pose class"
This reverts commit 62bf124830.
2024-12-30 22:04:27 +11:00
Sezz
62bf124830 Add functional Scale field to Pose class 2024-12-30 21:46:12 +11:00
Sezz
6b32f73f7a Remove TriggerGunSmoke_SubFunction(); old -> Prev prefix 2024-12-30 20:18:40 +11:00
Lwmte
b0d1b4d8bf Update README.md 2024-12-30 08:56:56 +01:00
Lwmte
147aea42f5 Fix underwater switch jump spam issue 2024-12-30 08:33:00 +01:00
Lwmte
5597750c2c Remove abandoned diary code, convert all inventory items to pickups, fix diary savegame 2024-12-28 11:20:25 +01:00
Stranger1992
b27ba26b6b Update bug_report.yaml 2024-12-27 21:22:13 +00:00
Lwmte
382f778fa2 Bump version, add runtime checks 2024-12-27 19:45:31 +01:00
Lwmte
36fa14f5ac Update CHANGELOG.md 2024-12-27 18:16:36 +01:00
Lwmte
9ced5c52e2 Fixed occasional crashes with creatures stuck in a sector with no pathfinding set 2024-12-27 16:50:32 +01:00
Lwmte
957151cd56 Update CHANGELOG.md 2024-12-27 14:45:18 +01:00
Lwmte
9b9699c134 Fixed engine not starting from non-Latin paths 2024-12-27 14:29:29 +01:00
Lwmte
505f666545 Fixed #1536 2024-12-27 09:34:11 +01:00
Lwmte
6b2797ee2e Proper fix for previously reverted commit 2024-12-27 09:22:02 +01:00
Lwmte
be627f1005 Revert "Fixed rare case of not being able to start a new game or exit game from main menu"
This reverts commit 89183bbb4e.
2024-12-27 05:06:57 +01:00
Lwmte
89183bbb4e Fixed rare case of not being able to start a new game or exit game from main menu 2024-12-27 01:29:22 +01:00
Lwmte
0c4402468b Update ShaderManager.cpp 2024-12-26 22:23:33 +01:00
Lwmte
2d9f34901b Fixed SMAA shaders recompiling with another filenames 2024-12-26 22:14:47 +01:00
Lwmte
315c5ebbf7 Update CHANGELOG.md 2024-12-26 19:02:12 +01:00
Lwmte
0bc6648c78 Fixed #1539 2024-12-26 19:00:43 +01:00
Lwmte
d028a5ffd0 Fixed #1535 2024-12-26 18:52:24 +01:00
Lwmte
9100406a23 Update CHANGELOG.md 2024-12-26 16:45:55 +01:00
Lwmte
74401de755 Fixed #1540 2024-12-26 16:43:51 +01:00
Lwmte
c67e777271 Add bounds check for shaders 2024-12-26 16:13:41 +01:00
Lwmte
8fb4668dfc Update CHANGELOG.md 2024-12-26 11:19:19 +01:00
Lwmte
575bf6cfb1
Shader manager (#1534)
* Squashed commit of the following:

commit 0543f9146a
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 25 13:49:12 2024 +0100

    Fix bad merge

commit 529ffb50dd
Merge: 329bb52ec a1c76af54
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 25 13:47:26 2024 +0100

    Merge branch 'develop' into realtime_shader_reloading

commit 329bb52ec7
Merge: 3f749b485 ac800ff1e
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 25 13:40:38 2024 +0100

    Merge branch 'develop_mirrors' into realtime_shader_reloading

commit ac800ff1e1
Author: Sezz <sezzary@outlook.com>
Date:   Wed Dec 25 18:23:26 2024 +1100

    Final formatting pass

commit c2b2756725
Author: Sezz <sezzary@outlook.com>
Date:   Wed Dec 25 18:22:59 2024 +1100

    Update RendererFrame.cpp

commit d32eeac7ab
Author: Sezz <sezzary@outlook.com>
Date:   Wed Dec 25 18:15:45 2024 +1100

    Reapply "Formatting pass"

    This reverts commit becd24da93.

commit becd24da93
Author: Sezz <sezzary@outlook.com>
Date:   Wed Dec 25 18:12:43 2024 +1100

    Revert "Formatting pass"

    This reverts commit 88a8ba24de.

commit 88a8ba24de
Author: Sezz <sezzary@outlook.com>
Date:   Wed Dec 25 17:35:39 2024 +1100

    Formatting pass

commit a56d487e30
Author: Jakub <80340234+Jakub768@users.noreply.github.com>
Date:   Wed Dec 25 00:31:11 2024 +0000

    Update CHANGELOG.md

commit 86aad7c7b1
Merge: daa65d4e3 e3ecc3acd
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Dec 24 23:22:50 2024 +0100

    Merge branch 'develop' into develop_mirrors

commit daa65d4e3c
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Dec 24 20:46:01 2024 +0100

    Update CHANGELOG.md

commit 58fc1a8ea0
Merge: 63ffb77bd ee867fb9d
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Dec 24 20:15:28 2024 +0100

    Merge branch 'develop' into develop_mirrors

commit 63ffb77bd6
Merge: b3195ae83 3ea8978c6
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Dec 24 20:07:53 2024 +0100

    Merge branch 'develop' into develop_mirrors

commit b3195ae83f
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Dec 24 20:01:11 2024 +0100

    Update RendererInit.cpp

commit 3f749b4856
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Dec 24 09:10:07 2024 +0100

    Reload shaders on graphic settings change

commit f04dcd42cc
Merge: 63539e4f9 1118b2fb2
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Dec 24 08:57:13 2024 +0100

    Merge branch 'develop_mirrors' into realtime_shader_reloading

commit 1118b2fb22
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Dec 24 08:47:33 2024 +0100

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

commit 63539e4f98
Merge: ca25f8773 32f94c2f2
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Dec 24 01:49:18 2024 +0100

    Merge branch 'develop_mirrors' into realtime_shader_reloading

commit 32f94c2f2a
Merge: e6f4e9e24 c757422f2
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Dec 24 01:35:17 2024 +0100

    Merge branch 'develop' into develop_mirrors

commit e6f4e9e24b
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Dec 24 01:07:20 2024 +0100

    Implement proper soft shadows

commit 9fbcc7b8cf
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Dec 24 00:52:32 2024 +0100

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

commit ca25f87738
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Dec 24 00:51:11 2024 +0100

    Work

commit 12dae8df99
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sun Dec 22 22:55:50 2024 +0100

    Fixed #1524

commit 9df39696a2
Merge: 724953329 6d38bb361
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sun Dec 22 20:45:10 2024 +0100

    Merge branch 'develop' into develop_mirrors

commit 7249533290
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sun Dec 22 20:42:06 2024 +0100

    Fixed postprocessing order and precompile shaders to speed-up loading

commit b75d14184f
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sun Dec 22 19:57:12 2024 +0100

    Fix #1525

commit bcf4dc5497
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sun Dec 22 16:11:53 2024 +0100

    Interpolate Lara flare light, hide target highlighters in binos

commit 9e923a36bb
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sun Dec 22 15:06:27 2024 +0100

    Fixed #1522

commit 1de0d48d58
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sat Dec 21 22:07:46 2024 +0100

    Fixed #1521

commit 7076014c9b
Merge: af097017f b62c8d7c4
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sat Dec 21 20:03:47 2024 +0100

    Merge branch 'develop' into develop_mirrors

commit af097017f5
Merge: 4ed353000 04b659b41
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sat Dec 21 19:32:07 2024 +0100

    Merge branch 'develop' into develop_mirrors

commit 4ed353000d
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sat Dec 21 12:20:05 2024 +0100

    Update title.bin

commit 7a3aea07fa
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sat Dec 21 11:26:49 2024 +0100

    Rename CamOldPos and use more consistent type for it

commit 1748eef34a
Merge: 839f05b3d 0ae388845
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sat Dec 21 10:25:23 2024 +0100

    Merge branch 'develop' into develop_mirrors

commit 839f05b3d1
Merge: e4fe73ffd d75bba698
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sat Dec 21 01:05:36 2024 +0100

    Merge branch 'develop' into develop_mirrors

commit e4fe73ffd5
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sat Dec 21 00:02:53 2024 +0100

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

commit 3f7942eb76
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Fri Dec 20 23:55:15 2024 +0100

    Fix meshswap, if object is not present

commit 40cfaaeb0d
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Fri Dec 20 23:43:27 2024 +0100

    Fixed various binocular / lasersight issues

commit 1ef9a0e7e6
Merge: ca578885a 64c177702
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Thu Dec 19 22:36:14 2024 +0100

    Merge branch 'develop' into develop_mirrors

commit ca578885a2
Author: MontyTRC89 <montyhammet@hotmail.it>
Date:   Thu Dec 19 12:19:07 2024 +0100

    Fixed 3D non-sorted sprites mirroring

commit 288a413400
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Thu Dec 19 08:59:37 2024 +0100

    Continuation of previous fix

commit 60cfe1e2f4
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Thu Dec 19 08:47:24 2024 +0100

    Fix Lara not mirroring when using binoculars

commit 2e17f7f8d9
Merge: a6687654b 625131fbb
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Thu Dec 19 01:40:19 2024 +0100

    Merge branch 'develop' into develop_mirrors

commit a6687654b0
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 18 22:44:00 2024 +0100

    Fixed mirrors on savegame reloading

commit 22460e0edf
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 18 17:01:19 2024 +0100

    Update CHANGELOG.md

commit 842d6345fe
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 18 16:40:25 2024 +0100

    Add option to reflect sprites

commit ab79156bfe
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 18 15:37:25 2024 +0100

    Update RendererDraw.cpp

commit 8ba6a2c286
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 18 14:56:24 2024 +0100

    Spawn mirrored dynamic lights in Lara rooms too

commit 1afa98169f
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 18 14:17:59 2024 +0100

    Rename

commit 6d195dbb63
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 18 13:35:47 2024 +0100

    Reorganize renderer code a little

commit 1f002745f3
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 18 13:14:08 2024 +0100

    Rename fields for consistency

commit 79a8db0655
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 18 12:51:17 2024 +0100

    Remove lambdas

commit b586dce76e
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 18 12:36:58 2024 +0100

    Remove unrelated changes

commit 8cebdae0ef
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 18 12:23:23 2024 +0100

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

commit 38b210013f
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 18 11:55:00 2024 +0100

    Fixed 3D sprites mirroring

commit 2705a5ae7b
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 18 11:09:56 2024 +0100

    Update RendererDraw.cpp

commit 14f6ab36d0
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 18 10:57:59 2024 +0100

    Fixed dynamic lights

commit 85469cb4d4
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 18 10:18:04 2024 +0100

    Fixed billboards, reintroduce ReflectVectorOptionally

commit 3535eddf5d
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 18 03:12:13 2024 +0100

    Remove unnecessary inline, dont reflect room lights

commit bf6ef08c57
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 18 02:44:49 2024 +0100

    More decopypasting, rename inline function, remove unneeded arg

commit 569644f1d4
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 18 02:28:31 2024 +0100

    Decopypaste more mirror-related code

commit 60a59caa53
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 18 01:09:47 2024 +0100

    Update level.cpp

commit 5dd8db198c
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Wed Dec 18 01:07:10 2024 +0100

    Simplify renderer code, remove excessive if statements

commit 31d278a780
Merge: f09b81fc8 88bbe4862
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Tue Dec 17 19:48:18 2024 +0100

    Merge branch 'develop' into develop_mirrors

commit f09b81fc87
Merge: 3e6e9cb61 ab7e25aa7
Author: MontyTRC89 <montyhammet@hotmail.it>
Date:   Sun Dec 15 06:56:26 2024 +0100

    Merge branch 'develop' into develop_mirrors

commit 3e6e9cb61e
Author: MontyTRC89 <montyhammet@hotmail.it>
Date:   Sun Dec 15 06:56:05 2024 +0100

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

commit c5f10777e7
Author: MontyTRC89 <montyhammet@hotmail.it>
Date:   Fri Dec 13 05:20:23 2024 +0100

    Fixed random statics positions while shooting

commit 8978a51bfe
Author: MontyTRC89 <montyhammet@hotmail.it>
Date:   Fri Dec 13 04:51:07 2024 +0100

    Fixed ambient occlusion in mirrored rooms

commit f3afaf47cf
Merge: 4e08942d8 6198975be
Author: MontyTRC89 <montyhammet@hotmail.it>
Date:   Thu Dec 12 06:10:39 2024 +0100

    Merge branch 'develop' into develop_mirrors

commit 4e08942d86
Merge: 265283aac e674b8526
Author: MontyTRC89 <montyhammet@hotmail.it>
Date:   Wed Dec 11 13:43:19 2024 +0100

    Merge branch 'develop' into develop_mirrors;
    Removed RendererMirror references in methods calls;

commit 265283aacf
Author: MontyTRC89 <montyhammet@hotmail.it>
Date:   Wed Dec 11 04:35:20 2024 +0100

    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;

commit f44a04d057
Author: MontyTRC89 <montyhammet@hotmail.it>
Date:   Tue Dec 10 14:57:00 2024 +0100

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

commit 74c74042d5
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sun Dec 8 21:41:51 2024 +0100

    Use emplace_back and camera room number

commit 41b16e5696
Merge: 39f0c131c 9a241dbc8
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sun Dec 8 21:07:44 2024 +0100

    Merge branch 'develop' into develop_mirrors

commit 39f0c131c3
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sun Dec 8 21:02:00 2024 +0100

    Use default argument value for ReadCount

commit c4330a777c
Merge: 374abb27d d96bf4ba8
Author: MontyTRC89 <montyhammet@hotmail.it>
Date:   Sat Dec 7 05:03:24 2024 +0100

    Merge branch 'develop' into develop_mirrors

commit 374abb27d3
Author: MontyTRC89 <montyhammet@hotmail.it>
Date:   Sat Dec 7 05:02:09 2024 +0100

    Implemented mirrors in file format

commit 3e89391776
Merge: ec6ab6413 f9f1f59eb
Author: MontyTRC89 <montyhammet@hotmail.it>
Date:   Fri Dec 6 15:10:05 2024 +0100

    Merge branch 'develop' into develop_mirrors

commit ec6ab64131
Author: MontyTRC89 <montyhammet@hotmail.it>
Date:   Fri Dec 6 15:08:54 2024 +0100

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

commit 2218dd3179
Merge: 92eb4af79 2ee37ea7d
Author: MontyTRC89 <montyhammet@hotmail.it>
Date:   Thu Dec 5 11:54:59 2024 +0100

    Merge branch 'develop' into develop_mirrors;
    Added correct lights to reflected items;

commit 92eb4af796
Author: MontyTRC89 <montyhammet@hotmail.it>
Date:   Thu Dec 5 11:19:11 2024 +0100

    Fixed broken previous commit

commit bb3d0b993b
Author: MontyTRC89 <montyhammet@hotmail.it>
Date:   Thu Dec 5 10:20:32 2024 +0100

    WIP TR4 style mirrors

* Code etiquette

* Recompile AA shaders on graphics settings change

* Fixed code under ifdef

---------

Co-authored-by: Sezz <sezzary@outlook.com>
2024-12-26 11:48:14 +02:00
Lwmte
6105f707db Update RendererFrame.cpp 2024-12-26 10:52:57 +01:00
Lwmte
a9af06e2fa Revert light collector changes which caused static mesh lights to break 2024-12-26 10:52:13 +01:00
Sezz
e888b9d7e1 Move light effect functions to new file; lara_optics.cpp/h -> Optics.cpp/h; Trigger -> Spawn prefix for light effect functions 2024-12-26 15:31:43 +11:00
Jakub
749d6626f9
include description of OnUseItem and OnFreeze 2024-12-26 00:05:24 +00:00
Jakub
7f064da0d6
Merge pull request #1531 from MontyTRC89/develop
Update CHANGELOG.md
2024-12-25 11:14:18 +00:00
Jakub
a1c76af546
Update CHANGELOG.md 2024-12-25 11:13:17 +00:00
Jakub
ff62122c56
Merge pull request #1530 from MontyTRC89/develop
Develop to TEN (new release)
2024-12-25 11:10:59 +00:00
Lwmte
74499ccef2 Revert variable shadow softness for performance reasons 2024-12-25 11:27:58 +01:00
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
Lwmte
0a2d82ab11 Revert "Less frequent updates to CalculateBounce"
This reverts commit 8d20d6f1ca.
2024-12-10 03:01:23 +01:00
Lwmte
8d20d6f1ca Less frequent updates to CalculateBounce 2024-12-09 09:40:57 +01:00
Lwmte
45f515c444 Update savegame.cpp 2024-12-09 02:59:39 +01:00
Lwmte
a71cf7bced Prevent loading of incorrect savegames 2024-12-09 02:46:26 +01:00
Lwmte
8da4d36b54 Update CHANGELOG.md 2024-12-09 01:37:06 +01:00
Lwmte
5df743ac9b Allow camera bounce during flybys 2024-12-09 01:36:50 +01:00
Lwmte
b582601abf Fixed original issue with weapon hotkeys available in binoculars or lasersight mode 2024-12-08 22:40:34 +01:00
Lwmte
9a241dbc80 Fix issues with timer 2024-12-08 19:15:26 +01:00
Lwmte
59ebbc9e11 Debranch vertex effects 2024-12-07 22:44:26 +01:00
Lwmte
d90c98cc60 Rollback DoDistanceFogForVertex 2024-12-07 21:59:23 +01:00
Lwmte
5d293cc75a Fix compile errors with latest VS 2024-12-07 13:09:12 +01:00
Lwmte
d96bf4ba8c Debranch fog calculations 2024-12-06 21:53:45 +01:00
Lwmte
15aee1c5b0 Don't collect shadow casting lights of unsupported types 2024-12-06 21:04:53 +01:00
Lwmte
87373b4c78 Fixed black rooms in case brightest light is not point or spot 2024-12-06 20:36:46 +01:00
Lwmte
f9f1f59eba Fix blob shadows not showing 2024-12-06 00:29:37 +01:00
Lwmte
4a76487620 Update ShaderLight.hlsli 2024-12-06 00:18:29 +01:00
Lwmte
e6dbd363b6 Remove branching in some light functions 2024-12-05 23:46:23 +01:00
Lwmte
936d2ff98e Additional shader optimizations 2024-12-05 22:07:16 +01:00
Lwmte
2ee37ea7de Remove branching from ShaderLight as well 2024-12-05 08:59:57 +01:00
Lwmte
d6cf25f16e Remove light calculation branching which caused extreme slowdowns 2024-12-05 08:49:10 +01:00
l.m. (Leif Melles)
4f2a0b0554
Fixed SetIntroImagePath() (#1498)
* Fixed SetIntroImagePath()

Fixed SetIntroImagePath() not using the correct path

* Update RendererDrawMenu.cpp

---------

Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
2024-12-05 03:27:26 +02:00
Lwmte
e17080c95c Draw HUD and display sprites only when game status is normal 2024-12-04 20:58:05 +01:00
Lwmte
ecddc1a330 Fixed #1491 2024-12-04 02:59:50 +01:00
Lwmte
a2681cb0d3 Fix error for infinite strings showing without extra args 2024-12-04 01:21:17 +01:00
Lwmte
8679e63b89 Rollback room point light formula 2024-12-03 00:12:59 +01:00
Lwmte
1f1d3b2aad Delete old documentation when recompiling 2024-12-02 23:57:17 +01:00
Lwmte
9642118cfa Fixed #1499 2024-12-02 02:56:09 +01:00
Lwmte
dbaaf9fd5e Fixed #1500 2024-12-02 02:48:28 +01:00
Lwmte
364458d68a Update RendererDraw.cpp 2024-12-02 01:19:05 +01:00
Lwmte
bc25908726 Simplify and optimize light collector 2024-12-01 23:47:19 +01:00
Lwmte
bc20b9194f Remove double light calculations from the room shader 2024-12-01 23:43:22 +01:00
Lwmte
5ab627af83 Revert unneeded code, as display adapter name is showing in debug page 2024-12-01 22:31:56 +01:00
Lwmte
dc0b746c31 Fixed BitField class bottleneck 2024-12-01 22:27:33 +01:00
Lwmte
8edd446a6d Simplify light and shadow light collection 2024-11-30 18:43:39 +01:00
Lwmte
a4d620d7fd Rollback ShaderLight 2024-11-29 01:08:16 +01:00
Lwmte
12ea734bb7 Fixed #1493 2024-11-29 00:08:30 +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
db7f864858 Fix savegames not loading from menus 2024-11-27 22:36:10 +01:00
Lwmte
554661d913 Fix problems with lensflares not appearing in binocular/lasersight mode 2024-11-27 16:32:19 +01:00
Lwmte
4f09ca48f8 Fixed #1490 2024-11-25 03:30:02 +01:00
Lwmte
ab9debfb94 Add anamorphic glare to a lensflare 2024-11-24 18:09:18 +01:00
Lwmte
0395adfdc9 Tint sun sprite according to lensflare color 2024-11-24 13:59:11 +01:00
Lwmte
27d3ca7bb9 Update sound.cpp 2024-11-24 13:26:51 +01:00
Lwmte
19be42911c Revert "Add simple safety checks to RNG"
This reverts commit 202c94f02e.
2024-11-24 13:20:56 +01:00
Lwmte
a74bb4e584 Fix debris garbage frame on 60 FPS 2024-11-24 13:13:17 +01:00
Lwmte
4e934ee050 Remove unnecessary hardcoded default sound effect condition 2024-11-24 13:13:17 +01:00
Sezz
202c94f02e Add simple safety checks to RNG 2024-11-24 21:28:07 +11:00
Lwmte
e5e625d78b Restore ldoc comment 2024-11-23 14:22:23 +01:00
Lwmte
9f8ea9e13c Revert "Changed/Fixed enemy jeep behaviour (#1395)"
This reverts commit 267fecb063.
2024-11-23 02:40:13 +01:00
Lwmte
a7a28285ba Move default radius discard to item control function 2024-11-22 20:53:29 +01:00
Lwmte
546a72c5c8 Implement OCB for lensflare objects which specifies falloff in sectors 2024-11-22 20:40:25 +01:00
Lwmte
df4a664020 Remove unused block 2024-11-22 20:24:51 +01:00
Lwmte
e093b07c8c Further optimizations to lensflare code 2024-11-22 20:24:40 +01:00
Lwmte
63277cc29d Update CHANGELOG.md 2024-11-21 18:40:35 +01:00
Lwmte
71f6cf5b64 Remove boulder death from special death anims, as it's causing troubles 2024-11-21 18:28:31 +01:00
Lwmte
b5fa51b2dc Recompile docs for 1.6, version update 2024-11-21 18:27:42 +01:00
Lwmte
3a649d612d Fix issues with lensflare occlusion 2024-11-21 17:25:15 +01:00
Lwmte
9fad7eec50 Fix mistake in documentation 2024-11-21 16:41:18 +01:00
Lwmte
f455dd1c91 Remove hardcoded ricochet sound condition 2024-11-21 16:11:04 +01:00
Lwmte
ddfeaf5fa2 Update CHANGELOG.md 2024-11-21 15:42:23 +01:00
Lwmte
1695f4eeb8 Update version.h 2024-11-21 15:24:12 +01:00
Lwmte
9e54c8dd0b Add safeguards in level reader to throw exception if data sizes are inconsistent 2024-11-21 15:17:54 +01:00
Lwmte
c484f8aa84 Enhanced lensflare effects, fix ray test, discard flares behind camera 2024-11-21 14:55:59 +01:00
Lwmte
81a8922f1d Fixed global lensflare distance calculations, add object culling, add fade on visibility 2024-11-21 12:14:19 +01:00
Lwmte
1267effe08 Fixed Util.HasLineOfSight not accounting for statics 2024-11-21 11:10:22 +01:00
Lwmte
86cee87ecd Bump version 2024-11-21 02:41:54 +01:00
Lwmte
64b100561a Don't pollute DumpGameScene with unrelated flag 2024-11-21 02:09:15 +01:00
Lwmte
85a456a4f1 Update CHANGELOG.md 2024-11-21 00:11:40 +01:00
Lwmte
bdf67b75dc
Decoupled sound conditions (#1484)
* Convert sound conditions to a new format

* Convert animcommands to int

* Update flipeffect.cpp

* Update winmain.cpp
2024-11-21 01:02:00 +02:00
Lwmte
3bf00ad18c Implement StaticHandler class to properly handle LUT 2024-11-20 23:00:05 +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
88f21a98d4
Update CONTRIBUTING.md 2024-11-20 21:51:22 +11:00
MontyTRC89
116c3d71fc Merge branch 'develop' of https://github.com/MontyTRC89/TombEngine into develop 2024-11-20 09:09:31 +01:00
MontyTRC89
1de0f27511 Switched to LUT for statics 2024-11-20 09:09:23 +01:00
Lwmte
f218644703 Update CHANGELOG.md 2024-11-20 08:21:56 +01:00
Joey Quint
db68eeaca3
Expose wind (#1465)
* Expose wind

* Update EffectsFunctions.cpp

---------

Co-authored-by: Sezz <sezzary@outlook.com>
2024-11-20 09:15:26 +02:00
Lwmte
2d0d13c620 Implement GetCollidable and SetCollidable lua methods for moveables 2024-11-20 08:18:27 +01:00
MontyTRC89
e3510c3204 Merge branch 'develop' of https://github.com/MontyTRC89/TombEngine into develop 2024-11-20 05:59:14 +01:00
MontyTRC89
e7fd154fc9 Fixed dual paraboloid scene rendering in prevision of adding better ambient lighting 2024-11-20 05:59:04 +01:00
Sezz
d070bc756f Use Quaternion::Identity 2024-11-19 15:48:13 +11:00
Lwmte
545378d967 Update CHANGELOG.md 2024-11-19 01:38:16 +01:00
Lwmte
534ac3876a Fixed occasional crashes if there are static meshes placed within room border walls 2024-11-18 23:32:35 +01:00
Lwmte
9ea15571a8 Fixed quaternion conversion crash if 2 hair joints share the same offset 2024-11-18 20:48:20 +01:00
Sezz
483ead3203 Fix missed illegal -> steep rename 2024-11-18 22:12:15 +11:00
Sezz
231bea0c1e Remove MAX_STATICS constant 2024-11-18 19:31:28 +11:00
Sezz
57a151af2a "Num" prefix -> "count" suffix 2024-11-18 19:24:57 +11:00
Sezz
f9c25a1862 Remove "Num" prefix from level load logs 2024-11-18 18:58:32 +11:00
Sezz
cfbba4b741 Don't create static object copies in loops; readability 2024-11-18 17:38:21 +11:00
MontyTRC89
bb975cda58 Fixed changelog 2024-11-18 06:27:39 +01:00
MontyTRC89
59139b373c Merge branch 'develop' of https://github.com/MontyTRC89/TombEngine into develop 2024-11-18 06:25:49 +01:00
MontyTRC89
68114b03e2 Removed statics limit 2024-11-18 06:25:43 +01:00
Lwmte
b41d591d93 Fixed stutter during jumps between cameras in a flyby sequence 2024-11-18 01:49:42 +01:00
Lwmte
c380a74bb0 Fixed falling through tilted bridges 2024-11-18 01:23:34 +01:00
Lwmte
ab979b8487 Fix event status not saving 2024-11-17 12:43:52 +01:00
Lwmte
ec170b8aee Fixed pickup trigger for search object 4 as well 2024-11-17 11:00:43 +01:00
Lwmte
656158874c Another attempt at fixing #1483 2024-11-16 23:42:02 +01:00
Lwmte
540150a41a Revert "Fixed #1483"
This reverts commit 08137298cc.
2024-11-16 23:41:42 +01:00
Sezz
26adcee7b1 Slight floordata optimisation 2024-11-17 03:33:14 +11:00
Sezz
ef19187f83 Formatting 2024-11-16 22:19:32 +11:00
Sezz
2624c5bed2 Formatting 2024-11-16 22:07:57 +11:00
Lwmte
99a4c68417 Add GetNextLevel and make load game behaviour consistent with scripting API 2024-11-16 10:49:52 +01:00
Lwmte
7f4242521a Fixed crash on leveljump, if collision callbacks were assigned 2024-11-16 10:20:28 +01:00
Lwmte
3bdb0b367b Fixed #1481 2024-11-16 09:58:09 +01:00
Lwmte
08137298cc Fixed #1483 2024-11-16 04:35:20 +01:00
Lwmte
e02e1db1ba Fixed #1482 2024-11-16 03:15:22 +01:00
Lwmte
f39d2ce250 Fixed incorrect loading of dummy title file in case of real levels are missing 2024-11-16 02:07:56 +01:00
Lwmte
8ff1e5ed0d Fixed #1480 2024-11-16 00:56:50 +01:00
Sezz
040fd06afe Optimise Vector2i and Vector3i distance methods 2024-11-15 21:13:33 +11:00
Sezz
2ddd482a80 Correct sound conditions 2024-11-15 21:03:30 +11:00
Stranger1992
c74d110654 Removed orphaned header file
Moved ldoc comments .
2024-11-15 01:30:46 +00:00
Lwmte
eb0390a23b Fix default looped track fade-in 2024-11-15 02:18:12 +01:00
Stranger1992
d3e0cc30d8 Merge branch 'develop' of https://github.com/MontyTRC89/TombEngine into develop 2024-11-15 00:53:11 +00: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
ee6a661ed0 Move DumpGameScene call to appropriate place 2024-11-15 01:40:26 +01:00
Lwmte
03d93bcb2a Prioritize ogg format over mp3, bump version 2024-11-15 01:00:57 +01:00
Lwmte
74f1d2640e Update CHANGELOG.md 2024-11-15 00:25:09 +01:00
Lwmte
3737613b1a Fixes to previous commit 2024-11-15 00:16:48 +01:00
Lwmte
43fd531689 Reorganize game loop to support load cameras 2024-11-14 23:47:18 +01:00
Lwmte
ee3df1680b Fixed incorrect clipping of scaled static meshes 2024-11-14 22:47:56 +01:00
Lwmte
849e0557da Reduce load menu timeout on death to 15 game frames 2024-11-14 19:37:46 +01:00
Lwmte
8bb955cc08 Fix collision callbacks for Lara 2024-11-14 19:31:53 +01:00
Lwmte
d8b522343f Fixed DOZY memory corruption 2024-11-14 00:52:51 +01:00
Lwmte
5254cc1daf Update CHANGELOG.md 2024-11-13 23:59:00 +01:00
Lwmte
4aa1bb81d1 Hide dummy title level from user 2024-11-13 23:57:23 +01:00
Lwmte
8a82b0c891 Fixed DisplayString class not supporting empty lines in multiline strings 2024-11-13 23:31:29 +01:00
Lwmte
369e1ca967 Fixed GetTargetOnLOS returning incorrect results with fixed LOS function 2024-11-13 22:29:52 +01:00
Lwmte
09e354a33a Fixed dart emitter not deactivating 2024-11-13 01:14:27 +01:00
Lwmte
0ab2e40257 More correct way of initializing bridges on load game 2024-11-13 01:13:38 +01:00
Jakub
4761feb45d
Update CHANGELOG.md 2024-11-12 11:27:29 +00:00
Lwmte
3606f7637b Update CHANGELOG.md 2024-11-12 09:24:05 +01:00
Lwmte
0d8b83cf42 Fixed #1473 2024-11-12 09:20:28 +01:00
Lwmte
372afb4e8f Update CHANGELOG.md 2024-11-12 08:06:59 +01:00
Lwmte
cd30a9e5e8 Reallocate item renderer array according to real moveable count 2024-11-12 08:03:22 +01:00
Lwmte
5f884cd84c Autocreate /data directory for title level, if it does not exist 2024-11-12 08:02:05 +01:00
Lwmte
3e605e1dda Add safeguard against silent crashes if file format is incorrect 2024-11-12 08:02:05 +01:00
Sezz
d32c1350b7 Remove pointless loop 2024-11-12 16:12:29 +11:00
Sezz
890dd5720f Improve fly cheat 2024-11-12 16:01:38 +11:00
Lwmte
1f89c23537 Rename title.ten to title.bin 2024-11-11 16:11:31 +01:00
Lwmte
5db8e98611 Restore old condition for look camera as well 2024-11-11 16:01:49 +01:00
Lwmte
5f43caf7a2 Update version.h 2024-11-11 15:49:52 +01:00
Lwmte
84ac5652b9 Embed simple title level 2024-11-11 15:35:33 +01:00
Lwmte
8a10fba156 Update version.h 2024-11-11 14:04:50 +01:00
Lwmte
5825bdee09 Add more clean version management and test build warning 2024-11-11 13:32:52 +01: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
b79d662b13 Fixed bubbles performance 2024-11-11 11:48:59 +01:00
Lwmte
87b9c3caac Fixed #1451 2024-11-11 10:13:48 +01:00
Lwmte
78c0ba3ff0 Add ricochet sound and increase amount of particles 2024-11-11 09:40:34 +01:00
Lwmte
abf69f120e Fixed #1468 2024-11-11 09:10:54 +01:00
Lwmte
6c848dcfae Fixed #1467 2024-11-11 08:50:53 +01:00
Lwmte
d562b9f433 Less snappy behaviour when exiting look to chase camera 2024-11-11 08:31:36 +01:00
Lwmte
9494c999e7 Fixed incorrect camera movement near walls after leaving look mode 2024-11-11 08:04:58 +01:00
Lwmte
3b252848c5
Displaystring alpha (#1453)
* Support for alpha in display strings

* Update CHANGELOG.md

* Fix alpha

* Potentially fix problems with alpha blend
2024-11-10 18:23:17 +02:00
Lwmte
6eca0548c6 Exclude some ToBoundingOrientedBox conversions 2024-11-10 17:23:50 +01:00
Lwmte
f057770696 Fixed incorrect object camera position 2024-11-10 08:07:18 +01:00
Lwmte
908fc61283 Fix inventory item cancel 2024-11-09 23:12:29 +01:00
Lwmte
b5502103c0 Fix lensflare object 2024-11-09 18:59:22 +01:00
Lwmte
2b5e1cf448 Simplify action queue code, fix potential problem with scripted keypresses 2024-11-09 08:23:28 +01:00
Lwmte
718997336b Fix git merge error 2024-11-09 08:10:52 +01:00
Lwmte
ed434aaffe Update room.cpp 2024-11-09 00:13:27 +01:00
Lwmte
50a7fa3b17 Return false for IsPointInRoom for inactive flipped rooms 2024-11-09 00:06:40 +01:00
Lwmte
506ee0f088 Fixed #1459 2024-11-08 23:26:15 +01:00
Lwmte
06a70d364f Fixed #1455 2024-11-08 23:19:52 +01:00
Lwmte
222e67e493 Fixed weather particles performance 2024-11-07 23:44:31 +01:00
Sezz
43c8f8658b Improve code clarity 2024-11-07 19:36:54 +11:00
Lwmte
b8684a9587 Fixed enemy pickups dropping on death sectors 2024-11-07 08:23:58 +01:00
Lwmte
542597ada2 Don't use static variable for flyby interpolation, as it may be very slow 2024-11-07 00:24:37 +01:00
Lwmte
3153da6779 Change SpawnDustParticles method to avoid spamming bridge checks 2024-11-07 00:13:56 +01:00
Lwmte
516c340ac5 Add bridge result cache, only fetch nearby blocks for debug if debug page is CollisionStats 2024-11-07 00:13:19 +01:00
Lwmte
3897c4e02d Update CHANGELOG.md 2024-11-06 09:18:13 +01:00
Lwmte
efe34ad9c9 Faster bridge checks 2024-11-06 08:45:27 +01:00
Sezz
aafb59eaab Add forgotten argument 2024-11-04 18:43:19 +11:00
Sezz
1456b00907 Pass player global as argument 2024-11-04 15:41:44 +11:00
Stranger1992
d256fe1efe Update bug_report.yaml 2024-11-03 22:19:11 +00:00
Lwmte
710f04596b Merge branch 'develop' 2024-11-03 18:37:17 +01:00
Lwmte
0b5ea0db77 Update Resources.rc 2024-11-03 18:01:18 +01:00
Sezz
46d75a3e8f Fix water tread climbout take 2 2024-11-04 02:47:24 +11:00
Jakub
04da97479d
Update CHANGELOG.md 2024-11-03 14:19:01 +00:00
Jakub
1affcce9b9
Update CHANGELOG.md 2024-11-03 14:18:34 +00:00
Jakub
0712af9d5b
Update CHANGELOG.md 2024-11-03 14:17:12 +00:00
Jakub
fae8744e4b
Update CHANGELOG.md 2024-11-03 14:16:05 +00:00
Jakub
815498ec8a Merge branch 'develop' 2024-11-03 13:51:09 +00:00
Lwmte
c3365f3a38
Update README.md 2024-11-03 14:53:22 +02:00
Lwmte
7c50d26ca8 Delete unneeded resource file 2024-11-03 13:57:19 +01:00
Jakub
d81fce22ad Merge branch 'develop' 2024-11-03 12:35:58 +00:00
Lwmte
98d6463613 Delete TombEngine - Backup.vcxproj.user 2024-11-03 13:33:46 +01:00
Lwmte
82c2ba37cb Rebranding 2024-11-03 13:21:26 +01:00
Adngel
a962a17f66
Adngel fix death camera (#1449)
* Update function

* Adding comments.

* Function renamed

Function renamed and conditionals separated for clarity.

* Extracted Camera data modifications

Extracted commands that changes camera data, from the camera code, and moved them into the objects coded to follow similar logic with other cases (like enemies that change these values from their control code).

Leaving a simplified CalculateDeathCamera() function.

* Update tr5_rollingball.cpp

Not really needed, so I removed it to keep consistency with the other calls.

Also edited values adding the .0f for same reasons.
2024-11-03 14:08:59 +02:00
Lwmte
4aac07c0c4 Fixed binocular bugs 2024-11-03 12:11:49 +01:00
Lwmte
f51d499e68 Regenerate documentation 2024-11-03 11:39:16 +01:00
Lwmte
d72208cfb3 Remove another unnecessary flag assignment 2024-11-03 10:56:52 +01:00
Lwmte
4a8d66d077 Update Objects.ObjID.html 2024-11-03 10:54:23 +01:00
Lwmte
8a809877c4 Disable flyby camera interpolation in cases when it travels too far 2024-11-03 10:50:46 +01:00
Lwmte
83981b369e Bump version to reflect release state 2024-11-03 09:30:44 +01:00
Lwmte
856dccad1f Swap debug pages 2024-11-03 09:30:44 +01:00
Lwmte
f1f2d165c5 Fixed camera behaviour on sloped surfaces after player's death 2024-11-03 09:30:43 +01:00
Sezz
79679554e3 Merge branch 'develop' of https://github.com/MontyTRC89/TombEngine into develop 2024-11-03 18:26:47 +11:00
Sezz
bc5df6af98 Format recent merges 2024-11-03 18:23:48 +11:00
Stranger1992
2b020b664d Fixed the CUSTOM_AMMO_GRAPHIC not appearing in the Lua API 2024-11-02 22:12:35 +00:00
Lwmte
eec17d9f30 Add comment 2024-11-02 20:03:51 +01:00
Lwmte
7d4e29ee07 Fixed room clipping when flyby path goes out of room bounds 2024-11-02 19:51:40 +01:00
Lwmte
45fca95385 Added recompiled doc files 2024-11-02 19:26:40 +01:00
Lwmte
78cefae27b Fixed broken ropes after loading a savegame 2024-11-02 19:26:22 +01:00
Stranger1992
7196210da9
Custom bars (#1432)
* Add Custom Bar Graphic slot

* Add ID_CUSTOM_AMMO_GRAPHIC slot

Used for nodes in Tomb Editor
2024-11-02 14:46:02 +02:00
Joey Quint
840b32fb71
Expose moveable's target state to Lua API (#1436) 2024-11-02 14:44:27 +02:00
Lwmte
c20cfffabd Bump version 2024-11-02 12:36:48 +01:00
Lwmte
35319cc811
Load after death (#1442)
* Initial commit

* Don't open load game dialog if no savegames are present

* Block empty load menu only only on death events

* Update CHANGELOG.md

* Add braces and define constant

---------

Co-authored-by: Sezz <sezzary@outlook.com>
2024-11-02 13:30:24 +02:00
Sezz
132517993b Update hang swing in check 2024-11-02 18:55:41 +11:00
Lwmte
aac4316e71 Fixed incorrect swing ledge grabs with steep grab angles 2024-11-02 08:31:28 +01:00
Lwmte
d49d322766 Fix incorrect bridge thickness calculation 2024-11-02 07:24:52 +01:00
Sezz
e186f48b3f Conventions 2024-11-02 16:25:00 +11:00
Lwmte
8060cc8706
Update README.md 2024-11-01 23:37:00 +02:00
Lwmte
b82054f1ad Skip recompiling savegame.cpp, if flatbuffers schema files weren't changed 2024-11-01 21:45:51 +01:00
Lwmte
c6165da100 Update camera.cpp 2024-11-01 09:19:31 +01:00
Lwmte
c6e7fae88f Display portal corners and camera room number in portal debug mode, reduce depth to 1 2024-11-01 09:03:06 +01:00
Lwmte
f00576340a Always treat static meshes as solid when Lara is in the shimmy mode 2024-11-01 08:47:02 +01:00
Lwmte
00cc4b93a9 Move some text stats to portal debug page 2024-11-01 07:46:26 +01:00
Lwmte
55c5070453 Update camera.cpp 2024-11-01 00:31:10 +01:00
Lwmte
dbe1a59650 Debug portals 2024-11-01 00:17:23 +01:00
Lwmte
61e82c0033 Throw warning instead of error if level script was not found 2024-10-31 20:46:23 +01:00
Lwmte
3a928a99a9 Fix build action paths 2024-10-31 20:45:07 +01:00
Sezz
20c6c6f95c Reduce distance for water tread climb out check 2024-10-31 21:09:26 +11:00
Lwmte
cbcbde8e6d Update post-build events and automatically copy scripts 2024-10-31 00:36:44 +01:00
Nemoel-Tomo
30e053dc93
Update AUTHORS.md
- Tomo (general coding, special FX coding, bug fixing)
2024-10-30 18:00:21 +01:00
Lwmte
8afb19cdd0
Update pull_request_template.md 2024-10-30 16:14:47 +02:00
Lwmte
7f584c76aa
Update README.md 2024-10-30 12:30:06 +02:00
Lwmte
5b4b60fcda
Update README.md 2024-10-30 12:06:38 +02:00
Lwmte
e936507b52
Update README.md 2024-10-30 12:04:06 +02:00
Lwmte
9d31f26dd8 Update CHANGELOG.md 2024-10-30 10:42:55 +01:00
Lwmte
f7f347986b Decopypaste cam matrix update 2024-10-30 09:21:24 +01:00
MontyTRC89
1ba72e669c Merge branch 'develop_60fps' into develop 2024-10-30 06:19:10 +01:00
MontyTRC89
f9f727122b Fixed controls settings rendering 2024-10-30 06:17:32 +01:00
Lwmte
29dff9016c Rearrange control loop a little more 2024-10-30 00:28:35 +01:00
Lwmte
b3b8356731 Fix title flyby interpolation 2024-10-30 00:19:42 +01:00
Lwmte
6b35cae804 Fix garbage frame when switching from/to flyby camera 2024-10-29 21:44:37 +01:00
Lwmte
999c6e8314 Save camera position in a savegame 2024-10-29 21:16:46 +01:00
Lwmte
eb820fad63 Update CHANGELOG.md 2024-10-29 08:44:12 +01:00
Lwmte
21f42c0a4c Optimize GetCollidedObjects to avoid extra bound conversions 2024-10-29 08:43:38 +01:00
Lwmte
2c93dad6f0 Fixed display sprites and display strings rendering in the inventory background 2024-10-29 08:10:25 +01:00
MontyTRC89
91faf6406c Merge branch 'develop' into develop_60fps 2024-10-29 06:01:19 +01:00
MontyTRC89
5f974935b4 Fixed black screen and stretched strings after changing display settings in game. 2024-10-29 06:01:03 +01:00
Adngel
0faa11a882 Update collide_item.cpp
Updated non-collidable volumes check.
2024-10-28 15:05:50 +01:00
Adngel
0a8eb65de3 Fix Collision with no-collidable statics.
With this check, statics with Extents 0 in the three axis, will be ignored for the collision checks.
2024-10-28 12:28:16 +01:00
Sezz
1e89416098 Fix water tread climb out 2024-10-28 21:50:08 +11:00
Lwmte
4bbc30b0e5 Decopypaste camera interpolation 2024-10-28 07:46:28 +01:00
Lwmte
2ded586f1a Added visible mouse pointer in windowed mode 2024-10-28 00:29:39 +01:00
Lwmte
407ae147bd Reapply death block flag fix, because the bug was still present in 1.2 as well 2024-10-27 23:28:25 +01:00
Lwmte
1c2945de62 Revert "Fixed incorrect detection of death flag in L-shaped portal setups"
This reverts commit 20229be3b1.
2024-10-27 21:33:42 +01:00
Lwmte
20229be3b1 Fixed incorrect detection of death flag in L-shaped portal setups 2024-10-27 21:12:51 +01:00
Lwmte
23ab42cfa3 Fixed #1435 2024-10-27 20:21:47 +01:00
Lwmte
f85376ddca Fix garbage frames for newly drawn or triggered items 2024-10-27 18:41:54 +01:00
TokyoSU
5acb5f6483
Fixed bitwise for itemStatus (#1434)
* Fixed bitwise for itemStatus
* Update items.h
2024-10-27 18:55:54 +02:00
Adngel
317edbf5cb Fix underwater buoyant pushables.
Moved the lines:

pushableColl.FloorHeight = pointColl.GetFloorHeight();
pushableColl.CeilingHeight = pointColl.GetCeilingHeight();

Inside of the previous if, because if it uses bridge collision, this must be deactivated to avoid wrong results.

and "auto pushableColl = PushableCollisionData{};" was moved before the if so it were ready.
2024-10-27 13:00:55 +01:00
Lwmte
67c8e33570 Another attempt at fixing item status 2024-10-27 11:14:16 +01:00
Lwmte
627a30dc78 Update CHANGELOG.md 2024-10-27 10:32:12 +01:00
Lwmte
47088ba978 Another attempt at fixing item status bug 2024-10-27 09:53:25 +01:00
Lwmte
7b5129a6d8 Possibly fix antitriggering 2024-10-27 09:33:28 +01:00
Lwmte
cfdf7af404 Fix pickups pushed above climbable blocks 2024-10-27 09:30:18 +01:00
Lwmte
b3ae526726 Update CHANGELOG.md 2024-10-27 08:58:07 +01:00
Lwmte
e3ca14f84f Fix problem with player falling through dynamic bridges 2024-10-27 08:55:05 +01:00
Lwmte
d08f881d1e Rearrange some control phase calls 2024-10-26 22:25:14 +02:00
Lwmte
2e3fdc2942 Hide menu looping option from UI 2024-10-26 21:54:23 +02:00
Lwmte
e89647d1b5 Update CHANGELOG.md 2024-10-26 21:50:23 +02:00
Lwmte
e566319f44 Update CHANGELOG.md 2024-10-26 21:49:46 +02:00
Adngel
7b7eb8f49f
Adngel smoke emitter update (#1377)
* Update tr5_smoke_emitter.cpp

* Created namespace and more update

* Update tr5_smoke_emitter.cpp

* Update tr5_smoke_emitter.cpp

* New OCBs

* Update tr5_smoke_emitter.cpp

- Removed displacement (So no more OCB &1) to avoid conflict with other formulas
- Removed deprecated OCB 111
- Changed OCB for no Damage from &2 to <0, to avoid conflict with other formulas.
- Changed OCB&8 to OCB > 0 to simplify formula
- Enhaced steam shot particles direction to accept Pitch rotations
- Created ItemFlags[3] to contain bit flags (Fla (0) used for the No-Damage setting)
- Created enum for the flags used in ItemFlags[3]

* Fix: Pitch <-> Yaw formula

* Formatting

* Updated feedback

* Sounds update

* Formatting

* Rename file

* Constants

* SFX Reorganisation (#1384)

* Updated SFX for Steam Emitter.

Additionally, divided the SFX List with comments for better readability and revised names for custom footstep enums.

* Updated sound_effects.h.

* Refined comments and names.

---------

Co-authored-by: Sezz <sezzary@outlook.com>

* Define various constants

* Fix Vel Y when pointing downwards

* Reduced damage time Interval

Reduced damage time Interval to increase the damage received by the steam shot.

* Squashed commit of the following:

commit bc6bf2c5a4
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Mon Sep 30 11:44:09 2024 +0200

    Fix speedboat / rubber boat on leveljumps

commit 5f7ac065d1
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Mon Sep 30 11:42:50 2024 +0200

    Show relative anim number in stats

commit ca87efa4fd
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sat Sep 28 18:59:09 2024 +0200

    Possibly fix minecart wrench

commit 3a0e703d1d
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sat Sep 28 18:45:34 2024 +0200

    Fix Lara meshswaps after kayak dismount after leveljump

commit ef751cf236
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sat Sep 28 17:29:27 2024 +0200

    Fixed #1405

commit 3dafdf44e3
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Mon Sep 23 19:58:56 2024 +0200

    Update kayak.cpp

commit 90effcdc58
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Mon Sep 23 01:17:15 2024 +0200

    Update CHANGELOG.md

commit 1b95946db9
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Mon Sep 23 01:04:19 2024 +0200

    Fix kayak and minecart meshswaps on leveljump

commit f8f20a071c
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Mon Sep 23 00:23:49 2024 +0200

    Fixed leveljump vehicle transfer

commit d62ae232ee
Author: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Date:   Sun Sep 22 09:48:22 2024 +0100

    Change player HAIR enumerations

commit 29c2363141
Author: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Date:   Sun Sep 15 21:24:16 2024 +0100

    Update CHANGELOG.md

commit a98ed141cc
Author: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Date:   Sun Sep 15 15:13:36 2024 +0100

    Update CHANGELOG.md

    Contains listings for branches to be merged for the next release.

commit feee7c8285
Author: Sezz <sezzary@outlook.com>
Date:   Thu Sep 5 23:02:24 2024 +1000

    Update InputAction class

commit b318179bb9
Author: Sezz <sezzary@outlook.com>
Date:   Sun Sep 1 22:25:40 2024 +1000

    Organise Lua room class

commit a9516cd7f7
Author: davidmarr <116632612+davidmarr@users.noreply.github.com>
Date:   Sun Sep 1 13:13:20 2024 +0200

    Add Room:GetRoomNumber() method (#1401)

    * add RoomGetRoomNumber() method

    * Update CHANGELOG.md

    * fix GetReverbType() method

    * Update MoveableObject.cpp

    Modified Moveable() function description for consistency

commit cccd0d9bfb
Author: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Date:   Sat Aug 31 15:23:01 2024 +0100

    level.rumble sound effect parameters exposed to user

    Formally: this was hardcoded in TR5 to the klaxon from the Sinking Submarine level. I have moved this to a new sound enum in the default soundmap and removed the pitch shift as this can be set in the XML by the user.  This change has also been documented on the TombEngine website.

commit 60b9055d0a
Author: Sezz <sezzary@outlook.com>
Date:   Tue Aug 27 19:17:57 2024 +1000

    Add F12 as alternative to PrtSc for screenshots

commit 806c052ff5
Author: Sezz <sezzary@outlook.com>
Date:   Sun Aug 18 22:58:50 2024 +1000

    Fix GetBoneOrientation()

commit f85769f3ca
Author: TokyoSU <77746747+TokyoSU@users.noreply.github.com>
Date:   Sat Aug 17 19:10:04 2024 +0200

    Update RendererCompatibility.cpp

* Rename PARTICLE_COUNT_MAX to MAX_PARTICLES

* Update effects.h

* Revert rename

* Revert rename

* Fix typo

---------

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-10-26 22:28:29 +03:00
Lwmte
4e7fbf18ce
Merge pull request #1362 from MontyTRC89/develop_60fps
60 FPS, starfield, lens flare
2024-10-26 22:18:56 +03:00
Lwmte
76dd26bb57 Fix merge errors 2024-10-26 21:19:52 +02:00
Lwmte
c8a49e413f Merge branch 'develop' into develop_60fps 2024-10-26 21:12:37 +02:00
Lwmte
ac63d0b178
Implement pickup count modification via hitpoints (#1426)
* Implement pickup count modification via hitpoints

* Always show picked up ammo and consumable count
2024-10-26 21:52:12 +03:00
TokyoSU
267fecb063
Changed/Fixed enemy jeep behaviour (#1395)
* Enemy Jeep WIP

* Update EnemyJeep.cpp

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Fix CreatureBiteInfo requiring vector3 instead

* Re-enable collision with enemy jeep.

- But still avoid him getting killed with vehicle colliding him !

* Fix formatting

* Formatting

* Update to bug report form

* Update bug_report.yaml

* Revert rename

* Fix errors and typos

* Update effects.cpp

* Remove redundant FindAiTargetObject variation, rename struct

* Fix typo

* Remove jeep hack from DoObjectCollision and replace it with other solution

---------

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-10-26 21:50:37 +03:00
Lwmte
60f3c3d8c5 Fix shaky track camera 2024-10-26 20:43:03 +02:00
porzell
0c15fdbe61
Allow more access to Moveable joint info in Lua (#1386)
* Allow more access to Moveable joint info in Lua
- Added Lua support to correspond with optional 'offset' parameter in GetJointPosition() for moveables
- Added Lua support for GetJointRotation() for moveables

* Update CHANGELOG.md
* Update MoveableObject.cpp
- Fixed typos and clarified doc comments
* Update MoveableObject.cpp

---------

Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
2024-10-25 22:19:47 +03:00
l.m. (Leif Melles)
ff0b1cc085
Replaced static limiting array for Flame Emitters to unlimited std::vector (#1424)
* Increase active Flame Emitters from 32 to 128
* Replaced static limiting array for Flame Emitters to unlimited std::vector
* Flame Emitter Vector changes
* Update vector for flame
* Include vector
* Remove Default Fire Count
* Remove it again
* Rename on field to fade

---------

Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
2024-10-25 21:38:10 +03:00
l.m. (Leif Melles)
5f008f4562
Movable GetStatus() fix for antitrigger (#1421)
* Update to bug report form
* Update bug_report.yaml
* get movable status fix
* get movable status fix
* Update CHANGELOG.md

---------

Co-authored-by: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
2024-10-25 21:37:42 +03:00
Lwmte
4bf3b1dfd7 Merge branch 'develop' into develop_60fps 2024-10-25 08:43:58 +02:00
Lwmte
53e7ca0972 Decopypaste sync code, rename variable framerate to high, remove unused variables 2024-10-25 08:43:45 +02:00
Lwmte
e4098c458f Fix typo 2024-10-24 08:23:50 +02:00
Sezz
9a3166b9a1 Final code cleanup 2024-10-24 15:33:42 +11:00
Sezz
4a64e73648 Enforce some conventions with recent changes 2024-10-24 15:02:36 +11:00
Lwmte
a2812d5b34 Unrollback Tokyo's value 2024-10-23 20:28:36 +02:00
Lwmte
6278b59a1d Rollback Tokyo's jump distance constant and add no box checks to CanCreatureJump 2024-10-23 19:53:05 +02:00
Lwmte
4c42cb871a Fix door height and floordata precision loss with NO_HEIGHT variable 2024-10-23 19:49:23 +02:00
Lwmte
b7d9d994c2 Rename other constants in box.h 2024-10-23 16:28:51 +02:00
Lwmte
3f33021869 Fix TargetNearestEntity, refactor box flags, extend search LOT range to 32-bit 2024-10-23 16:22:52 +02:00
Stranger1992
521fdbfa8b Changed hardcoded sound for RAISING_BLOCKS back to the soundID used in TRLE (ID 149) 2024-10-21 23:22:49 +01:00
Stranger1992
f7a22ea1a7 Clarify Lua API for SetOnCollidedWithObject() 2024-10-18 00:14:02 +01:00
Jakub
e5e001b090
Merge branch 'develop' into develop_60fps 2024-10-16 16:19:13 +01:00
Lwmte
0638756d90 Fixed ghost collision with moveables with zero bounds 2024-10-16 00:59:37 +02:00
Lwmte
b1bbd55328 Fixed issue with Lara not rotating together with bridges while picking up items 2024-10-16 00:12:29 +02:00
MontyTRC89
9ea62f711a Fixed vehicle and Lara in HUB system level change 2024-10-15 15:18:51 +02:00
MontyTRC89
9cf2077051 Possibly fixed invisible Lara at HUB level switch 2024-10-14 05:56:34 +02:00
MontyTRC89
6f411f796d Merge branch 'develop_60fps' of https://github.com/MontyTRC89/TombEngine into develop_60fps 2024-10-13 05:53:55 +02:00
MontyTRC89
c5e8ffc50c Merge branch 'develop' into develop_60fps 2024-10-13 05:53:33 +02:00
MontyTRC89
4f3ea36bc1 Temporarly hack for solving invisible Lara in some cases with HUB system 2024-10-13 05:52:52 +02:00
Stranger1992
42d288b165 Merge branch 'develop' into develop_60fps 2024-10-11 01:31:50 +01:00
Lwmte
a3bc674c25
Fixed LOS and laserhead player teleportation/invisibility (#1416) 2024-10-10 12:15:43 +01:00
MontyTRC89
f49a803364 Merge branch 'develop' into develop_60fps 2024-10-08 15:19:51 +02:00
MontyTRC89
e9be29bf9e Merge branch 'develop_60fps' of https://github.com/MontyTRC89/TombEngine into develop_60fps 2024-10-08 15:19:40 +02:00
MontyTRC89
0ac19594f2 Camera is not inteprolated until next control phase if disable interpolation is true;
Added more non-interpolation cases to spotcams;
2024-10-08 15:19:36 +02:00
Lwmte
deec54ff83 Fix lasersight action 2024-10-06 02:02:09 +02:00
Lwmte
f51eed1800 Fixed issues with death sectors and water climbouts with bridges 2024-10-05 11:40:12 +02:00
Lwmte
cb0e8fb23e Merge branch 'develop' into develop_60fps 2024-10-05 00:28:40 +02:00
Lwmte
a77d64b69b Fix binocular bugs 2024-10-05 00:25:36 +02:00
Lwmte
9a6dfef475 Also show relative frame number in debug 2024-10-03 09:14:06 +02:00
Lwmte
1e6c2158ea Add IsStringPresent script function for further usage in nodes 2024-10-02 00:16:26 +02:00
Lwmte
78485fd3ec Fixed UPV transfer on leveljump 2024-09-30 17:11:59 +02:00
Lwmte
bc6bf2c5a4 Fix speedboat / rubber boat on leveljumps 2024-09-30 11:44:09 +02:00
Lwmte
5f7ac065d1 Show relative anim number in stats 2024-09-30 11:42:50 +02:00
MontyTRC89
061d152207 Fixed rolling ball interpolation 2024-09-29 06:16:13 +02:00
Lwmte
ca87efa4fd Possibly fix minecart wrench 2024-09-28 18:59:09 +02:00
Lwmte
3a0e703d1d Fix Lara meshswaps after kayak dismount after leveljump 2024-09-28 18:45:34 +02:00
Lwmte
ef751cf236 Fixed #1405 2024-09-28 17:29:27 +02:00
MontyTRC89
63e0f254f6 Merge branch 'develop' into develop_60fps 2024-09-27 07:24:01 +02:00
MontyTRC89
5c8ca6803e Merge branch 'develop_60fps' of https://github.com/MontyTRC89/TombEngine into develop_60fps 2024-09-27 07:23:51 +02:00
MontyTRC89
5bc065c411 Possibly fixed torch interpolation 2024-09-27 07:23:40 +02:00
Lwmte
3dafdf44e3 Update kayak.cpp 2024-09-23 19:58:56 +02:00
Lwmte
90effcdc58 Update CHANGELOG.md 2024-09-23 01:17:15 +02:00
Lwmte
1b95946db9 Fix kayak and minecart meshswaps on leveljump 2024-09-23 01:04:19 +02:00
Lwmte
f8f20a071c Fixed leveljump vehicle transfer 2024-09-23 00:23:49 +02:00
Stranger1992
aee7c26639 Merge branch 'develop' into develop_60fps 2024-09-22 09:49:10 +01:00
Stranger1992
d62ae232ee Change player HAIR enumerations 2024-09-22 09:48:22 +01:00
Stranger1992
29c2363141 Update CHANGELOG.md 2024-09-15 21:24:16 +01:00
Stranger1992
a98ed141cc Update CHANGELOG.md
Contains listings for branches to be merged for the next release.
2024-09-15 15:13:36 +01:00
MontyTRC89
40b09be39b Added Disable interpolation anim command 2024-09-13 06:37:24 +02:00
MontyTRC89
015adfb9c6 Improved disable interpolation flag for flyby cameras 2024-09-11 11:14:36 +02: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
9f45dd21aa Merge branch 'develop' into develop_60fps 2024-09-06 05:51:49 +02:00
Sezz
feee7c8285 Update InputAction class 2024-09-05 23:02:24 +10:00
Stranger1992
eca79130a0 Update bug_report.yaml 2024-09-03 09:50:11 +01:00
Stranger1992
7fee647c84 Update to bug report form 2024-09-03 09:44:53 +01:00
Sezz
f20967dbec Merge branch 'develop' into develop_60fps 2024-09-02 21:59:35 +10:00
Sezz
b318179bb9 Organise Lua room class 2024-09-01 22:25:40 +10:00
davidmarr
a9516cd7f7
Add Room:GetRoomNumber() method (#1401)
* add RoomGetRoomNumber() method

* Update CHANGELOG.md

* fix GetReverbType() method

* Update MoveableObject.cpp

Modified Moveable() function description for consistency
2024-09-01 21:13:20 +10:00
Stranger1992
cccd0d9bfb level.rumble sound effect parameters exposed to user
Formally: this was hardcoded in TR5 to the klaxon from the Sinking Submarine level. I have moved this to a new sound enum in the default soundmap and removed the pitch shift as this can be set in the XML by the user.  This change has also been documented on the TombEngine website.
2024-08-31 15:23:01 +01:00
Sezz
768e5a559d Use std::array to avoid memcpy(); minor cleanup 2024-08-29 16:11:55 +10:00
MontyTRC89
784684f2c0 Merge branch 'develop' into develop_60fps 2024-08-28 11:48:14 +02:00
MontyTRC89
398e3364fa Fixed rope interpolation 2024-08-28 11:48:02 +02:00
Sezz
60b9055d0a Add F12 as alternative to PrtSc for screenshots 2024-08-27 19:17:57 +10:00
MontyTRC89
5fa6b81ff3 Fixed ghost frame in spotcams 2024-08-26 05:12:57 +02:00
MontyTRC89
d23d68e1ba Fixed wrong GIT merge 2024-08-22 15:40:12 +02:00
MontyTRC89
36cf58ba16 Merge branch 'develop_60fps' of https://github.com/MontyTRC89/TombEngine into develop_60fps 2024-08-22 15:16:04 +02:00
MontyTRC89
08f43e146d Fixed strings flickering in title menu 2024-08-22 15:15:59 +02:00
MontyTRC89
dd2d8e8899 Fixed turn switch flickering frame 2024-08-21 16:58:06 +02:00
Sezz
39a52d26a4 Formatting 2024-08-21 17:38:24 +10:00
MontyTRC89
294a7592cd Merge branch 'develop' into develop_60fps
# Conflicts:
#	TombEngine/Renderer/Renderer.h
#	TombEngine/Renderer/RendererFrame.cpp
#	TombEngine/Renderer/RendererHelper.cpp
#	TombEngine/Renderer/Structures/RendererItem.h
2024-08-21 06:20:26 +02:00
MontyTRC89
b3210f93bd Merge branch 'develop_60fps' of https://github.com/MontyTRC89/TombEngine into develop_60fps 2024-08-21 06:03:36 +02:00
MontyTRC89
b46641a2cf Fixed flickering frame on camera transition 2024-08-21 06:03:30 +02:00
Sezz
806c052ff5 Fix GetBoneOrientation() 2024-08-18 22:58:50 +10:00
TokyoSU
f85769f3ca Update RendererCompatibility.cpp 2024-08-17 19:10:04 +02:00
Sezz
5c834a0906
Use BoundingSphere natively (#1339)
* Use BoundingSphere natively; remove CreatureSpheres and LaraSpheres globals

* Remove parameter from GetSpheres()

* Remove useless includes; rename file; add namespace

* Tabs

* Change pointer argument to reference

* Fix weapon crash

* Rename function and return bool

* Pass reference arguments

* Rename parameter

* Fix errors

* Use Intersects() method

* Define local constant

* Rename function; use generic variable names

* Update RendererHelper.cpp

* Fix merge errors

* Fix and further simplify item spheres

* Fix weapon firing

* Add GetSpheres() ItemInfo method

* Fix GenericSphereBoxCollision()
2024-08-17 13:11:36 +01:00
Sezz
7bc21f7d3a Fix formatting 2024-08-16 19:05:52 +10:00
MontyTRC89
3a345e9ccb Merge branch 'develop' into develop_60fps
# Conflicts:
#	TombEngine/Game/control/control.cpp
#	TombEngine/Game/gui.cpp
#	TombEngine/Renderer/RendererDrawMenu.cpp
#	TombEngine/Scripting/Internal/TEN/Flow/FlowHandler.cpp
2024-08-16 10:19:51 +02:00
MontyTRC89
d8aced8ab4 Fixed exploding body parts 2024-08-16 10:05:01 +02:00
Sezz
08d74d6608 Fix formatting 2024-08-16 15:48:36 +10:00
Stranger1992
e4b3124a68 Rename hair objects to distinguish between the two
ID_HAIR -> SINGLE_BRAID_HAIR
ID_HAIR2 -> DUAL_PIGTAIL_HAIR
2024-08-16 00:09:13 +01:00
TokyoSU
349d7e5cdd Fixed hair again (for good this time) 2024-08-15 20:15:46 +02:00
Sezz
e3c1ccf5c2 Integrate GetWaterSurface(), GetWaterDepth() and GetWaterHeight() into PointCollisionData 2024-08-16 02:12:41 +10:00
Sezz
2439e7cd46 Minor cleanup 2024-08-15 22:46:08 +10:00
Sezz
bea2810408 Remove Ptr suffix; use const 2024-08-15 22:44:35 +10:00
Sezz
cce384d3de Remove unused parameter 2024-08-15 22:40:08 +10:00
TokyoSU
6b18d46096 Update CHANGELOG.md 2024-08-15 14:08:47 +02:00
TokyoSU
fcf32b1ad0 Fix young hair drawing. 2024-08-15 13:55:23 +02:00
Sezz
dcfdae10da lara -> player in GUI 2024-08-14 17:50:19 +10:00
Sezz
079a2bfc00 Correct config 2024-08-14 16:09:42 +10:00
Stranger1992
4258b27c0c Changelog typos 2024-08-14 00:52:48 +01:00
Stranger1992
a9c3474b1c Update CHANGELOG.md 2024-08-13 23:19:11 +01:00
Sezz
37f056bfaf Add missing include 2024-08-12 15:13:35 +10:00
Kewin Kupilas
f2c52e61aa
Add "Lara's Home" menu entry (#1394)
* Add "Lara's Home" menu entry

* Minor things

* Move home_level into Strings.lua

* Lara's Home -> Home Level

---------

Co-authored-by: Sezz <sezzary@outlook.com>
2024-08-11 17:20:09 +01:00
TokyoSU
b9b99af3d2
Seal Mutant Port (#1392)
* begin mutant crawler import

* progress.

* Update MutantCrawler.cpp

* Done seal mutant.

- Changed how ThrowPoison color worked.
The old function didn't really reflect the correct color.

* Update CHANGELOG.md

* Improve ThrowSealMutantGas

* Add ID_SEAL_MUTANT scripting ID

* Update ObjectIDs.h

* Remove IsLaraCrouching()

* Use correct data types for poison effect

* Use references, not pointers

* Use proper spacing

* Use const

* Remove magic numbers, ordering, const, etc

* Remove pointless CreatureBiteInfo constructor; remove global constants;; etc

* Formatting, cleanup

* Replace GetRandomControl() usage

* Comment

* Update CHANGELOG.md

* rename variable

* demagic numbers

* Define constants

* Remove anim data checks

* Update poison gas spawn function

* Update tr3_flamethrower.cpp

* Update SealMutant.cpp

* Update seal mutant

* Update seal light

* Update SealMutant.cpp

* Minor changes

* Update sealMutant

* Update effects.h

* Update flamethrower to have lara as target too.

* Revert feffects from int to uchar

* Cleanup

---------

Co-authored-by: Kubsy <kubadd475@gmail.com>
Co-authored-by: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Co-authored-by: Sezz <sezzary@outlook.com>
Co-authored-by: Jakub <80340234+Jakub768@users.noreply.github.com>
Co-authored-by: Jakub <kubabilinski03@gmail.com>
2024-08-11 16:48:52 +01:00
Jakub
cb7d5ddccc Merge remote-tracking branch 'origin/master' into develop 2024-08-11 12:13:40 +01:00
Jakub
8b4573787b
Create LICENSE 2024-08-11 12:12:10 +01:00
Kewin Kupilas
0628affb69
Rework menu option looping (#1393)
* Remove menu loop

* Update CHANGELOG.md

* Update config

* Implement new menu logic

* Remove mouse smoothing

* Update Input.cpp

* Allow 3 options for menu looping

* Name adjustment

* Rename RegKey

* String key rename

* General refactors

* Change default menu looping mode

* Update configuration.h

---------

Co-authored-by: Sezz <sezzary@outlook.com>
2024-08-11 09:59:56 +01:00
Jakub
046e0b26ac
Update AUTHORS.md 2024-08-11 09:57:43 +01:00
Jakub
16112505b6
Update AUTHORS.md 2024-08-11 09:57:14 +01:00
Jakub
da05580213
Update AUTHORS.md 2024-08-11 09:57:05 +01:00
Sezz
77af7e9e22 Update Raptor.cpp 2024-08-08 22:28:52 +10:00
Sezz
587ce7d551 Remove magic number 2024-08-08 22:23:30 +10:00
Sezz
943c552627 Rename raptor files 2024-08-08 22:22:32 +10:00
Sezz
9ae935b8bb Extend functionality of TargetNearestEntity() 2024-08-08 22:12:50 +10:00
Sezz
29e65d0d2e Formatting; simplify 2024-08-08 21:57:12 +10:00
Stranger1992
89c4b0b22d Update CHANGELOG.md 2024-08-08 00:22:19 +01:00
Stranger1992
a46c1af417 Update CHANGELOG.md 2024-08-08 00:21:20 +01:00
TokyoSU
374c42b9fb
Raptor upgrade (#1346)
* Upgrade raptor

OCB 0: NORMAL: Like the original, change zone type to basic to avoid the raptor to try jumping pit when he cant anymore.
OCB 1: ABLE_TO_JUMP: can jump pit, new behaviour.
2024-08-08 00:07:06 +01:00
TokyoSU
27b4e0c2ad Fixed bomb freezing/crashing the game.
- Improved centaur code.
- Now centaur look and rotate the head and torso at the target.
- Removed double ID_PROJ_BOMB init.
-
2024-08-07 21:03:29 +02:00
Sezz
3ad7b1f5de Tidy up room struct 2024-08-06 22:09:58 +10:00
Sezz
3a38e4c576 Rename previously updated creature files 2024-08-06 19:00:49 +10:00
MontyTRC89
33edb092a9 Fixed shockwaves 2024-07-31 11:31:48 +02:00
Sezz
f0603349e2 Update RendererDraw.cpp 2024-07-31 19:21:51 +10:00
davidmarr
8e9ed77e64
Fixed Volume:GetActive() method (#1389)
* Update VolumeObject.cpp

fixed Volume:GetActive() method

* Update CHANGELOG.md
2024-07-27 18:16:13 +01:00
Sezz
0ad1eb9402 Round angle calculation 2024-07-27 01:44:18 +10:00
Sezz
a1675b577a Fix sound effect crash 2024-07-25 01:29:24 +10:00
Sezz
0c1c9d49a5 Comment flipeffects to be converted to anim commands; use NO_VALUE 2024-07-18 00:09:36 +10:00
Sezz
ca92b1a78e Add missing string function to global debug 2024-07-17 21:39:44 +10:00
Sezz
9791bd92e7 Add accessible debug execution time functions 2024-07-16 17:37:01 +10:00
Sezz
5f95c3f0ec Add Remap() math function 2024-07-12 01:20:47 +10:00
Stranger1992
f804c794f8 Fixed an error in the KeyClearAll() function that prevented it from being displayed in the Lua API 2024-07-03 15:49:38 +01:00
Sezz
c76b5cb0c8 Update Utils.cpp 2024-07-03 01:11:19 +10:00
Sezz
ef16d24450 Update PushableStates.cpp 2024-07-02 01:21:36 +10:00
Sezz
a492710f93 Update Utils.cpp 2024-07-02 01:05:28 +10:00
Sezz
acab964930 Update interpolkation functions 2024-07-02 01:01:45 +10:00
Jakub
9ca606c64e
Update CHANGELOG.md 2024-06-30 14:41:56 +01:00
Jakub
438ed01b4f
Update CHANGELOG.md 2024-06-30 14:37:37 +01:00
Sezz
485e384286
Additionally play underwater sound effects in quicksand 2024-06-30 23:36:27 +10:00
Sezz
8aae53c2c2
New animation sound conditions (#1284)
* Base for new sound conditions

* Read flags

* Refine anim sound effect handling

* Add swamp check for DryLand anim sound effect

* Update local variable names

* Use proper math functions

* Update animation.cpp

* Address PR notes

* Syntax

---------

Co-authored-by: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
2024-06-30 23:25:00 +10:00
Sezz
4c4a0b0510
Global access to debug objects (#1382)
* Make debug object drawing globally accessible and therefore convenient

* Fix case in debug includes

* Add math constants

* Add missing space

* Fix debug strings; reduce debug string scale

* Remove unused method

* Remove commented lines
2024-06-27 21:10:19 +10:00
Sezz
2be193a997 Use NO_VALUE in GetPlayerScrolledWeaponType() 2024-06-26 14:50:39 +10:00
Sezz
e39193497f Update sector class; disambiguate pathfinding boxes 2024-06-25 17:32:02 +10:00
Stranger1992
9f2cf860c5 Update CHANGELOG.md
Small changes to text to improve clarity
2024-06-24 22:14:30 +01:00
Sezz
399c039f21 Prevent more inappropriate tooltips 2024-06-25 01:24:32 +10:00
Sezz
ba6841bb18 Add tab 2024-06-21 13:37:06 +10:00
Sezz
c70bba367e Further organise math 2024-06-21 13:36:27 +10:00
Sezz
8a8e63b8e6 Formatting 2024-06-19 21:15:03 +10:00
Sezz
cb05e0eae8 Grammar 2024-06-19 21:07:26 +10:00
Jakub
2a6a96e03a
Implement KeyClearAll() Lua function (#1374)
* Implement KeyClearAll

* add entry to CHANGELOG.md
2024-06-19 11:20:57 +01:00
Adngel
7248091ca9
Adngel several traps fixes (#1379)
* Fix: Impale animation

When I jump in the TR1 spikes, or when I'm over the emerging TR4 spikes, the value it gets is INTERSECT not CONTAINS

I think it is because the TR1 spikes are 2 clicks, it won't contain Lara's collider. And TR4 when they are emerging, also have smaller collider box, so it will neither CONTAINS Lara's collider until it get already very late (for then, Lara is already dead and doing another death animation).

Removing the condition, it will activate where is INTERSECTS or CONTAINS.

* Fix Rome Hammer damage.

It won't hurt Lara anymore while it's deactivated.

* Fix Traps Collision

Updated the code of 4blades (used by floor and ceiling versions).
Added a condition in the colliion check for non-itelligent objects (like traps) so collision will push Lara only for the traps that have ItemFlags[4] equal to 0.

TODO: Consider a different method.

* Update collide_item.cpp

I tried item->Collidable, but deactivating it, has more consecuencies, where spheres collisions are not detected so traps don't harm Lara, therefore I couldn't use it.

I returned it to coll->Setup.EnableObjectPush boolean, this variable is set in GenericSphereBoxCollision reading the ItemFlags[4] like it was before. (Most of the traps are builded around this) changing it could require a refactor of the traps that uses this feature.

* Fixes and Refactor of Joby Spikes

- Created references variables to replace ItemFlags, to make the code more readable.
- Replaced the deprecated GetRandomControl function from this code by Random::GenerateInt function.
- Fix bug with collider. This trap is using an internal collision detection routine to hurt Lara based in her position and the spike height, instead of the sphers. So it wasn't using the GenericSphereBoxCollision, I removed from its obj->collision to avoid it pushing Lara away.
- Fix bug about endless scale. Before it was increasing the spike far beyond the room bounds, now it will only increase 3 blocks and 1 click (3328, based in Troye's code). Leaving for a future enhace it for it to adapt at other room heights.

* Fix Mine bug

Now when Lara steps on a mine with OCB 1, the death animation will trigger correctly without crash the game.

* Increase damage Statue with Blade

from 20 to 200

So it's more likely it removes Lara more than 1/3 per hit.

* Fix and refactor of Sentry Gun

- Created references variables to replace ItemFlags, to make the code more readable.
- Added new ItemFlags [3] to contain the ID of the deactivator inventory item.
- Changed item pointer for item reference.
- Fix bug sentry gun rotation meshes: Looks like the the function "SetBoneRotationFlags" wasn't set properly.

* Changed namespace in 4blades code.

- Changed namespace name
From
namespace TEN::Entities::TR4
to
namespace TEN::Entities::Traps

- Fixed Damage variables names.

* Fix Rolling Spindle Moving through high steps.

Added extra condition to stop the movement of the rolling spindle blade.

In addition to walls, the spinning blade will stop if:
- Ceiling is lower than 4 clicks
- The floor ahead is lower or higher than 2.5 clicks. (To stop it moving up and down into pits, but still allow it to move through 1 and 2 click slopes).
- If there is a stopper flag (so they can be stopped with pushables).

* Update WreckingBall code

Still pending of refactor, but I think it's better manage that in a different branch.

* Update traps namespace

* Update TR4 traps

Disable trap push for Birdblade, Sethblade and Plough.

Deleted duplicated initialization of Plough and Chain in TR4 objects.

* Merge develop branch

There was a conflict with develop, this should fix it.

* Fix Dart Emitter Antitrigger

* Fix Homing Dart Emiter

When triggering, it was continously spawning darts, that was because the trigger code was resetting the item->Timer variable. This variable is aimed to be used to delay the activation or provoke a timed deactivation. Using the variable adittionaly for internal behaviour like the dart spawn frequency, may lead to uncertain results like this actual bug.

Using a separate variable (ItemFlags[1]) the dart spawn frequency timer won't be influenced by the triggers code.

* Formatting

* Update CHANGELOG.md

* Moved the routine from ControlCog to AnimatingControl

So now Animatings will can have the OCB 666 (used in Train level for the helicopter animating) and OCB 2 to make animating dissapear when Antitriggered. (Legacy features of TR4 code, maybe they got lost in the TR5 code).

* Fix SwingingBlade deactivation

It was happening that when the swinging blade got antitriggered, it was going to the stopping animation, but the object state remained activated, doing control calls on every loop. Now it will remove itself from the control loop calls.

---------

Co-authored-by: Sezz <sezzary@outlook.com>
2024-06-19 11:19:39 +01:00
Sezz
2e6db4e01c Add TEN::Debug namespace 2024-06-19 15:29:46 +10:00
Sezz
49b014bc88 Avoid inappropriate tooltips 2024-06-19 15:05:03 +10:00
Sezz
87b5e83901 Remove unnecessary framework define; add newlines between label comments to avoid inappropriate tooltips 2024-06-19 15:03:33 +10:00
Sezz
a34bfaa89b Fix project build paths again 2024-06-11 12:07:48 +10:00
Sezz
22176d05f5 Update CHANGELOG.md 2024-06-06 11:46:43 +10:00
Sezz
6fa494b093 Make monkey swing auto jump a player setting; Lua formatting 2024-06-06 11:42:54 +10:00
Sezz
d33d1ced19 Manually fix VS search and replace errors 2024-06-06 11:15:43 +10:00
Sezz
47e22abbe9 Remove Ptrs suffixes 2024-06-06 10:52:59 +10:00
Sezz
063e994213 Merge branch 'develop' into develop_60fps 2024-06-04 19:16:48 +10:00
Adngel
838dab484b Update CHANGELOG.md 2024-05-31 20:59:25 +02:00
Adngel
1f4404d760 Fix: Burning Torch, flame in hand
Changing the commands order to switch off the Lara's hand flame in the same frame when she throws or drops the torch.

(The command must still be after the torch flare has been created, otherwise the torch flare will be switched off when instantiated).

Issue: https://github.com/MontyTRC89/TombEngine/issues/1376
2024-05-31 20:52:57 +02:00
Adngel
01a4b69168 Fix: Larson and Pierre zone.
Human LotType allows enemies to moves up and down of 2 and 4 clicks (like VCI guards) but Larson and Pierre hasn't got climbing animations, so they move over high steps just walking through.

That's why I'm changing them to obj->LotType = LotType::Basic;  So they will do the correct path through 1 click steps.
2024-05-27 10:29:09 +02:00
MontyTRC89
903fbf62f8 Merge branch 'develop_60fps' of https://github.com/MontyTRC89/TombEngine into develop_60fps 2024-05-20 05:17:57 +02:00
MontyTRC89
dd46927f62 Fixed fish swarms not drawing 2024-05-20 05:17:31 +02:00
Jakub
40966147c9
Fix bullet points 2024-05-19 22:42:03 +01:00
Jakub
891a6d97fa Merge branch 'master' into develop
# Conflicts:
#	CHANGELOG.md
2024-05-19 22:37:52 +01:00
Jakub
192eb6c6f6
Add links to each version to releases page respectively 2024-05-19 22:34:58 +01:00
Jakub
c6dcc5d042 Merge branch 'master' into develop 2024-05-19 22:25:09 +01:00
Jakub
4727417b93
Update IMPORTANT_LINKS.md 2024-05-19 22:24:46 +01:00
Jakub
8f98b1c99d
add TEN logo 2024-05-19 22:22:20 +01:00
Jakub
c1817d9200
Update bug_report.yaml 2024-05-19 21:48:12 +01:00
Jakub
97a31f5bb1
change to lowercase letters 2024-05-19 21:47:31 +01:00
Sezz
be5c525fa2 Remove Ptr suffix 2024-05-19 18:21:01 +10:00
Sezz
210cad57e1 Fix formatting 2024-05-19 18:12:00 +10:00
Sezz
36133ea5e9 Use parentheses 2024-05-19 18:10:45 +10:00
Sezz
978fa30d61 Formatting 2024-05-19 18:09:41 +10:00
MontyTRC89
e50715bd31 Fixed bad interpolation of crosshair position 2024-05-19 05:34:53 +02:00
MontyTRC89
4fd6cceecd Added interpolation for scarabs, locusts, bats, rats, spiders, fishes 2024-05-18 05:40:27 +02:00
Sezz
0b749b0c95 Fix bridge push 2024-05-18 01:37:41 +10:00
MontyTRC89
be95d77d92 Merge branch 'develop_60fps' of https://github.com/MontyTRC89/TombEngine into develop_60fps 2024-05-17 13:39:10 +02:00
MontyTRC89
815598f425 Fixed fire emitters 2024-05-17 13:39:02 +02:00
Adngel
b9d3f81253 Fix: Electric Cleaner crash
When it detected a sector with no box (a tile marked with "set non-walkable sector" editor flag) the game was crashing.

Changing the detection order solved the issue.

This issue was not happening in previous version (it was originated at some point of the past month) so I'm not registering in the changes.txt
2024-05-17 12:30:14 +02:00
Sezz
de91720fc9 Formatting 2024-05-17 19:40:09 +10:00
Sezz
206fd59e55 Interpolate speedometer 2024-05-17 18:57:22 +10:00
Sezz
411c397027 Minor formatting 2024-05-17 18:52:26 +10:00
MontyTRC89
a39f7ccd2c Disabled interpolation on PuzzleDone 2024-05-16 12:01:33 +02:00
MontyTRC89
6dd320f010 Merge branch 'develop_60fps' of https://github.com/MontyTRC89/TombEngine into develop_60fps 2024-05-16 11:50:19 +02:00
MontyTRC89
d5ed115d50 Fixed wrong positions for transparent faces in moveable items 2024-05-16 11:49:58 +02:00
Jakub
23254c87ea
Update CHANGELOG.md 2024-05-16 10:14:26 +01:00
Jakub
6b3a266133 Merge branch 'master' into develop 2024-05-16 10:04:21 +01:00
Jakub
b78ba51d76
Create IMPORTANT_LINKS.md 2024-05-16 10:03:37 +01:00
Jakub
2d670175b4
Update CHANGELOG.md 2024-05-16 09:41:48 +01:00
Jakub
a28cc919b7 Merge branch 'master' into develop 2024-05-16 09:34:50 +01:00
Jakub
2681036afe
Update pull_request_template.md 2024-05-16 09:34:09 +01:00
Jakub
2f19cb6244
Update pull_request_template.md 2024-05-16 09:33:56 +01:00
Jakub
085a25940d remove changes.txt from master branch 2024-05-16 09:33:07 +01:00
Jakub
cd2996cb06 Merge branch 'develop' of https://github.com/MontyTRC89/TombEngine into develop 2024-05-16 09:31:48 +01:00
Jakub
654e3a0381 remove changes.txt (changelog is now in CHANGELOG.md) 2024-05-16 09:31:38 +01:00
Jakub
cec6e74475
Update CHANGELOG.md 2024-05-16 09:30:23 +01:00
Jakub
1e7f314869 Merge branch 'master' into develop 2024-05-16 09:27:57 +01:00
Jakub
4e94f36361 Merge branch 'master' of https://github.com/MontyTRC89/TombEngine 2024-05-16 09:26:58 +01:00
Jakub
fff2c63584 update README and remove stray objID.txt from main folder (already located in Tools folder) 2024-05-16 09:26:47 +01:00
Sezz
9124b3129e Squishy blocks aren't bridges 2024-05-16 18:26:20 +10:00
Jakub
1ef89739b7
Update CHANGELOG.md 2024-05-16 09:25:14 +01:00
Jakub
e7c5da4579
Update CHANGELOG.md 2024-05-16 09:24:18 +01:00
Jakub
7fe250ede3
Create CHANGELOG.md 2024-05-16 09:22:19 +01:00
Jakub
68337904e3
Update CONTRIBUTING.md 2024-05-16 08:24:36 +01:00
Jakub
d24d2114a4
Update CONTRIBUTING.md 2024-05-16 08:21:45 +01:00
Lwmte
0b59e4f724
Update README.md 2024-05-16 09:14:09 +03:00
Lwmte
09445ad0ba
Update README.md 2024-05-16 09:13:36 +03:00
Lwmte
20d591b74f Increase maximum interpolated distance change 2024-05-16 07:53:13 +02:00
MontyTRC89
dc49d1c985 Merge branch 'develop_60fps' of https://github.com/MontyTRC89/TombEngine into develop_60fps 2024-05-16 05:44:41 +02:00
MontyTRC89
eb7163a472 Fixed meteors drawing 2024-05-16 05:43:54 +02:00
Jakub
3559e7d33f Merge branch 'master' into develop 2024-05-15 23:44:59 +01:00
Jakub
350e86ed0b
Create CODE_OF_CONDUCT.md 2024-05-15 23:43:08 +01:00
Jakub
9e45691869
Update pull_request_template.md 2024-05-15 23:30:18 +01:00
Jakub
78b34345b1
Update pull_request_template.md 2024-05-15 23:25:10 +01:00
Jakub
0ca392980d Merge branch 'master' into develop 2024-05-15 23:23:48 +01:00
Jakub
9d8c484e11
Update README.md 2024-05-15 23:18:09 +01:00
Jakub
64d4b51060
Update README.md 2024-05-15 23:17:22 +01:00
Jakub
e9305dfd19
Update pull_request_template.md 2024-05-15 23:10:40 +01:00
Jakub
c8e61f8b48
Update CONTRIBUTING.md 2024-05-15 23:08:23 +01:00
Jakub
490aebb55e
Update pull_request_template.md 2024-05-15 23:03:55 +01:00
Jakub
cd5db7cb93
Update pull_request_template.md 2024-05-15 23:03:41 +01:00
Jakub
a6e26e7009
Update pull_request_template.md 2024-05-15 23:00:09 +01:00
Jakub
84fccebf00
Create pull_request_template.md 2024-05-15 22:57:34 +01:00
Jakub
361e1d64bb
Update CONTRIBUTING.md 2024-05-15 22:49:08 +01:00
Jakub
06c250c3db
Update CONTRIBUTING.md 2024-05-15 22:48:53 +01:00
Jakub
a92d7a09dd
Update CONTRIBUTING.md 2024-05-15 22:48:31 +01:00
Jakub
7ddbfca0ee
Update CONTRIBUTING.md 2024-05-15 22:44:50 +01:00
Jakub
30ca49448b
Update AUTHORS.md 2024-05-15 22:43:49 +01:00
Jakub
d8432e2e5a
Update README.md 2024-05-15 22:40:04 +01:00
Jakub
2dfbace9a4
Create AUTHORS.md 2024-05-15 22:39:48 +01:00
Jakub
6acdbfa6ee
Update CONTRIBUTING.md 2024-05-15 22:35:44 +01:00
Jakub
4e8892278a
Create CONTRIBUTING.md 2024-05-15 22:34:09 +01:00
Stranger1992
8bcccea7b4 Update feature-request.yaml 2024-05-15 22:10:57 +01:00
Stranger1992
3c7f928e4d Revert "Update bug_report.yaml"
This reverts commit 81d2e83521.
2024-05-15 22:08:40 +01:00
Stranger1992
a6cbef9f88 Revert "Update bug_report.yaml"
This reverts commit 5987e7ad8d.
2024-05-15 22:08:09 +01:00
Stranger1992
5987e7ad8d Update bug_report.yaml 2024-05-15 22:07:14 +01:00
Stranger1992
81d2e83521 Update bug_report.yaml 2024-05-15 22:03:17 +01:00
Sezz
93549b7b07 Revert "Remove unnecessary string constants"
This reverts commit 3ff70b2915.
2024-05-16 07:02:38 +10:00
Stranger1992
460241fdde Update bug_report.yaml 2024-05-15 22:00:29 +01:00
Sezz
359df969e1 Update doc comments; minor formatting 2024-05-16 06:58:21 +10:00
Stranger1992
00ad42a6e3 Update bug_report.yaml 2024-05-15 21:56:26 +01:00
Stranger1992
356480b5dc
Create bug report and feature request forms (#1366)
In order to promote concise bug reports / feature requests for TombEngine : myself and @Jakub768 have created some forms in YAML for the TombEngine Github page.

Due to the nature of this being online and rendered by Github , previewing the changes cannot be done with an external tool. So this initial branch will now be merged and then further tweaks will take place if needs be.

Co-authored-by: Jakub <kubabilinski03@gmail.com>
2024-05-15 21:40:05 +01:00
MontyTRC89
cc560727da Merge branch 'develop_60fps' of https://github.com/MontyTRC89/TombEngine into develop_60fps 2024-05-15 09:01:26 +02:00
MontyTRC89
15da2fcc87 Removed old numberFrames field from camera 2024-05-15 09:01:03 +02:00
Stranger1992
04c0238936 Create config.yml
Disable choice to create a blank issue to promote usage of templates
2024-05-15 01:17:13 +01:00
Stranger1992
19e80d24bd Added Bug Report and Feature Request forms.
Created a template for new bugs and feature requests with prompts to promote proper reporting.
2024-05-15 01:06:59 +01:00
Lwmte
f9963f7940 Fix slow text fade 2024-05-14 22:51:47 +02:00
MontyTRC89
2a0f018247 Fixed flickering transparent sorted faces;
Fixed variable framerate always on even if disabled in settings;
2024-05-14 12:15:06 +02:00
MontyTRC89
46b3b383a6 Added animated textures support in G-Buffer creation for rooms 2024-05-14 11:53:54 +02:00
MontyTRC89
53170e7eab Merge branch 'develop_60fps' of https://github.com/MontyTRC89/TombEngine into develop_60fps 2024-05-13 06:06:28 +02:00
MontyTRC89
24a8dd3b47 Fix occasional freeze after calling pause menu 2024-05-13 06:06:17 +02:00
Sezz
a7b697e756 Minor formatting 2024-05-13 00:16:07 +10:00
MontyTRC89
bb4e648121 WIP fixes for other menus 2024-05-12 15:45:44 +02:00
MontyTRC89
5bd68efc10 WIP better inventory game loop 2024-05-12 06:02:09 +02:00
MontyTRC89
98f4caec80 Fixed missing strings in inventory 2024-05-12 05:42:08 +02:00
Lwmte
796354e67a Invert SetRot interpolation condition 2024-05-11 10:59:07 +02:00
Lwmte
09d756a75f Only disable interpolation in scripting method if difference is big enough 2024-05-11 10:38:35 +02:00
Lwmte
8aa34857e0 Fix inventory spinback 2024-05-11 10:12:42 +02:00
MontyTRC89
48d1c9ca10 Better handling of legacy 30 fps 2024-05-11 06:02:24 +02:00
MontyTRC89
9e29d08b92 Merge branch 'develop_60fps' of https://github.com/MontyTRC89/TombEngine into develop_60fps 2024-05-11 05:54:29 +02:00
MontyTRC89
895660fe5a Fixed look at camera; 2024-05-11 05:54:25 +02:00
Sezz
715df20e1f Fix crosshair angle interpolation 2024-05-11 01:51:48 +10:00
Sezz
af5bce3cf8 Update TargetHighlighter.h 2024-05-11 00:29:21 +10:00
Sezz
5239892743 Update starfield error handling 2024-05-10 23:33:55 +10:00
Sezz
fa697cc26e Update lens flare Lua API 2024-05-10 22:20:04 +10:00
MontyTRC89
afab268a13 Fixed ammos ring speed 2024-05-09 13:38:08 +02:00
MontyTRC89
1bd1832037 WIP solution for variable monitor refresh rates 2024-05-09 05:42:36 +02:00
Sezz
caa13a659c Update TombEngine.vcxproj 2024-05-09 03:33:11 +10:00
Sezz
367cb77758 Fix doc comments 2024-05-09 01:43:20 +10:00
Sezz
ce723b5a7e Clean up more effects 2024-05-08 22:59:14 +10:00
Sezz
c398f4ae58 Prepare interpolation data for speedometer 2024-05-08 20:46:17 +10:00
Sezz
272db66772 Interpolate crosshairs (partial solution) 2024-05-08 20:37:41 +10:00
Sezz
460d2d9edb Add interpolation for pickup summary; more clean up 2024-05-08 19:49:52 +10:00
Sezz
6240cce4e8 Clean up effect rendering 2024-05-08 19:21:29 +10:00
Sezz
59e74212ad Clean up effect and HUD objects 2024-05-08 18:47:10 +10:00
Sezz
4adf279e2f Merge branch 'develop' into develop_60fps 2024-05-08 14:38:59 +10:00
Sezz
3ff70b2915 Remove unnecessary string constants 2024-05-08 14:38:00 +10:00
Sezz
d49dd998be Merge branch 'develop' into develop_60fps 2024-05-08 14:11:51 +10:00
Sezz
e7889d2b88 Update colour objects 2024-05-08 14:10:45 +10:00
Sezz
2eb2ff877d Starfield and lens flare cleanup 2024-05-08 13:47:47 +10:00
Sezz
fb0519eb49 Lens flare cleanup 2024-05-08 03:13:52 +10:00
MontyTRC89
8995973c2a Fixed GPU not reset after sun sprite draw 2024-05-07 05:33:54 +02:00
MontyTRC89
9f27821ff6 Fixed hairs detached from head 2024-05-06 05:56:08 +02:00
MontyTRC89
ee3bc5db0f Fixed display sprites multiple draws 2024-05-05 05:54:21 +02:00
MontyTRC89
5bc44d4db7 Merge branch 'develop' into develop_60fps 2024-05-04 06:03:01 +02:00
MontyTRC89
fdd4948ee2 Merge branch 'develop_60fps' of https://github.com/MontyTRC89/TombEngine into develop_60fps 2024-05-04 06:02:48 +02:00
MontyTRC89
7b7473b660 Added laser beams interpolation;
Addes streamer interpolation;
Added sparks interpolation;
Cleaned smoke interpolation;
2024-05-04 06:02:44 +02:00
Sezz
3faf25c92f Fix pushable grab ban 2024-05-03 23:59:38 +10:00
Sezz
1bf60287e3 Fix bouncing pushables 2024-05-03 23:55:31 +10:00
Lwmte
83b6258de0 Merge branch 'develop' into develop_60fps 2024-05-03 10:16:48 +03:00
Lwmte
57cf323d73 Add autodelete parameter to ShowString 2024-05-03 10:16:32 +03:00
MontyTRC89
46d2de40a0 Possible fix for debug mode 2024-05-03 09:01:36 +02:00
MontyTRC89
2c59e89fc4 Fixed vsync at screen initialization;
Fixed rotation of inventory objects;
2024-05-02 16:31:22 +02:00
MontyTRC89
cd7583ab7a Enabled vsync;
Better mode switch between 30 and 60 fps;
Fixed flickering of strings in level (except for title);
2024-05-02 14:19:34 +02:00
Lwmte
4e9d4940a7 Simplify code 2024-05-02 09:53:21 +03:00
Lwmte
0a28ddb7cf Fix garbage frames on game status change 2024-05-02 09:47:53 +03:00
Lwmte
63a8de13f8 Fix leveljumps if 60 FPS is off 2024-05-02 09:42:00 +03:00
Lwmte
e3563bffb1 Fix hair glitch when stepping up 2024-05-02 09:19:25 +03:00
MontyTRC89
2d09926ff9 Merge branch 'develop' into develop_60fps
# Conflicts:
#	TombEngine/Game/effects/bubble.cpp
2024-05-02 06:07:33 +02:00
MontyTRC89
54346e4d85 Fixed flickering of strings in title level 2024-05-02 06:03:56 +02:00
Sezz
37267e99f1 Give meaning to magic numbers 2024-05-02 00:39:12 +10:00
Sezz
b868d6c518 Remove Ptr suffix usage in floordata 2024-05-01 21:27:54 +10:00
Sezz
39d638d1a5
Merge pull request #1211 from MontyTRC89/sezz_point_collision_class
PointCollisionData class
2024-05-01 15:51:52 +10:00
Sezz
07b4c1a997 Merge branch 'develop' into sezz_point_collision_class 2024-05-01 15:29:19 +10:00
MontyTRC89
62d28a08d1 Fixed corrupted items 2024-05-01 06:11:49 +02:00
MontyTRC89
cedad8c3ab Merge branch 'develop' into develop_60fps 2024-05-01 05:33:10 +02:00
MontyTRC89
81a44919f0 Merge branch 'develop_60fps' of https://github.com/MontyTRC89/TombEngine into develop_60fps 2024-05-01 05:32:55 +02:00
MontyTRC89
368f74e754 Added interpolation for title level 2024-05-01 05:32:49 +02:00
Stranger1992
c4f532268d Updated system strings for Variable Framerate 2024-04-30 16:19:30 +01:00
MontyTRC89
b2f7c83372 Started working on 60 fps inventory 2024-04-30 11:16:14 +02:00
MontyTRC89
2122a14d0e Variable framerate now is optional 2024-04-30 10:29:01 +02:00
Jakub
d83a84036e
Update Changes.txt 2024-04-29 12:55:59 +01:00
MontyTRC89
539bafc1b0 Added debris interpolation;
Added effects interpolation (missiles, projectiles...);
2024-04-29 09:09:35 +02:00
MontyTRC89
47e37d3960 Merge branch 'develop' into develop_60fps 2024-04-29 05:22:30 +02:00
MontyTRC89
80518e0abe Merge branch 'develop_60fps' of https://github.com/MontyTRC89/TombEngine into develop_60fps
# Conflicts:
#	TombEngine/Renderer/RendererDraw.cpp
2024-04-29 05:22:11 +02:00
MontyTRC89
f5adbec7c8 Added DisableInterpolation flag for items;
Fixed shaders;
2024-04-29 05:18:11 +02:00
Joey Quint
77cd0644f7 Fixed camera rotating with Lara's hips when climbing out of water - fixes #1311 2024-04-28 22:05:58 +02:00
Lwmte
33807e8198 Remove locked flag checks from internal renderer sprite methods 2024-04-28 15:51:51 +02:00
Lwmte
f2a55eec8b Fix double-draw in menus and title flyby 2024-04-28 15:18:24 +02:00
Lwmte
08ca9bacef Update Renderer.h 2024-04-28 13:59:56 +02:00
Lwmte
6e551b97df Make some order in renderer functions, fix flickering user strings and sprites 2024-04-28 13:54:16 +02:00
Lwmte
b3f8261c9b Fix sound update 2024-04-28 11:07:03 +02:00
MontyTRC89
b03480e926 Merge branch 'develop' into develop_60fps
# Conflicts:
#	TombEngine/Game/control/control.cpp
2024-04-28 06:36:13 +02:00
MontyTRC89
1d30d43aac Added color to lens flare;
Added LUA api for starfield and lens flare;
2024-04-28 06:31:59 +02:00
Nemoel-Tomo
7f9f5c619a
Bugfix: ember emitter, cleaner and squishy block (get valid sector) (#1358)
* bugfix, ember emitter, cleaner and squishy

* formatting

* Update misc.cpp

---------

Co-authored-by: Sezz <sezzary@outlook.com>
2024-04-28 04:48:39 +10:00
Lwmte
9df06e0a63 Update Changes.txt 2024-04-27 11:00:18 +02:00
Sezz
dbfaf6c7fd Update water functions 2024-04-27 04:13:18 +10:00
Joey Quint
1e38baf8fc Fix incorrect diving animation when swandiving from a high place 2024-04-26 18:48:54 +02:00
Sezz
abb77ced54 Remove pointless const 2024-04-27 01:25:16 +10:00
Sezz
4d59cb6d03 Fix water ripple, splash sound, vehicle bugs 2024-04-27 00:24:09 +10:00
Sezz
1d2f3dc64d Rename struct member 2024-04-27 00:01:08 +10:00
Jakub
05376122b0 fix compile error 2024-04-26 10:52:01 +01:00
Kubsy
571f87f35f
Update Changes.txt 2024-04-26 10:45:40 +01:00
Lwmte
29a5fc7411
UseItem event (#1357)
* Implement UseItem event, refactor item usage a bit

* Decopypaste medipack hotkey usage code

* Prevent small and large medipacks from being used simultaneously; tidy up UseItem()

---------

Co-authored-by: Sezz <sezzary@outlook.com>
2024-04-26 10:43:10 +01:00
Sezz
ad82158301 Illegal slope -> steep slope 2024-04-26 17:51:53 +10:00
Sezz
b73b31784c Add TODOs 2024-04-26 16:30:44 +10:00
Sezz
0817b64926 Merge branch 'develop' into sezz_point_collision_class 2024-04-26 16:25:06 +10:00
Sezz
bcd689b8ba Update collide_room.cpp 2024-04-26 15:53:02 +10:00
Sezz
546034ecc1 Apply PR comments 2024-04-26 15:49:27 +10:00
Sezz
15bd3d5217 Add bridge check to player move test over death sectors 2024-04-25 19:38:39 +10:00
Adngel
9dc4f9e24e
Adngel small fixes (#1355)
* Update tr2_worker_shotgun.cpp

Added enumerators for Animations and States.

* Fix Worker Shotgun walking attack

Now the enemy can hurt Lara with every shooting he does while walking.

* Fix skidoo driver lack of AI

* Update tr2_worker_shotgun.cpp

Use TestProbability()

---------

Co-authored-by: Sezz <sezzary@outlook.com>
2024-04-24 15:25:22 +10:00
Lwmte
30a72eb71b Filter out code bits for legacy soundtrack mask 2024-04-24 00:42:00 +02:00
Lwmte
809d54d811 Update docs 2024-04-24 00:32:32 +02:00
Lwmte
46d1987816 Implement lua API functions to get last chosen inventory item 2024-04-24 00:30:02 +02:00
Lwmte
c13bd9ab19 Fixed original issue with classic switch off trigger wrongly activating some trigger actions 2024-04-24 00:21:00 +02:00
MontyTRC89
c241af1c70 Meteors interpolation 2024-04-23 20:59:43 +02:00
MontyTRC89
c55b252393 Global lens flare;
Starry night simulation;
2024-04-23 20:40:51 +02:00
Lwmte
29ebdf452f Update effects.cpp 2024-04-22 20:58:46 +02:00
Stranger1992
612e7de243 Squashed commit of the following:
commit a7dcba12ce
Author: Lwmte <3331699+Lwmte@users.noreply.github.com>
Date:   Sun Apr 21 19:39:05 2024 +0200

    Fix directional flame emitters
2024-04-21 22:58:19 +01:00
Lwmte
a7dcba12ce Fix directional flame emitters 2024-04-21 19:39:05 +02:00
Jakub
cb3cd84f6d Merge remote-tracking branch 'origin/develop' 2024-04-21 15:43:10 +01:00
Lwmte
fed654b06c Update Changes.txt 2024-04-21 16:30:55 +02:00
Lwmte
5cc7c24186 Rollback old incorrect collision check for top/bottom of solid statics 2024-04-21 15:24:58 +02:00
Lwmte
83e2bac286 Fix ember emitter color range as well 2024-04-21 12:07:41 +02:00
Lwmte
064d08e4f4 Properly calculate light values for dynamic light objects 2024-04-21 11:23:52 +02:00
Lwmte
7b1eec808e Allow arbitrary rotation of a directional flame emitter 2024-04-20 23:03:22 +02:00
Jakub
0d49a053ec Merge branch 'develop' 2024-04-20 14:27:43 +01:00
Lwmte
faf09d6f9c Merge both fixes from previous commits 2024-04-20 07:59:14 +02:00
MontyTRC89
e73bb7b92b Increased max lens flares to 8;
Choose the nearest 8 ones;
Make the code in post process optional only if some lens flares are available;
Max distance of lens flare 20 blocks and they must be in the same room of camera;
2024-04-20 06:44:12 +02:00
MontyTRC89
994dc69ce0 Implemented ID_LENS_FARE objects 2024-04-20 06:30:00 +02:00
MontyTRC89
c384a78e19 Merge branch 'develop' into develop_60fps 2024-04-20 06:01:50 +02:00
MontyTRC89
5468734174 Merge branch 'develop' of https://github.com/MontyTRC89/TombEngine into develop 2024-04-20 06:01:35 +02:00
MontyTRC89
063b6cb010 Fixed blinking of water when there are debris 2024-04-20 06:01:31 +02:00
MontyTRC89
374697f38b WIP ID_LENS_FLARE objects 2024-04-20 05:41:01 +02:00
Lwmte
91c00db0f2 Fixed drawing of transparent surfaces when debris are present in scene 2024-04-20 00:49:37 +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
Lwmte
a4227dddb0 Fixed collision for solid static meshes with zero collision box 2024-04-19 22:58:09 +02:00
Adngel
dbd164cf68 Update Changes.txt 2024-04-19 17:02:42 +02:00
Adngel
4943fa22a0 Bug Fix: Pushables wrong collision
Fixed a bug where climbable pushables reactivated their bridge collisions during the continuous push/pulling.
2024-04-19 14:59:26 +02:00
Adngel
7880d275b1 Bug fix: Trex double rotation
The rotation from AI.angle was correct, but looks like it was applying the same rotation to the head and the neck (was at the end was like duplicating the value).

I've edited these two lines to add only half of the angle the head and other half to the neck.
2024-04-19 13:34:45 +02:00
MontyTRC89
7d66d49742 Lens flares set by code and not hardcoded in shader 2024-04-18 16:58:07 +02:00
MontyTRC89
4bbf52abf5 Polished the lens flare pixel shader 2024-04-18 15:58:47 +02:00
MontyTRC89
ce403506b5 Lens flares prototype 2024-04-18 09:38:15 +02:00
MontyTRC89
d0a451f866 Merge branch 'develop' into develop_60fps 2024-04-18 05:52:43 +02:00
MontyTRC89
ff32cca745 Shadow maps interpolation 2024-04-18 05:52:20 +02:00
Lwmte
633d6dc4c5 Update footprint.cpp 2024-04-17 11:59:57 +02:00
Sezz
2632a28398 Add bridge check to pad trigger 2024-04-17 17:58:22 +10:00
Lwmte
65fe27c272 Update lara_collide.cpp 2024-04-17 09:56:48 +02:00
MontyTRC89
c11eab5f58 Hairs interpolation 2024-04-17 05:31:19 +02:00
Lwmte
4a95305191 Fix #1350 2024-04-17 02:24:49 +02:00
Lwmte
b6d22844bf Fixed fire item effect not extinguishing in water 2024-04-17 02:16:14 +02:00
Lwmte
ccf77beff3 Fixed diving when swimming over sinks 2024-04-17 01:37:32 +02:00
MontyTRC89
d37eb6a69b Fixed bug with last merge 2024-04-16 09:18:56 +02:00
MontyTRC89
d636d58c1b Merge branch 'develop' into develop_60fps
# Conflicts:
#	TombEngine/Renderer/Structures/RendererItem.h
2024-04-16 09:16:16 +02:00
MontyTRC89
146c89b888 Added interpolation for.
- splashed
- ripples
- blood
- drips
- underwater dust
- rain
- snow
- shockwaves
- all effects based on Particle class
2024-04-16 09:15:00 +02:00
Sezz
4aa91ea877 Remove NO_ROOM constant 2024-04-16 16:55:19 +10:00
Sezz
c455fc6a39 Merge 2024-04-16 16:50:49 +10:00
Sezz
a4d0250cfb Merge branch 'develop' into sezz_point_collision_class 2024-04-16 16:50:13 +10:00
Sezz
3e9addf98a Add bridge check to ProcessSectorFlags(); remove NO_BOX and NO_ZONE constants 2024-04-16 16:08:40 +10:00
Lwmte
178f3c96b5 Fix infinite loop on leveljump to start position 2024-04-16 01:17:58 +02:00
MontyTRC89
d5526be208 Improved fires and flares interpolation;
Fixed fast blinking of dynamic lights;
2024-04-15 11:08:41 +02:00
MontyTRC89
1187910439 Merge branch 'develop' into develop_60fps 2024-04-15 08:33:29 +02:00
MontyTRC89
f4a5644dc0 Gunshells interpolation 2024-04-15 08:33:10 +02:00
Lwmte
f6cfb0508d Add Timer.Delete() method to a timer module 2024-04-15 01:10:36 +02:00
Lwmte
8d3eeb6879 Fix possible crashes with incorrectly passed particle lifetime in lua 2024-04-14 01:43:37 +02:00
Nemoel-Tomo
b0767730ed
Hotfix - Laserbeam light (#1349) 2024-04-14 00:23:26 +03:00
MontyTRC89
98c8f6df91 Cleaning smoke sparks code 2024-04-13 06:02:58 +02:00
MontyTRC89
44c52201d0 Added partial support to fire and smoke interpolation 2024-04-11 14:27:53 +02:00
MontyTRC89
180f03e960 Merge branch 'develop' into develop_60fps 2024-04-11 14:06:44 +02:00
MontyTRC89
72b3aa9b7e Blood interpolation 2024-04-11 12:08:22 +02:00
MontyTRC89
d10423c0e0 Smokes particles interpolation 2024-04-11 10:47:03 +02:00
MontyTRC89
35c4ce79ee Merge branch 'develop' into develop_60fps
# Conflicts:
#	Documentation/output.xml
#	TombEngine/Game/control/control.cpp
#	TombEngine/Specific/clock.cpp
#	TombEngine/Specific/clock.h
2024-04-11 06:06:24 +02:00
Sezz
fcf10a61d6 Merge branch 'develop' into sezz_point_collision_class 2024-03-28 19:27:15 +11:00
Sezz
bab278f9df Rename file and namespace 2024-03-28 19:27:02 +11:00
Sezz
8e55fe316e Update comments 2024-03-27 16:42:43 +11:00
Sezz
d9d89b4139 Add comment 2024-03-27 16:40:37 +11:00
Sezz
e17543c497 Update comments 2024-03-27 16:38:55 +11:00
Sezz
181c9cdc56 Merge branch 'develop' into sezz_point_collision_class 2024-03-27 16:33:04 +11:00
Sezz
2366bcbd1d Update comment; rename methods 2024-03-10 15:49:42 +11:00
Sezz
118c6d6105 Fix final bug; remove debug code 2024-03-10 15:05:02 +11:00
MontyTRC89
c44e4d40be Clock reset on window focus change, inventory and pause menu 2024-03-07 06:16:12 +01:00
MontyTRC89
96d08f41e7 Fixed lag logic 2024-03-06 14:50:16 +01:00
MontyTRC89
f9589155d5 Fixed horizon flickering 2024-03-05 09:53:12 +01:00
MontyTRC89
e84ddfa36d First experiment with 60 fps 2024-03-05 09:25:26 +01:00
Sezz
389ba72c44 Remove debug code 2024-02-23 21:56:33 +11:00
Sezz
4ee1dda75f Remove last remnants of GetCollision() and related structs; remove old collision functions 2024-02-23 20:41:22 +11:00
Sezz
5a1b1c89bd Remove GetCollision() overload 2024-02-23 18:12:27 +11:00
Sezz
f38968b23b Merge branch 'develop' into sezz_point_collision_class 2024-02-23 13:57:11 +11:00
Sezz
41508a2217 Revert "WIP Floordata 1"
This reverts commit dbeccb885e.
2024-02-04 01:06:48 +11:00
Sezz
dbeccb885e WIP Floordata 1 2024-02-04 01:05:43 +11:00
Sezz
0fdf829b3b Remove 1 GetCollision() overload 2024-02-02 01:22:28 +11:00
Sezz
b72766b460 Remove 2 GetCollision() overloads 2024-02-02 00:58:59 +11:00
Sezz
253aa3816d Remove 3 GetCollision() overloads 2024-02-02 00:44:52 +11:00
Sezz
75c8ff2601 Simplify 2024-02-02 00:07:05 +11:00
Sezz
4d6f22a948 Remove comment 2024-02-01 23:44:09 +11:00
Sezz
923790041d Process tilts correctly for bridges rotated on X and Z axes 2024-02-01 23:43:41 +11:00
Sezz
e9012c619e Remove parameters 2024-02-01 17:30:31 +11:00
Sezz
68899231f4 Update PointCollisionData class; adopt PointCollisionData in camera.cpp 2024-02-01 17:23:36 +11:00
Sezz
bedc4ee37a Update bridge parenting; let bridge orientation influence collision 2024-02-01 16:45:26 +11:00
Sezz
d0f0118d13 Merge branch 'develop' into sezz_point_collision_class 2024-01-31 19:05:49 +11:00
Sezz
85c35e4eb3 Remove warning 2024-01-31 18:35:45 +11:00
Sezz
7c21558f18 Implement missing method 2024-01-31 18:19:59 +11:00
Sezz
b3651cd5b6 Merge branch 'develop' into sezz_point_collision_class 2024-01-31 01:30:21 +11:00
Sezz
d5ac711da4 Extend GetPointCollision(); fix merge errors 2024-01-21 23:40:06 +11:00
Sezz
31f8859cd4 Merge branch 'develop' into sezz_point_collision_class 2024-01-21 18:56:14 +11:00
Sezz
52de01b9f7 Merge branch 'develop' into sezz_point_collision_class 2024-01-12 17:31:51 +11:00
Kubsy
6633e5512f Merge branch 'develop' of https://github.com/MontyTRC89/TombEngine 2024-01-06 15:24:31 +00:00
Kubsy
94e807a4e6 Merge branch 'develop' 2024-01-06 13:53:29 +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
Kubsy
28e49094d2 Merge branch 'develop' 2024-01-06 12:33:08 +00:00
Jakub
90b2d00644
Update New_Level.lua 2023-12-20 20:13:18 +00:00
Sezz
3533d49d9d Fix monkey swing bridges below illegal ceilings 2023-11-25 20:19:27 +11:00
Sezz
26a54e211c Fix slopes 2023-11-25 20:10:04 +11:00
Sezz
bb21ea285e Update collide_room.cpp 2023-11-25 20:03:02 +11:00
Sezz
b8a8d6f26b Merge branch 'develop' into sezz_point_collision_class 2023-11-25 14:58:17 +11:00
Sezz
583ee31e77 Merge branch 'develop' into sezz_point_collision_class 2023-11-05 10:42:25 +11:00
Sezz
fb20bf5355 Complete method set 2023-11-04 23:08:32 +11:00
Sezz
7aa1a8338b Update PointCollision.cpp 2023-10-28 16:50:41 +11:00
Sezz
b35367339e Formatting 2023-10-28 16:49:02 +11:00
Sezz
b38d9754d7 Add error handling; don't duplicate constants 2023-10-16 16:20:52 +11:00
Sezz
ba3bd0b1d3 Include files 2023-10-13 12:41:36 +11:00
Sezz
00bea67107 Merge branch 'develop' into sezz_point_collision_class 2023-10-13 12:41:14 +11:00
Sezz
cb78e08d89 Fix compile error 2023-09-08 00:29:41 +10:00
Sezz
a0eea51fbf Move hack to deprecated functions. 2023-09-08 00:23:52 +10:00
Sezz
2a19651480 Update PointCollision.h 2023-09-07 23:47:31 +10:00
Sezz
53ad627f72 Update PointCollision.cpp 2023-09-07 23:04:33 +10:00
Sezz
8d80e272f6 Merge branch 'develop' into sezz_point_collision_class 2023-09-07 22:52:44 +10:00
Sezz
0d62bbb823 Remove dummy method to keep it simple for now 2023-09-03 21:59:19 +10:00
Sezz
2833c35ac9 Add stub function for object intersections 2023-08-29 23:41:07 +10:00
Sezz
0d2d22fa8d Add comment 2023-08-29 19:57:32 +10:00
Sezz
fde6c2827b Add comment 2023-08-27 18:58:34 +10:00
Sezz
a286dbdd03 Update collide_room.cpp 2023-08-27 18:51:30 +10:00
Sezz
a8b1f6575a Update comments; make parameters const 2023-08-27 18:45:44 +10:00
Sezz
666fe3e605 Simplify 2023-08-27 17:41:37 +10:00
Sezz
7acff7d912 Update constant 2023-08-22 16:45:43 +10:00
Sezz
104066b915 Get bridge surface normals 2023-08-20 23:43:55 +10:00
Sezz
bacb5c99ce Get location 2023-08-20 17:56:53 +10:00
Sezz
be03784dda Add helper functions to simplify 2023-08-20 17:52:08 +10:00
Sezz
a97f5954ce Update comment 2023-08-17 20:05:24 +10:00
Sezz
8c47b06721 Update comments 2023-08-16 23:01:23 +10:00
Sezz
426b99d75d Update methods 2023-08-16 22:27:23 +10:00
Sezz
23efb49677 Add GetCeilingBridgeItemID(); consider bridges above when checking for slippery ceiling 2023-08-16 21:46:16 +10:00
Sezz
b2da3a9d03 Optimise 2023-08-16 20:23:28 +10:00
Sezz
70ffe72e1f Rename class 2023-08-16 16:58:43 +10:00
Sezz
7da15230ee Update collide_room.cpp 2023-08-16 01:41:44 +10:00
Sezz
14af4269e1 Update slope query methods 2023-08-16 00:50:11 +10:00
Sezz
bc212b041d Remove deprecated GetCollision() overload 2023-08-15 23:59:34 +10:00
Sezz
433f877d82 Fix room number probing; Wrap GetPointCollision() calls in old GetCollision() 2023-08-15 23:44:22 +10:00
Sezz
d9e8275ca3 Update namespace 2023-08-15 14:48:11 +10:00
Sezz
102d317b08 Organise 2023-08-15 14:41:19 +10:00
Sezz
210b24fb6d Remove wrappers; simplify 2023-08-15 14:36:03 +10:00
Sezz
5433a11297 Move RoomVector struct 2023-08-14 19:26:59 +10:00
Sezz
ffe819e4a6 Update methods 2023-08-14 18:39:02 +10:00
Sezz
cf4429f7d7 Update collide_room.cpp 2023-08-14 03:01:04 +10:00
Sezz
a0aa4548b3 Move function into namespace to avoid name clash 2023-08-14 02:52:30 +10:00
Sezz
de3ef51378 Remove unneeded method 2023-08-14 02:28:54 +10:00
Sezz
5de236b76e Prototype PointCollision class 2023-08-14 02:20:41 +10:00
719 changed files with 51835 additions and 31508 deletions

83
.github/ISSUE_TEMPLATE/bug_report.yaml vendored Normal file
View file

@ -0,0 +1,83 @@
name: Bug report
description: Create a report to help us understand and triage your issue.
labels:
- Awaiting Triage
body:
- type: markdown
attributes:
value: |
## Bug Report
Please follow this document carefully to report a bug.
> **Important**: It is highly recommended that you use the latest version before submitting a bug report.
- type: dropdown
attributes:
label: Tomb Engine Version
description: |
Please select the TombEngine version you are using.
options:
- v1.8.1 (latest release)
- v1.8.0
validations:
required: true
- type: checkboxes
attributes:
label: Development Version
description: Are you submitting this report from a development build that has not been officially released?
options:
- label: "I am using an unofficial development version."
- label: "I am using an official release."
validations:
required: true
- type: textarea
attributes:
label: Describe the Bug
description: |
Please provide a clear and concise description of what the issue is.
placeholder: |
Your bug report here.
validations:
required: true
- type: textarea
attributes:
label: To Reproduce
description: |
Please provide detailed steps to reproduce the issue.
**Note**: If the bug cannot be reproduced or the issue is not clearly explained, it may be closed without further investigation.
placeholder: |
Step-by-step reproduction instructions here.
validations:
required: true
- type: textarea
attributes:
label: Expected Behaviour
description: |
What did you expect to happen?
**Note**: If the bug cannot be reproduced or the issue is not clearly explained, it may be closed without further investigation.
placeholder: |
A description of what should happen here.
validations:
required: true
- type: textarea
attributes:
label: Minimal Reproduction Project
description: |
Please upload a .zip file (10 MB max) containing your level and all assets needed to compile the level, including a minimal version where the bug occurs.
Alternatively, provide a download link from a cloud storage service (e.g., Google Drive, Dropbox).
> **Important**: If you do not provide a minimal reproduction project, your issue may be rejected.
placeholder: |
Download link to your project or attach a .zip file.
validations:
required: true

17
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View file

@ -0,0 +1,17 @@
blank_issues_enabled: false
# Disable blank issue
blank_issues_enabled: false
# Bug Report Form
name: Bug Report
description: File a bug report.
title: "[Bug]: "
labels: [ "Awaiting Triage" ]
# Initial Message
body:
type: markdown
attributes:
value: Thanks for taking the time to fill out this bug report! Please use the steps below to log the report for the development team.

View file

@ -0,0 +1,34 @@
name: Feature Request
description: Suggest an idea for TombEngine
title: "[ Feature Request ] "
labels: Awaiting Triage
body:
- type: textarea
attributes:
label: Is your feature request related to a problem? Please describe.
placeholder: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
validations:
required: true
- type: textarea
attributes:
label: Describe the solution you'd like
placeholder: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
attributes:
label: Describe alternatives you've considered
placeholder: A clear and concise description of any alternative solutions or features you've considered.
validations:
required: false
- type: textarea
attributes:
label: Additional context
placeholder: Add any other context or screenshots about the feature request here. (as a link to screenshot or drop the screenshot into this textbox)
validations:
required: false

53
AUTHORS.md Normal file
View file

@ -0,0 +1,53 @@
# Credit List
This is the credit list of **all** the people who contributed to TombEngine in any shape or form.
## Developers
- MontyTRC (Project Leader)
- Gancian (general coding
- Krystian (general coding)
- Kubsy (Some cleanups and fixes)
- l.m. (general coding, Lua enhancements, bug fixing)
- Lwmte (sound refactoring, general coding, code cleanups, bug fixing)
- Moooonyeah (Jumanji) (entity decompilation)
- Raildex (renderer refactoring, particle coding, general coding)
- RicardoLuis0 (general coding)
- Sezz (player state refactoring, general coding, code cleanups, bug fixing, assets)
- Squidshire (Hispidence) (Lua implementation, bug fixing)
- Stranger1992 (sound asset refactoring and organisation, assets)
- TrainWreck (asset coding and Lua enhancements
- TokyoSU (entity and vehicle decompilation)
- Tomo (general coding, special FX coding, bug fixing)
- Troye (general coding, refactoring)
- Nickelony (general coding)
- JesseG, aka WolfCheese (general coding)
## Testers
- Adngel
- Caesum
- Dustie
- GeckoKid
- JoeyQuint
- Kamillos
- Kubsy
- LGG_PRODUCTION
- Lore
- RemRem
- Stranger1992
- WolfCheese
## Assets and Miscellaneous
- Geckokid (Sprites and test level creator).
### Animations
- SrDanielPonces (Diagonal shimmy transitions, backwards monkey swinging)
- Krystian (Flexibility crawlspace, slope climbing animations)
- Sezz (Additional Animations for player state refactoring)
- Naotheia (Underwater puzzle placement, crouch 180° turn, crawl 180° turn, water surface 180° turn)
- JoeyQuint (Standing 180° turn, monkey swing 180° turn)
### TombEngine Marketing
- Stranger1992 (Tomb Engine website, Discord, Facebook, Instagram, Youtube, X, and Twitch)

View file

@ -1,16 +1,287 @@
Version 1.4
===========
# Changelog
The dates are in European standard format where date is presented as **YYYY-MM-DD**.
TombEngine releases are located in this repository (alongside with Tomb Editor): https://github.com/TombEngine/TombEditorReleases
## [Version 1.8.1](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.8.1) - 2025-03-29
### Bug fixes
* Fixed pathfinding for friendly NPCs such as monkeys.
* Fixed particles remaining in the level after reloading from the savegame.
* Fixed particles being canceled by fog bulbs.
* Fixed crash in case hair object is the last object in a level.
* Fixed crash with incorrectly applied animated textures on static meshes.
* Fixed console window not hiding in non-debug mode on Windows 11.
* Fixed key binding settings saving for the current play session after hitting Esc to cancel.
* Fixed lensflare blending formula to avoid screen overbright.
### New features
* Added Firefly Emitter object (ID 1099) with corresponding sprite slot (ID 1379).
* Added live console input to perform Lua commands in realtime.
### Lua API changes
* Added missing constructor for `Collision.Probe` without room number.
* Added optional looping argument for `View.GetFlybyPosition` and `View.GetFlybyRotation` functions.
## [Version 1.8](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.8) - 2025-03-16
### Bug fixes
* Improved engine performance up to 20%.
* Fixed bridges moving the player when the player is underwater.
* Fixed trigger triggerer not working.
* Fixed display pickup numeric string not being interpolated in high framerate mode.
* Fixed two block platform room portal traversal failing in some cases.
* Fixed incorrect handling of dynamic light shadows.
* Fixed ricochet flashes after using explosive weapons.
* Fixed incorrect flare draw in crawl state.
* Fixed starfield remaining active in the next level if it does not have a starfield specified.
* Fixed underwater dust particles overflowing when camera is underwater.
* Fixed wetness player attribute not being preserved in savegames.
* Fixed invisible HK ammo in the inventory.
* Fixed flickering rat emitter.
* Fixed camera glitch when going into quicksand rooms with weapons drawn.
* Fixed player model submerging into the floor while swimming underwater.
* Fixed custom shatter sounds with custom sound IDs not playing correctly.
* Fixed crashes with sound samples larger than 2 megabytes.
### New features
* Added multithreading and an option for it to flow system settings.
* Added ability to use floor trapdoors, keys and puzzle items underwater.
- You must update your Lara object: https://github.com/TombEngine/Resources/raw/main/Wad2%20Objects/Lara/TEN_Lara.wad2
* Added a particle based waterfall emitter object and associated sprite slots.
- You must use this version: https://github.com/TombEngine/Resources/raw/refs/heads/main/Wad2%20Objects/Interactables/TEN_Waterfall_Emitter.wad2
* Added TR1 Hammer.
- You must use this version: <https://github.com/TombEngine/Resources/raw/refs/heads/main/Wad2%20Objects/Traps/TR1_Thor%20Hammer.wad2>
* Added TR3 Moving Laser.
* Added TR4 Statue Plinth.
### Lua API changes
* Added diary module.
* Added custom bar module.
* Added `Collision.Probe` class for basic room collision detection.
* Added `Flow.Horizon` class and two layers of horizons in a `Flow.Level` class.
* Added `Effects.EmitAdvancedParticle` function, allowing animations and other effects.
* Added `Effects.EmitAirBubble` function to spawn air bubbles.
* Added `Effects.EmitStreamer` function to emit streamers.
* Added `Flow.GetTotalSecretCount` function to get total amount of secrets in the game.
* Added `View.GetFlyByPosition` and `View.GetFlyByRotation` functions to get flyby sequence parameters at a specified time point.
* Added `Moveable:GetScale` and `Movebale:SetScale` methods to get or set visible scale of moveables.
* Added `Static:GetCollidable` and `Static:SetCollidable` methods to get or set collision status of static meshes.
* Added `Rotation:Lerp` function to allow linear interpolation between rotations.
* Added ability to perform additive and subtractive operations on `Rotation` class and compare one `Rotation` to another.
* Added various `Translate` methods to `Vec2` and `Vec3` script objects.
* Added alpha transparency functionality for statics and moveables to be used with `SetColor` method.
* Added extra arguments for sprite object slots and starting rotation value for `EmitParticle` function.
* Added ability to dynamically change `Flow.Level` weather and environment parameters and save them to a savegame.
* Added pickup count to `Flow.Statistics` class.
* Changed `Flow.Starfield` and `Flow.LensFlare` primitive types to use parameters instead of getters and setters.
* Fixed medipack level count in `Flow.Statistics` class.
## [Version 1.7.1](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.7.4) - 2025-04-01
### Bug fixes
* Fixed static meshes with dynamic light mode not accepting room lights.
* Fixed silent crashes if no Visual C++ runtimes are installed and provide a dialog box to download them instead.
* Fixed issues with launching the engine from directories with non-Western characters in the path.
* Fixed rare case of not being able to start a new game or exit game from the main menu on very slow GPUs.
* Fixed occasional crashes with creatures stuck in a sector with no pathfinding set.
* Fixed occasional cases of underwater switch animation not playing, if player spams jump key while pulling the switch.
* Fixed player's blob shadows not rendering on moveables and static meshes.
* Fixed antialiasing quality not changing after changing it in display settings.
* Fixed endless explosion effect for Puna.
* Fixed diary pick-up item inventory state not preserved in the savegame.
* Fixed gravity being applied underwater when exiting the fly cheat.
* Fixed gravity being applied when vaulting on the same frame as the player lands.
### New features
* Added realtime shader reloading in debug mode by pressing F9 key.
* Added load, save, stopwatch and compass as a functional pick-up items with ability to add or remove them from inventory.
* Increased particle limit from 1024 to 4096.
* Added ability for the player to more reliably stop at an edge when running at it while holding Walk.
### Lua API changes
* Fixed Flow.FreezeMode.FULL drawing incorrect background.
* Fixed DisplayString scale argument not being optional, as stated in documentation.
## [Version 1.7](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.7.3) - 2024-12-25
### Bug fixes
* Significantly improved renderer performance.
* Improved engine performance around bridges.
* Improved engine performance if weather or bubble effects are active.
* Improved engine start-up time.
* Fixed silent crashes if loaded level is corrupted or in incorrect format.
* Fixed occasional crashes if there are static meshes placed within room border walls.
* Fixed climbable pushables clipping Lara under the bridges when pulled.
* Fixed incorrect clipping of scaled off-centered static meshes.
* Fixed incorrect collision detection for off-centered moveables.
* Fixed incorrect slide directions for sub-click geometry.
* Fixed stutter during jumps between cameras in a flyby sequence.
* Fixed uzi targeting issues after using flycheat.
* Fixed hair object vertices not always linking properly.
* Fixed snow particles not always melting on the ground.
* Fixed enemies not damaging Lara if she is staying on the sector where enemies were triggered.
* Fixed enemy pickups dropping on death sectors.
* Fixed Sarcophagus and Search Object pickup triggers.
* Fixed vehicle transfer not happening for levels which were not previously visited.
* Fixed audio tracks placed in subfolders not restoring after loading savegame.
* Fixed initial position and lack of fade-in for looped audio track on level start.
* Fixed shatter debris spawning on incorrect position for the first frame.
* Fixed scripted input events not registering on the same game frame.
* Fixed incorrect object camera position.
* Fixed incorrect camera movement near walls after leaving look mode.
* Fixed binocular or lasersight camera not switching off correctly after flyby.
* Fixed binocular or lasersight camera transitions.
* Fixed target highlighter still being active in binocular or lasersight mode.
* Fixed Lara's Home entry not working.
* Fixed exploding TR3 bosses.
* Fixed original issue with deactivation of Dart Emitter.
* Fixed original issue with weapon hotkeys available in binoculars or lasersight mode.
* Fixed Electricity Wires object not doing instant kill when Lara is in close proximity.
* Fixed Lens Flare object not functioning properly.
* Fixed lens flares not being occluded by static meshes and moveables.
* Fixed spotlight shadows.
* Fixed Skeleton and Mummy not reacting to shotgun hits.
### New features
* Added classic mirror effect with ability to reflect moveables and static meshes.
* Added ability to customize many hardcoded parameters, such as flare, weapon, and hair settings.
* Added dynamic shadow casting on objects and static meshes.
* Added fast savegame reloading.
* Added ricochet sounds and make the effect more prominent.
* Allow camera shake during flybys.
* Allow to run the engine without title level.
* Allow more than 1024 objects in a level.
* Allow more than 1000 static mesh slots in a level.
### Lua API changes
* Added Flow.Statistics class, Flow.GetStatistics() and Flow.SetStatistics() functions.
* Added Flow.GetFreezeMode() and Flow.SetFreezeMode() functions.
* Added Effects.EmitSpotLight() function for directional spotlights.
* Added optional cast shadow and name parameters for Effects.EmitLight() function.
* Added Effects.GetWind() function to get current wind speed vector.
* Added Moveable:GetCollidable() and Moveable:SetCollidable() functions.
* Added Moveable:GetAnimSlot() and optional second argument for Moveable:SetAnim() to access different animation slots.
* Added Rotation:Direction() method to get directional vector.
* Added support for transparency value in Strings.DisplayString class.
* Added extra argument for Sound.SetAmbientTrack() function to specify if new ambient track should play from the beginning.
* Added new View.CameraType enum entries and return it by View.GetCameraType(), when flyby camera or binoculars/lasersight is active.
* Added new primitive Time class, which allows to manipulate and format game time without precision loss.
* Renamed Flow.WeaponType enumeration to Objects.WeaponType, and removed similar Objects.LaraWeaponType enumeration for consistency.
* Renamed Objects.PlayerAmmoType to Objects.AmmoType for consistency.
* Fixed Strings.DisplayString class not supporting some Unicode characters and empty lines in multiline strings.
* Fixed Strings.DisplayString not being deallocated after showing.
* Fixed GameVars not transferring between levels in hub mode.
* Fixed incorrect return value of Moveable:GetAnim() function, if animation from another slot is currently playing.
* Fixed incorrect behaviour of Moveable:GetJointRotation() function.
* Fixed incorrect behaviour of Logic.EnableEvent() and Logic.DisableEvent() functions.
* Fixed Util.HasLineOfSight() not taking static meshes into consideration.
* Fixed collision callbacks not properly clearing after leveljump.
* Fixed Flow.SetIntroImagePath() not using the correct path.
## [Version 1.5](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.7.2) - 2024-11-03
### Bug fixes
* Fixed original issue with classic switch off trigger incorrectly activating some trigger actions.
* Fixed moveable status after antitriggering.
* Fixed leveljump vehicle transfer.
* Fixed weapons not properly hitting enemies.
* Fixed falling through dynamic bridges that are moving upwards.
* Fixed Laserhead teleporting Lara and making her invisible on death.
* Fixed pick-ups from Sarcophagus objects.
* Fixed issue with Lara not rotating together with bridges while picking up items.
* Fixed ghost collision with objects with zero bounds.
* Fixed several binocular bugs.
* Fixed faulty death sectors.
* Fixed shimmy softlocks around static meshes with soft collision.
* Fixed incorrect swing ledge grabs with steep grab angles.
* Fixed incorrect climbing out of water on bridge objects and in front of static meshes.
* Fixed incorrect diving animation when swandiving from a high place.
* Fixed room clipping when flyby path goes out of room bounds.
* Fixed camera rotating with the player's hips when climbing out of water.
* Fixed camera behaviour on sloped surfaces after player's death.
* Fixed camera position after loading a savegame.
* Fixed broken ropes after loading a savegame.
* Fixed AI for TR2 Skidoo driver and Worker with shotgun.
* Fixed Ember Emitter crashing when ocb is between -1 and -10.
* Fixed Electric Cleaner and Squishy Block not detecting collision with certain block heights.
* Fixed Squishy Blocks crashing the level.
* Fixed Larson and Pierre pathfinding.
* Fixed Dart Emitters failing with antitrigger.
* Fixed Homing Dart Emitter spawning darts continously when player is on its trigger.
* Fixed Four Blade Trap floor and ceiling collision.
* Fixed Joby Spikes collision and deformation.
* Fixed Sentry Gun joint rotation.
* Fixed Teeth Spikes not triggering the player impale animation.
* Fixed TR4 Mine crash with OCB 1 when triggered.
* Fixed cases where Atlantean Mutant's bombs cause the game to crash.
* Fixed torch flame delay when the player throws or drops a torch.
* Fixed display sprites and display strings rendering in the inventory background.
* Fixed young Lara hair drawing. https://tombengine.com/docs/level-settings/#young_lara
### New features
* Added high framerate mode (also known as 60 FPS mode).
* Added a customisable global lensflare effect. https://tombengine.com/docs/level-settings/#lensflare
* Added a customisable starry sky and meteor effect. https://tombengine.com/docs/level-settings/#stars
* Added the ability to display "Lara's Home" entry in the main menu.
* Added the ability to change pickup item count by modifying item hit points.
* Added F12 as alternative to PrtSc for screenshots.
* Added ability to invoke load game dialog after death by pressing any key.
* Added visible mouse pointer in windowed mode.
* Added portal debug mode.
* Added new sound conditions: Quicksand and Underwater.
- Quicksand - sound effect plays when a moveable is in quicksand.
- Underwater - sound plays when the camera is submerged.
* Added TR3 Seal Mutant. https://tombengine.com/docs/ocb-and-setup-instructions/#sealmutant
- You must use this version: https://github.com/TombEngine/Resources/raw/main/Wad2%20Objects/Enemies/TEN_Seal_Mutant.wad2
* Added TR4 Enemy Jeep. https://tombengine.com/docs/ocb-and-setup-instructions/#enemy_jeep
- You must use this version: https://github.com/TombEngine/Resources/raw/main/Wad2%20Objects/Enemies/TR4_Enemy_Jeep.wad2
* Changed TR5 Rome Hammer to not hurt player whilst deactivated.
* Changed TR2 Statue with blade damage from 20 to 200.
* Changed sound effect that is triggered when using the `level.rumble` feature in a level (ID 359 in the soundmap).
* Changed hardcoded sound for Raising Block 1/2 back to the ID used in TRLE (ID 149).
* Enhanced TR2 Rolling Spindle detection to avoid them going down through pits.
* Enhanced Sentry Guns, with a new ItemFlags[3], to contain the ID of the inventory item that deactivates the sentry guns (Puzzle Item 5 by default).
* Enhanced Dart Emitter, with a new ItemFlags[0], to contain the number of frames between shots (by default 32 in Dart Emitter, and 24 in Homing-Dart Emitter).
* Enhanced Raptor behaviour and handling. https://tombengine.com/docs/ocb-and-setup-instructions/#raptor
- You must use this version: https://github.com/TombEngine/Resources/raw/main/Wad2%20Objects/Enemies/TEN_Raptor.wad2
* Removed original limit of 32 active Flame Emitters.
### Lua API changes
* Added Flow.EnableHomeLevel() function.
* Added Flow.IsStringPresent() function.
* Added Flow.LensFlare() and Flow.Starfield() classes.
* Added Inventory.GetUsedItem(), Inventory.SetUsedItem() and Inventory.ClearUsedItem() functions.
* Added Input.KeyClearAll() function.
* Added Moveable:GetJointRotation() and optional 'offset' parameter for Moveable.GetJointPosition().
* Added Moveable:GetTargetState() function.
* Added Room:GetRoomNumber() function.
* Removed anims.monkeyAutoJump. It is now a player menu configuration.
* Fixed Volume:GetActive() method.
## [Version 1.4](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.7.1) - 2024-04-21
### Bug fixes
* Fixed drawing of display sprites in title level.
* Fixed drawing of smoke sprites and various other sprites.
* Fixed drawing of transparent surfaces when debris are present in scene.
* Fixed player holster state and current vehicle not preserved correctly on level jump.
* Fixed diving when swimming over sinks.
* Fixed fire item effect not extinguishing in water.
* Fixed fade-in and fade-out effects not canceling correctly when next level is loaded.
* Fixed shadows still being visible after shattering a moveable.
* Fixed FOV interpolation at the end of the flyby sequence.
* Fixed sounds resuming in pause mode while switching between apps.
* Fixed slide directions.
* Fixed occasional collision warnings in a log when teeth spikes object was activated.
* Fixed climbable pushables collision during continuous pulling action.
* Fixed collision for solid static meshes with zero collision box.
* Fixed bottom collision for solid static meshes.
* Fixed T-Rex's head rotation.
### New features
* Auto-switch to a crawl state if player start position is in a crawlspace.
* Allow directional flame emitter (negative OCBs) to be rotated at any angle.
* Revise wall spikes:
- Wall spikes now stop when they touch a pushable, another spike wall or a normal wall.
- Wall spikes will shatter any shatter in its path.
@ -23,16 +294,17 @@ Version 1.4
* Added TR3 Winston (requires updated TEN .wad2 on TombEngine.com).
* Added TR4 squishy blocks (requires updated TEN .wad2 on TombEngine.com).
Lua API changes:
### Lua API changes
* Added resetHub flag to Flow.Level, which allows to reset hub data.
* Added Flow.GetFlipMapStatus() function to get current flipmap status.
* Added Moveable:GetMeshCount() function to get number of moveable meshes.
* Added timeout parameter for Moveable:Enable() function.
* Added Static:GetHP() and Static:SetHP() functions to change shatterable static mesh hit points.
* Fixed Moveable:SetOnCollidedWithObject() callback.
Version 1.3
===========
## [Version 1.3](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.7) - 2024-01-06
### Bug fixes
* Fixed crash if title logo is removed from Textures folder.
* Fixed crash if unknown player state ID is encountered.
* Fixed bug with OCB 2 on pushables, and some other pushable bugs.
@ -52,7 +324,9 @@ Version 1.3
* Fixed big static objects affected wrongly by dynamic lights.
* Fixed legacy trigger leveljumps ignoring provided level index.
* Fixed incorrect light collection in some cases.
* Fixed normal mapping for rooms, items, and statics.
* Fixed normal mapping for rooms, items, and statics.'
### New features
* Added ambient occlusion (SSAO).
* Added new post-process workflow (monochrome, negative, exclusion) with tinting.
* Added SMAA antialiasing instead of MSAA.
@ -76,7 +350,7 @@ Version 1.3
- OCB 0: Wolf starts in walking animation, ready to chase Lara.
- OCB 1: Wolf starts in sleeping animation.
Lua API changes:
### Lua API changes
* Added Lara:GetInteractedMoveable() which returns currently interacted moveable by Lara.
* Added Moveable:SetStatus() to set the current status of the moveable.
* Added Room:GetColor() to get room's ambient light color.
@ -84,9 +358,9 @@ Lua API changes:
* Added View.GetCameraPosition(), View.GetCameraTarget() and View.GetCameraRoom() functions.
* Added View.SetPostProcessMode(), View.SetPostProcessStrength() and View.SetPostProcessTint() functions.
Version 1.2
===========
## [Version 1.2](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.6.9) - 2023-11-11
### Bug fixes
* Fix burning torch not working properly if there are more than 256 objects in a level.
* Fix grenade and rocket projectiles smoke offset in certain directions.
* Fix projectiles flying through animating objects.
@ -110,30 +384,32 @@ Version 1.2
* Fix non-elevated combat camera.
* Fix camera snap when disengaging the look-around mode.
* Fix TR4 mapper not being visible.
### New features
* Improve head-on wall collision.
* Overhaul pushables:
- Separate climbable and non-climbable pushable object slots.
- Add new pushable OCB to manipulate pushable properties.
- Add new animations for pushing pushables off edgees (TR1-3 and TR4-5 versions).
- Fix pushables not working with raising blocks.
- Fix miscellaneous pushable bugs.
- Separate climbable and non-climbable pushable object slots.
- Add new pushable OCB to manipulate pushable properties.
- Add new animations for pushing pushables off edgees (TR1-3 and TR4-5 versions).
- Fix pushables not working with raising blocks.
- Fix miscellaneous pushable bugs.
* Overhaul look-around feature:
- Allow for more consistent and wider viewing angles while crawling, crouching, and hanging.
- Improve look camera movement and control.
- Re-enable looking while performing up jump, backward jump, or backward crawl.
- Add functionality to rotate slowly when holding Walk while using binoculars or lasersight.
- Allow for more consistent and wider viewing angles while crawling, crouching, and hanging.
- Improve look camera movement and control.
- Re-enable looking while performing up jump, backward jump, or backward crawl.
- Add functionality to rotate slowly when holding Walk while using binoculars or lasersight.
* Add target highlighter system with toggle in Sound and Gameplay settings.
* Add sprint slide state 191.
* Add swinging blade.
* Add crumbling platform and add new OCBs for behaviour:
- OCB 0: Default behaviour. When the player steps on the platform, it will shake and crumble after 1.2 seconds.
- OCB > 0: When the player steps on the platform, it will crumble after the number of frames set in the OCB.
- A positive value results in activation via player collision.
- A negative value requires a trigger to activate.
- OCB 0: Default behaviour. When the player steps on the platform, it will shake and crumble after 1.2 seconds.
- OCB > 0: When the player steps on the platform, it will crumble after the number of frames set in the OCB.
- A positive value results in activation via player collision.
- A negative value requires a trigger to activate.
* Add basic mouse input handling. Allows for binding of mouse inputs in control settings.
* Add settings for Mouse Sensitivity and Mouse Smoothing (not used in-game yet).
Lua API changes:
### Lua API changes
* Split and organize functions in `Misc` namespace to appropriate new namespaces.
* Make Vec2 and Vec3 objects float-based instead of integer-based.
* Add DisplaySprite object.
@ -159,9 +435,9 @@ Lua API changes:
* Add DisplayString::SetScale() function to resize text.
* Add DisplayString::GetScale() function to get text scale.
Version 1.1.0
==============
## [Version 1.1.0](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.6.8) - 2023-07-29
### Bug fixes
* Fix enemies shooting Lara through static meshes and moveables.
* Fix skeletons and mummies not being affected by explosive weapons.
* Fix crash on loading if static meshes with IDs above maximum are present.
@ -191,6 +467,8 @@ Version 1.1.0
* Fix room collector freezing game on some occasions.
* Fix incorrect culling for scaled static meshes.
* Fix normal mapping.
### New features
* Add ability to save screenshot in the "Screenshots" subfolder by pressing the "Print screen" key.
* Implement separate audio track channel for playing voiceovers with subtitles in .srt format.
* Don't stop ambience when Lara dies.
@ -208,15 +486,15 @@ Version 1.1.0
* Add TR1 skateboard kid.
* Add TR1 Kold.
Lua API changes:
### Lua API changes
* Add soundtrack functions:
- Misc::GetAudioTrackLoudness() for getting current loudness of a given track type.
- Misc::IsAudioTrackPlaying() for checking if a given track type is playing.
- Misc::GetCurrentSubtitle() for getting current subtitle string for the voice track.
Version 1.0.9
=============
## [Version 1.0.9](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.6.7) - 2023-06-03
### Bug fixes
* Fix cold bar triggered in non-water rooms.
* Fix spiky wall speed value and change it via OCB number or Lua (Moveable::SetItemFlags[0]).
* Fix bats emitter crashing the game if little beetle object does not exist in wad.
@ -237,6 +515,8 @@ Version 1.0.9
* Fix grenade firing angle.
* Fix rendering for static meshes with custom blending modes and alpha transparency.
* Fix inconsistent multiline string spacing on different display modes.
### New features
* Remove search object 4 hardcoded meshswap activated with a flipmap.
* Add TR1 cowboy.
* Add TR3 wall mounted blade.
@ -262,7 +542,7 @@ Version 1.0.9
* Add "Reset to defaults" entry to controls menu and automatically bind XBOX gamepad profile if connected.
* Add 64-bit executable and place both 32-bit and 64-bit versions into /Bin subdirectory.
Lua API changes:
### Lua API changes
* Add Vec2 class.
* Add function String::SetTranslated().
* Add function Misc::IsStringDisplaying().
@ -272,9 +552,9 @@ Lua API changes:
- PRESAVE, POSTSAVE
- PRELOAD, POSTLOAD
Version 1.0.8
=============
## [Version 1.0.8](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.6.6) - 2023-04-10
### Bug fixes
* Fix bubbles phasing through ceilings.
* Fix object camera not clearing at level end.
* Fix double breath sound effect when coming up for air.
@ -293,6 +573,8 @@ Version 1.0.8
- Imp is also scared of of the player if holding a lit torch.
- Please note you must use the patched version found here: https://github.com/TombEngine/Resources/blob/main/Wad2%20Objects/tr5_Imp.wad2
* Fix and improve wraith tails.
### New features/Amedments
* Add dedicated WRAITH_TRAP object with enhanced effects.
- OCB 0: Effect disabled.
- OCB 1: Effect enabled.
@ -313,13 +595,13 @@ Version 1.0.8
* Restored inventory compass.
* Allow dynamic segment count for hair object.
Lua API changes:
### Lua API changes
* Add function Misc::IsSoundPlaying()
* Add function DisplayString::SetFlags()
Version 1.0.7
=============
## [Version 1.0.7](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.6.5) - 2023-02-26
### Bug fixes
* Fix spark particles not being cleared on level reload.
* Fix visible but inactive enemies (e.g. Shiva or Xian guardians) taking damage.
* Fix blockable LOT type enemies (e.g. T-Rex and Shiva) not being able to step up 1 click or drop 2 clicks.
@ -340,6 +622,8 @@ Version 1.0.7
- Killing move for spear used wrong value.
* Fix TR3 big gun spawning rocket with 0 life which caused an immediate explosion.
* Fix TR3 Tony and add boss effect for him.
### New features
* Add TR3 civvy.
* Add TR3 electric cleaner.
* Add TR3 Sophia Leigh with following OCBs:
@ -357,14 +641,14 @@ Version 1.0.7
* Prevent Lara from drawing weapons during parallel bar swinging.
* Further renderer performance optimizations and bugfixes.
Lua API changes:
### Lua API changes
* Fix Camera:SetPosition not updating camera position when it is played simultaneously.
* Add Moveable:GetAirborne and Moveable:SetAirborne.
* Add Moveable:GetLocationAI and Moveable:SetLocationAI.
Version 1.0.6
=============
## [Version 1.0.6](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.6.4) - 2023-01-29
### Bug fixes
* Fix major pathfinding bug which could have caused lots of issues with enemy behaviour.
* Fix potential random crashes due to incorrect rendering behaviour.
* Fix savegame crash for disabled enemies with partially set activation mask.
@ -390,6 +674,8 @@ Version 1.0.6
* Fix grenade launcher super ammo emitting too many fragments.
* Fix grenade and rocket launcher lighting.
* Fix ceiling trapdoor and floor trapdoor that Lara couldn't open manually.
### New features
* Make enemies drop pickups at first available bounding box corner point, not centerpoint.
* Restore original volumetric explosion effects.
* Add TR3 lizard and Puna.
@ -401,7 +687,7 @@ Version 1.0.6
* Lua Moveable functions Enable and Disable now correctly trigger and antitrigger the moveable.
* Improve level loading speed a lot.
Lua API changes:
### 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.
@ -413,9 +699,9 @@ Lua API changes:
* Add new function Misc::GetCameraType()
* Add new functions Moveable:GetAirborne() and Moveable:SetAirborne(bool input)
Version 1.0.5
=============
## [Version 1.0.5](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.6.3) - 2022-12-30
### Bug fixes
* 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.
@ -440,6 +726,8 @@ Version 1.0.5
* 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.
### New features
* 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.
@ -448,12 +736,12 @@ Version 1.0.5
* Draw real mesh for darts.
* Added warning log when one slot requires another slot which is missing.
Lua API changes:
### Lua API changes
* Add new Room class and several methods for it.
Version 1.0.4
=============
## [Version 1.0.4](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.6.2) - 2022-12-16
### New features
* 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).
@ -475,6 +763,8 @@ Version 1.0.4
* SAS enhancements:
- Fix grenade shooting.
- Fix AI_MODIFY and AI_GUARD behaviour.
### Bug fixes
* 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.
@ -503,7 +793,7 @@ Version 1.0.4
* 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:
### 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.
@ -521,9 +811,9 @@ Lua API changes:
* 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
=============
## [Version 1.0.3](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.6.1) - 2022-11-18
### New features
* 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.
@ -536,6 +826,8 @@ Version 1.0.3
* Improve game and inventory input handling.
* Adjust sprint jump timing.
* Backport DAMOCLES_SWORD from TR1.
### Bug fixes
* 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.
@ -567,7 +859,7 @@ Version 1.0.3
* Fix SAS_DRAG_BLOKE object interaction.
* Fix KILLER_STATUE not triggering.
Lua API changes:
### 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
@ -587,9 +879,9 @@ Lua API changes:
* 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
=============
## [Version 1.0.2](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.6) - 2022-09-16
### New features
* Fix removing Pistols with TakeItem and SetItemCount.
* Allow saving and loading of Vec3s in LevelVars and GameVars.
* Support volume triggers made with node editor.
@ -613,7 +905,8 @@ Version 1.0.2
- 5 for valve turn
- 6 for hole switch
- any other OCBs play corresponding switch on anim or OCB+1 switch off anim.
### Bug fixes
* Fix incorrect pole mounting.
* Fix zeroed forward velocity upon landing.
* Fix incorrect behaviour when falling on statics from the top after monkeyswing.
@ -627,7 +920,7 @@ Version 1.0.2
* Fix stargate blades needlessly pushing the player around while hardly doing any damage.
* Fix weapon hotkeys and add missing crossbow hotkey.
Lua API changes:
### 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.
@ -641,12 +934,14 @@ Lua API changes:
* Rework GiveItem, TakeItem, and SetItemCount (e.g. SetItemCount with a value of -1 can give infinite ammo/consumables).
Version 1.0.1
=============
## [Version 1.0.1](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.5.2) - 2022-08-16
### New features
* Added antialiasing support.
* Added static mesh scaling support.
* Added free rotation for teeth spikes instead of using OCB codes.
### Bug fixes
* 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.
@ -664,6 +959,8 @@ Version 1.0.1
* 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.
### Amendments
* Disable trigger check for puzzle holes.
* Clear locusts and other swarm enemies on level reload.
* Enhance cobra AI and fix targeting.
@ -679,7 +976,6 @@ Version 1.0.1
* EventSequence.lua has been added and documented.
Version 1.0
===========
## [Version 1.0](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.5.1) - 2022-08-06
First beta release.

82
CODE_OF_CONDUCT.md Normal file
View file

@ -0,0 +1,82 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
TombEngine Discord Server.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.

401
CONTRIBUTING.md Normal file
View file

@ -0,0 +1,401 @@
What you will read under has been agreed by the current active team in order to keep a good flow of work and proper management. You are welcome to put suggestions in the comments in order to discuss it with the TEN team.
# Contributor General rules
**1. Developer**
- If you wish to contribute to the TEN project, you must read and follow the coding convention used by the team, available here: https://github.com/MontyTRC89/TombEngine/blob/master/CONTRIBUTING.md#coding-conventions
- Do not work directly on master nor any branch which may be developed by several members. Create your branch, and name it with a clear description of the feature/set of features you are working on. You may regularly merge/rebase master or the active development branch with yours.
- Be respectful to other developers. Disagreements may occur on code style, changes, and should be discussed directly with the person who pushed or merged the commit/branch. If you are unsure of what some parts of the code means, or why a decision was made, contact the team as a whole so they can be explained to you.
- Do not make a pull request until your branch and features are extensively tested by the QA team. You are invited to test your feature set as much as you can too.
- If you are allowed to merge PRs, do not do such until code has been properly reviewed, preferably by more than one person.
- Merge PRs using **squash and merge** mode to preserve main branch history in original state. For squash merge commit, leave list of commits in commit description (GitHub does it automatically in both desktop client and web interface).
- Do not revert active development branch to a previous commit unless you are absolutely sure there will be no regressions. Do not revert parts of code to a previous state for the same reasons. In both of those cases, the entire team needs to be aware of it and agree on the decision.
- There are **two key branches**: `master` and `develop`. `master` is to be used for releases, and nothing else. `develop` is based on `master` and is used for active development, **Every PR should use it as its base**. To keep in sync, for release period they are to be merged in the following order: `develop` -> `master`.
**2. Tester**
- Be respectful with the developer you are testing the feature of.
- New features or bug fixes should be tested with several use cases, if not all possible use cases you can think of, of this feature. This avoids going back to it in the future because of missed test cases.
- Pay attention to any regressions. Developer may have touched part of the code that could break other linked or unlinked features. Features or bug fixes can't be considered done if there are any regression elsewhere.
## Issues handling
**1. General**
- Preferably, write one issue for one specific bug. List of bugs should stay rare, unless they are closely related to each other.
- Follow the progress of features/fixes on the project board.
- Do not assign a dev to an issue. They will do so themselves
- Carefully choose the labels you add to the issue
**2. Developer**
- Assign yourself to an issue you want to work on available in the To do column of the project board. Add this feature to the "In progress" column. Make the team know you are working on it both by adding a comment to it and via Discord, on the strategy channel of Tomb Engine.
- Regularly update the status of the task by adding comments. If you are stuck, let other people know if they can help.
- Do not pass an issue as done unless fixes or features are fully tested and merged with active dev branch
**3. Tester**
- Give the Developer as much detail as you can about the bug you're writing for, and an easy way to reproduce it.
- Update and comment the issue with the tests you've done and your findings after fixes.
# Coding Conventions
## General Rules
* **Do not silently comment out any lines or change operators or conditional statements**, even for testing purposes. Should you comment out certain code, also leave a comment beginning with `TODO` prefix, and date-author signature, like this:
``` c
// TODO: This code caused NPCs to run into walls, so it is disabled for now. -- Lwmte, 21.08.19
// GetBoundsAccurate(blah);
```
* **Do not modify existing code without a clear understanding of what it does.** Even if you think you are fixing bugs or restoring original behavior by reverting the code, consult the TombEngine discord before committing any changes. It is possible you may ruin the work of other people since the original Core Design codebase is very fragile and it is very easy to falsely identify code as bugged.
* **Do not introduce quick hacks to fix issues**. Hacks like `if (room == 314)` or `if (direction == WEST)` should be left in the history of bad Core Design coding practices.
* If code remains unimplemented or you need to visit another part of the code for a considerable amount of time to implement missing functionality for that first part of code, **leave a comment** prefixed `FIXME` and with a date-author signature, describing missing functionality that you are about to add:
``` c
// FIXME: I need to precisely calculate floor height, but for now let's keep original. -- Lwmte, 21.08.19
foo = GetFloor(blah);
```
* Make sure that **any new code is warning-free** before committing. Exceptions to this guideline include cases where fixing warnings would require you to make many changes outside of the new code, where the warning originates from a 3rd-party library, or where fixing the warning would make the code significantly less readable or performant.
* Avoid using magic numbers. Use constants or enums instead.
* Use **American English**.
## Parenthesis and new lines
Please do not write like this:
``` c
if (blah) {
foo;
foo_foo;
} else {
bar;
bar_bar; }
```
Write like this instead:
``` c
if (blah)
{
foo;
foo_foo;
}
else
{
bar;
bar_bar;
}
```
However, if you have only one line enclosed (i. e. only `foo`), and there are no following `else` or `else if` conditions, you may omit brackets and do it like this:
``` c
if (blah)
foo;
```
For one-line if statements, if the condition itself is multi-line, brackets should be added anyway to maintain readability:
```
if (item.RoomNumber == 123 || IsHeld(In::Action) &&
LaraHasEatenSandwich == SANDWICH_BACON)
{
CurrentLevel = 4;
}
```
Same rule applies to loops.
Avoid multiple nested conditional statements. Where possible, do an early exit from the code using the opposite statement instead of enclosing the statement body in an extra set of brackets. For example, instead of this:
``` c
if (blah)
{
if (foo)
bar;
}
```
Write this:
``` c
if (!blah || !foo)
return;
bar;
```
## Spacing
Don't condense arguments, loop statements, or any other code which requires splitting with commas/semicolons or operators like this:
``` c
void SomeLoop(int blah,int blah2)
{
for(int i=0;i<4;i++)
{
bar =blah;
foo= blah2;
}
}
```
Instead, separate everything with spaces **on the both sides** of operator, and **after** the comma or semicolon, like this:
``` c
void SomeLoop(int blah, int blah2)
{
for (int i = 0; i < 4; i++)
{
bar = blah;
foo = blah2;
}
}
```
The same rule applies to any code body, not only function declarations or loop statements.
## Tabulation and indents
When you have numerous assignment operations in a row, and/or their names are somewhat of equal length, and their data types are similar, align "left" and "right" parts of the assignment using tabs most of the way and spaces the rest of the way, like this:
``` c
float foo = 1.0;
float bar_bar = 1.0;
float foo_o_o = 1.0;
```
Or:
``` c
bar = foo-foo-foo;
foo_o = bar;
bar_r_r = foo;
```
In case you have pointers defined along with "normal" variables, the asterisk symbol must be placed instead of the last tab's space symbol (this also applies for class declarations and/or implementations), like this:
``` c
bar = foo_foo;
*foo = &bar_bar;
```
Of course, if one's left part is way longer than another one's left part, there's no need for such alignment, so you can leave it like this:
``` c
*foo_foo = &bar_foo;
bar->foo_foo_foo.blah_blah_bar_foo = 1.0;
foo_bar = 1.0;
```
In a switch case, each case body must be one tab further case's own label. Like this:
``` c
switch (blah)
{
case foo:
foo - foo - foo;
foo - foo - foo - foo;
break;
case bar:
bar - bar;
bar - bar - bar;
break;
}
```
If you need to enclose a particular case into a bracket block, put the body one tab further:
``` c
switch (blah)
{
case foo:
{
float bar;
bar = foo - foo - foo;
foo - foo - foo - foo = bar;
break;
}
case bar:
bar - bar;
bar - bar - bar;
break;
}
```
## Code splitting
If a code block becomes too large, it is recommended to split it into several "sub-blocks" with empty lines, taking each sub-block's meaning into account, like this:
``` c
foo = foo_foo + foo_foo_foo;
if (foo)
foo - foo - foo - foo - foo;
foo - foo = foo;
bar = (bar - bar > bar) ? (bar - bar) : 0;
bar - bar - bar = bar - bar - bar;
```
Conditional statements, if there are many, should be grouped according to their meaning. That is, if you are doing early exit from the function because of different conditions, group them as such:
``` c
if (coll.Floor > CLICK(1) && coll.Ceiling < CLICK(3) && bounds.Y1 > WALL_SIZE)
return false;
if (enemy.health <= 0 || lara.health <= 0 || collidedItems[0] == nullptr)
return false;
```
However, if there are few conditional statements, you can group them together. The rule of thumb is if there are more than three conditional statements and two of them are of a different kind, split them. This variant is allowed:
``` c
if (coll.Floor > CLICK(2) && coll.Ceiling < CLICK(4) || lara.health <= 0)
return false;
```
Sometimes IDA decompiled output generates "pascal-styled" or "basic-styled" variable declarations at the beginning of the function or code block. Like this:
``` c
int foo, bar = 0;
float blah;
...
blah = foo;
foo = bar;
...
```
**Please**, get rid of this style everywhere you see it and declare variables in the place narrowest to its actual usage, like this:
``` c
int foo = foo;
float blah = bar;
...
```
Let's cite [Google Style Guide](https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Local_Variables) here:
> Place a function's variables in the narrowest scope possible, and initialize variables in the declaration.
## Naming
* Use `auto` where possible and if the original type name is longer than `auto`. E.g. there is no point in changing `bool enabled = true` to `auto enabled = true`. Remember that C++ `auto` **is not similar to C#** `var`, and for referencing existing value with `auto`, you should add `&` to it in the end, e.g. `auto& item = g_Level.Items[itemIndex];` Also, for underlying pointer types, please write `auto*` instead of `auto`, even if it seems redundant.
* Avoid using Hungarian notation for function names. Currently, inconsistent notation indicates an unrefactored coding style, because the original code used inconsistent naming, like `SOUND_Stop()`, `have_i_got_object()` or `gar_SuperpackYXZ()`. These should eventually be eradicated along the course of code restyling. For new function names, `PascalCase` should be used.
* For global struct or class members or methods, `PascalCase` should be used. For local variable names, `camelCase` should be used. For global variables, which are temporary until full refactoring occurs, an exclusive case of Hungarian notation with the `g_` prefix (e.g. `g_Foo`) is permitted.
* Functions designed to take an enum argument should take the enum type itself instead of an int or short. `PassInfo(InfoEnum type)` is more readable and error-proof than `PassInfo(int type)`.
* Functions designed to return boolean value (0 or 1) should define return type as bool. Please don't use `int` return type and don't write `return 0` or `return 1` in bool return functions, use `return false` or `return true`.
* Use the following convention for Pointers and References: `Type* somePointer` / `Type& someReference`. Do not write this: `Type * somePointer` / `Type & someReference` or `Type *somePointer` / `Type &someReference`. Pointers and references are distinct types, hence why the notation for them should have the token on the side of the type.
* Avoid unscoped enum types. For scoped `enum class` types, use `PascalCase` without including enum prefix:
``` c
enum class WeatherType
{
None,
Rain,
Snow,
Cats,
Dogs
};
```
`ENUM_ALL_CAPS` primarily indicates old C-styled Core notation. For C-styled (unscoped) enum values themselves, `ALL_CAPS` may be used for now, along with enum prefix:
``` c
enum LaraWeaponType
{
WEAPON_NONE,
WEAPON_PISTOLS,
WEAPON_REVOLVER
};
```
## Data types
Avoid using `_t` data types, such as `uint8_t`, `int8_t`, `int16_t` etc. Use `unsigned char`, `signed char`, `short` etc. instead. If new variables or fields are introduced, prefer longer and more contemporary data types over deprecated ones. That is, if integer value is used, use `int` instead of `char` or `short`. If potentially fractional value is used (such as coordinates which are eventually multiplied or divided or transformed otherwise), prefer `float` over `int`.
For legacy functions and code paths, preserving original data types may be necessary. Special case are angle values - original games used weird `signed short` angle convention. So extra caution must be taken when writing code which operates on native TR angles, and it should always be kept in variables of `signed short` data type.
Prefer using references over pointers, both in function body and as arguments. When using references or pointers, prefix with `const` for read-only safety if the variable is not being written to.
## Casting
Prefer using C-styled casting instead of C++-styled casting where it is safe. While using it, avoid separating casting operator and variable with space:
`bar = (int)foo;`
For expressions, you can enclose expression into brackets to cast it:
`bar = int(foo + blah * 4);`
Using C++-styled casting is allowed when C-styled casting provides undefined or unacceptable behaviour.
## Includes
For header files from project itself, always use includes with quotes, not with brackets. Also avoid using Windows-specific `\` backslash symbols to specify subpaths, only use normal `/` slashes. Also please include full path to a header file and order includes alphabetically:
```c
#include "Game/effects/lightning.h"
#include "Specific/phd_math.h"
```
Includes with brackets are only allowed when using external libraries:
```c
#include <algorithm>
#include "Game/collision/collide.h"
```
## Namespaces
Don't shorten `std` namespace types and methods by using `using` directive. This is bad: `auto x = vector<int>();`
Leave them as is. This is good: `auto x = std::vector<int>();`
## Comments
Use `//`-styled comments where possible.
Only use `/* */` style in case you are about to temporarily comment certain block for testing purposes or when writing a comment that will serve as the source for generated documentation.
Use a `NOTE: ` prefix in your comment if you want to highlight something particularly noteworthy:
```c
// NOTE: Will not work for bones at ends of hierarchies.
float GetBoneLength(GAME_OBJECT_ID objectID, int boneIndex)
{
const auto& object = Objects[objectID];
if (object.nmeshes == boneIndex)
return 0.0f;
auto nextBoneOffset = GetJointOffset(objectID, boneIndex + 1);
return nextBoneOffset.Length();
}
```
Use a `FAILSAFE: ` prefix in your comment if you want to highlight a particularly quirky solution without an obvious and clear purpose:
```c
if (portalRoomNumber != NO_VALUE &&
rayRoomNumber != portalRoomNumber) // FAILSAFE: Prevent infinite loop if room portal leads back to itself.
{
player.Explode();
}
```
## Branches and pull requests
Make sure that epic branches (tens or hundreds of files changed due to renames, namespace wrappings, etc) **are focused on a single feature or task**. Don't jump in to others epic branches with another round of your epic changes. It masks bugs and makes review process very cumbersome.
Avoid making new branches based on unapproved epic PRs which are in the process of review. It may render your work useless if parent epic branch is unapproved and scrapped.

View file

@ -1,7 +1,11 @@
@echo off
setlocal
set DOC_DIR=.\doc
set LDOC_DIR=.\compiler\ldoc
set LUA_PATH=.\compiler\?.lua
set LUA_CPATH=.\compiler\?.dll
rmdir /s /q %DOC_DIR%
mkdir %DOC_DIR%
.\compiler\lua.exe %LDOC_DIR%\\ldoc.lua %*
del output.xml
exit /b %ERRORLEVEL%

View file

@ -12,29 +12,29 @@ new_type("luautil", "5 Lua utility modules", true)
not_luadoc = true
local version = "1.3"
project = "TombEngine"
local version = "1.8.1"
project = "&nbsp;TombEngine"
title = "TombEngine " .. version .. " Lua API"
description = "TombEngine " .. version .. " scripting interface"
full_description = [[Welcome to the TombEngine scripting API. This is a work in progress and some information might be wrong or outdated. Please also note that this is primarily a reference document, not a tutorial, so expect descriptions to be fairly sparse.
full_description = [[Welcome to the TombEngine scripting API.
Note that this is primarily a reference document, not a tutorial, so expect descriptions to be fairly sparse.
At the time of writing, there is a tutorial describing the basics of Lua, as well as a number of example scripts, on <a href="https://www.tombengine.com">the TombEngine website</a>.
####Module Hierarchy (boring but important)
Other than the "special tables" (GameVars, LevelVars and LevelFuncs), every module described herein is held in a master table called TEN.
####Module Hierarchy
Other than the "special tables" (`GameVars`, `LevelVars` and `LevelFuncs`), every module described herein is held in a master table called TEN.
For convenience, these modules and classes are automatically put in the global table. For example, you can call GetMoveableByName either of these two ways:
local door = TEN.Objects.GetMoveableByName("door_type4_14")
local door = GetMoveableByName("door_type4_14")
####Always check logs/TENLog.txt
If you are scripting levels, TombEngine will often kick you back to the title screen, even if `errorMode` (see Flow.Settings) is set to `ErrorMode.WARN` or `ErrorMode.SILENT`.
If you are scripting levels, TombEngine will often kick you back to the title screen, even if `errorMode` (see @{Flow.Settings}) is set to `ErrorMode.WARN` or `ErrorMode.SILENT`.
This might get annoying, but it's on purpose. If your Lua script contains a syntax error (e.g. you're missing `end` at the end of a function), the Lua interpreter will not be able to continue running the script. If it tried to keep running, you'd probably see some pretty strange behaviour, and would possibly get a crash regardless.
This might get annoying, but it's on purpose. If your Lua script contains a syntax error (e.g. you're missing `end` at the end of a function), the Lua interpreter will not be able to continue running the script. If it tried to keep running, you'd probably see some pretty strange behaviour, and would possibly get a crash regardless. If this happens, check __logs/TENLog.txt__ and look for an error message with the word "unrecoverable".
If this happens, check __logs/TENLog.txt__ and look for an error message with the word "unrecoverable".
Happy building!
Enjoy.
\- _squidshire_
\- _squidshire and the TombEngine development team._
]]
convert_opt=true

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -109,26 +124,38 @@
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#EmitLightningArc">EmitLightningArc(src, dest, color, lifetime, amplitude, beamWidth, detail, smooth, endDrift)</a></td>
<td class="name" ><a href="#EmitLightningArc">EmitLightningArc(origin, target, color, life, amplitude, beamWidth, detail, smooth, endDrift)</a></td>
<td class="summary">Emit a lightning arc.</td>
</tr>
<tr>
<td class="name" ><a href="#EmitParticle">EmitParticle(pos, velocity, spriteIndex, gravity, rot, startColor, endColor, blendMode, startSize, endSize, lifetime, damage, poison)</a></td>
<td class="name" ><a href="#EmitParticle">EmitParticle(pos, vel, spriteID, gravity, rotVel, startColor, endColor, blendMode, startSize, endSize, life, damage, poison, spriteSeqID, startRot)</a></td>
<td class="summary">Emit a particle.</td>
</tr>
<tr>
<td class="name" ><a href="#EmitAdvancedParticle">EmitAdvancedParticle(ParticleData)</a></td>
<td class="summary">Emit a particle with extensive configuration options, including sprite sequence animation, lights, sounds, and damage effects.</td>
</tr>
<tr>
<td class="name" ><a href="#EmitShockwave">EmitShockwave(pos, innerRadius, outerRadius, color, lifetime, speed, angle, hurtsLara)</a></td>
<td class="summary">Emit a shockwave, similar to that seen when a harpy projectile hits something.</td>
</tr>
<tr>
<td class="name" ><a href="#EmitLight">EmitLight(pos, color, radius)</a></td>
<td class="name" ><a href="#EmitLight">EmitLight(pos[, color][, radius][, shadows][, name])</a></td>
<td class="summary">Emit dynamic light that lasts for a single frame.</td>
</tr>
<tr>
<td class="name" ><a href="#EmitSpotLight">EmitSpotLight(pos, dir[, color][, radius][, falloff][, distance][, shadows][, name])</a></td>
<td class="summary">Emit dynamic directional spotlight that lasts for a single frame.</td>
</tr>
<tr>
<td class="name" ><a href="#EmitBlood">EmitBlood(pos, count)</a></td>
<td class="summary">Emit blood.</td>
</tr>
<tr>
<td class="name" ><a href="#EmitAirBubble">EmitAirBubble(pos[, size][, amp])</a></td>
<td class="summary">Emit an air bubble in a water room.</td>
</tr>
<tr>
<td class="name" ><a href="#EmitFire">EmitFire(pos, size)</a></td>
<td class="summary">Emit fire for one frame.</td>
</tr>
@ -140,6 +167,21 @@
<td class="name" ><a href="#MakeEarthquake">MakeEarthquake(strength)</a></td>
<td class="summary">Make an earthquake</td>
</tr>
<tr>
<td class="name" ><a href="#GetWind">GetWind()</a></td>
<td class="summary">Get the wind vector for the current game frame.</td>
</tr>
<tr>
<td class="name" ><a href="#EmitStreamer">EmitStreamer(mov, tag, pos, dir[, rot][, startColor][, endColor][, width][, life][, vel][, expRate][, rotRate][, edgeFeatherMode][, lengthFeatherMode][, blendID])</a></td>
<td class="summary">Emit an extending streamer effect.</td>
</tr>
</table>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#ParticleData">ParticleData</a></td>
<td class="summary">Structure for EmitAdvancedParticle table.</td>
</tr>
</table>
<br/>
@ -151,7 +193,7 @@
<dl class="function">
<dt>
<a name = "EmitLightningArc"></a>
<strong>EmitLightningArc(src, dest, color, lifetime, amplitude, beamWidth, detail, smooth, endDrift)</strong>
<strong>EmitLightningArc(origin, target, color, life, amplitude, beamWidth, detail, smooth, endDrift)</strong>
</dt>
<dd>
Emit a lightning arc.
@ -160,13 +202,13 @@
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">src</span>
<li><span class="parameter">origin</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
</li>
<li><span class="parameter">dest</span>
<li><span class="parameter">target</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
@ -176,29 +218,29 @@
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
(default Color(255, 255, 255))
</li>
<li><span class="parameter">lifetime</span>
<li><span class="parameter">life</span>
<span class="types"><span class="type">float</span></span>
Lifetime in seconds. Clamped to [0, 4.233] for now because of strange internal maths. (default 1.0)
Lifetime in seconds. Clamped to [0, 4.233] for now because of strange internal maths. <strong>default: 1</strong>
</li>
<li><span class="parameter">amplitude</span>
<span class="types"><span class="type">int</span></span>
"strength" of the lightning - the higher the value, the "taller" the arcs. Clamped to [1, 255]. (default 20)
"strength" of the lightning - the higher the value, the "taller" the arcs. Clamped to [1, 255]. <strong>default: 20</strong>
</li>
<li><span class="parameter">beamWidth</span>
<span class="types"><span class="type">int</span></span>
Clamped to [1, 127]. (default 2)
Clamped to [1, 127]. <strong>default 2</strong>
</li>
<li><span class="parameter">detail</span>
<span class="types"><span class="type">int</span></span>
Higher numbers equal more segments, but it's not a 1:1 correlation. Clamped to [1, 127]. (default 10)
Higher numbers equal more segments, but it's not a 1:1 correlation. Clamped to [1, 127]. <strong>default: 10</strong>
</li>
<li><span class="parameter">smooth</span>
<span class="types"><span class="type">bool</span></span>
If true, the arc will have large, smooth curves; if false, it will have small, jagged spikes. (default false)
If true, the arc will have large, smooth curves; if false, it will have small, jagged spikes. <strong>default: false</strong>
</li>
<li><span class="parameter">endDrift</span>
<span class="types"><span class="type">bool</span></span>
If true, the end of the arc will be able to gradually drift away from its destination in a random direction (default false)
If true, the end of the arc will be able to gradually drift away from its destination in a random direction <strong>default: false</strong>
</li>
</ul>
@ -209,14 +251,10 @@
</dd>
<dt>
<a name = "EmitParticle"></a>
<strong>EmitParticle(pos, velocity, spriteIndex, gravity, rot, startColor, endColor, blendMode, startSize, endSize, lifetime, damage, poison)</strong>
<strong>EmitParticle(pos, vel, spriteID, gravity, rotVel, startColor, endColor, blendMode, startSize, endSize, life, damage, poison, spriteSeqID, startRot)</strong>
</dt>
<dd>
<p>Emit a particle. </p>
<pre><code> See the sprite editor in WadTool for DEFAULT_SPRITES to see a list of sprite indices.
</code></pre>
Emit a particle.
@ -224,59 +262,63 @@
<ul>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
World position.
</li>
<li><span class="parameter">velocity</span>
<li><span class="parameter">vel</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Directional velocity.
</li>
<li><span class="parameter">spriteIndex</span>
<li><span class="parameter">spriteID</span>
<span class="types"><span class="type">int</span></span>
an index of a sprite in DEFAULT_SPRITES object.
Sprite ID in the sprite sequence slot.
</li>
<li><span class="parameter">gravity</span>
<span class="types"><span class="type">int</span></span>
(default 0) Specifies whether particle will fall (positive values) or ascend (negative values) over time. Clamped to [-32768, 32767], but values between -1000 and 1000 are recommended; values too high or too low (e.g. under -2000 or above 2000) will cause the velocity of the particle to "wrap around" and switch directions.
</li>
<li><span class="parameter">rot</span>
<span class="types"><span class="type">float</span></span>
(default 0) specifies a speed with which it will rotate (0 = no rotation, negative = anticlockwise rotation, positive = clockwise rotation).
Effect of gravity. Positive value ascends, negative value descends. <strong>default: 0</strong>
</li>
<li><span class="parameter">rotVel</span>
<span class="types"><span class="type">float</span></span>
Rotational velocity in degrees. <strong>default: 0</strong>
</li>
<li><span class="parameter">startColor</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
(default Color(255, 255, 255)) color at start of life
Color at start of life. <strong>default: Color(255, 255, 255)</strong>
</li>
<li><span class="parameter">endColor</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
(default Color(255, 255, 255)) color to fade to - at the time of writing this fade will finish long before the end of the particle's life due to internal maths
Color at end of life. This will finish long before the end of the particle's life due to internal math. <strong>default: Color(255, 255, 255)</strong>
</li>
<li><span class="parameter">blendMode</span>
<span class="types"><a class="type" href="../4 enums/Effects.BlendID.html#">BlendID</a></span>
(default TEN.Effects.BlendID.ALPHABLEND) How will we blend this with its surroundings?
Render blend mode. <strong>TEN.Effects.BlendID.ALPHA_BLEND</strong>
</li>
<li><span class="parameter">startSize</span>
<span class="types"><span class="type">int</span></span>
(default 10) Size on spawn. A value of 15 is approximately the size of Lara's head.
<span class="types"><span class="type">float</span></span>
Size at start of life. <strong>default: 10</strong>
</li>
<li><span class="parameter">endSize</span>
<span class="types"><span class="type">int</span></span>
(default 0) Size on death - the particle will linearly shrink or grow to this size during its lifespan
</li>
<li><span class="parameter">lifetime</span>
<span class="types"><span class="type">float</span></span>
(default 2) Lifespan in seconds
Size at end of life. <strong>default: 0</strong>
</li>
<li><span class="parameter">life</span>
<span class="types"><span class="type">float</span></span>
Lifespan in seconds. <strong>default: 2</strong>
</li>
<li><span class="parameter">damage</span>
<span class="types"><span class="type">bool</span></span>
(default false) specifies whether particle can damage Lara (does a very small amount of damage, like the small lava emitters in TR1)
Harm the player on collision. <strong>default: false</strong>
</li>
<li><span class="parameter">poison</span>
<span class="types"><span class="type">bool</span></span>
(default false) specifies whether particle can poison Lara
Poison the player on collision. <strong>default: false</strong>
</li>
<li><span class="parameter">spriteSeqID</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#SpriteConstants">SpriteConstants</a></span>
Sprite sequence slot ID. <strong>default: Objects.ObjID.DEFAULT_SPRITES</strong>
</li>
<li><span class="parameter">startRot</span>
<span class="types"><span class="type">float</span></span>
Rotation at start of life. <strong>default: random</strong>
</li>
</ul>
@ -286,20 +328,77 @@
<h3>Usage:</h3>
<ul>
<pre class="example">EmitParticle(
yourPositionVarHere,
Vec3(<span class="global">math</span>.random(), <span class="global">math</span>.random(), <span class="global">math</span>.random()),
<span class="number">22</span>, <span class="comment">-- spriteIndex
</span> <span class="number">0</span>, <span class="comment">-- gravity
</span> -<span class="number">2</span>, <span class="comment">-- rot
</span> Color(<span class="number">255</span>, <span class="number">0</span>, <span class="number">0</span>), <span class="comment">-- startColor
</span> Color(<span class="number">0</span>, <span class="number">255</span>, <span class="number">0</span>), <span class="comment">-- endColor
</span> TEN.Effects.BlendID.ADDITIVE, <span class="comment">-- blendMode
</span> <span class="number">15</span>, <span class="comment">-- startSize
</span> <span class="number">50</span>, <span class="comment">-- endSize
</span> <span class="number">20</span>, <span class="comment">-- lifetime
</span> <span class="keyword">false</span>, <span class="comment">-- damage
</span> <span class="keyword">true</span> <span class="comment">-- poison
</span> )</pre>
pos,
Vec3(<span class="global">math</span>.random(), <span class="global">math</span>.random(), <span class="global">math</span>.random()),
<span class="number">22</span>, <span class="comment">-- spriteID
</span> <span class="number">0</span>, <span class="comment">-- gravity
</span> -<span class="number">2</span>, <span class="comment">-- rotVel
</span> Color(<span class="number">255</span>, <span class="number">0</span>, <span class="number">0</span>), <span class="comment">-- startColor
</span> Color(<span class="number">0</span>, <span class="number">255</span>, <span class="number">0</span>), <span class="comment">-- endColor
</span> TEN.Effects.BlendID.ADDITIVE, <span class="comment">-- blendMode
</span> <span class="number">15</span>, <span class="comment">-- startSize
</span> <span class="number">50</span>, <span class="comment">-- endSize
</span> <span class="number">20</span>, <span class="comment">-- life
</span> <span class="keyword">false</span>, <span class="comment">-- damage
</span> <span class="keyword">true</span>, <span class="comment">-- poison
</span> Objects.ObjID.DEFAULT_SPRITES, <span class="comment">-- spriteSeqID
</span> <span class="number">180</span>) <span class="comment">-- startRot</span></pre>
</ul>
</dd>
<dt>
<a name = "EmitAdvancedParticle"></a>
<strong>EmitAdvancedParticle(ParticleData)</strong>
</dt>
<dd>
Emit a particle with extensive configuration options, including sprite sequence animation, lights, sounds, and damage effects.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">ParticleData</span>
<span class="types"><a class="type" href="../1 modules/Effects.html#ParticleData">ParticleData</a></span>
Table containing particle data.
</li>
</ul>
<h3>Usage:</h3>
<ul>
<pre class="example"><span class="keyword">local</span> particle =
{
pos = GetMoveableByName(<span class="string">"camera_target_6"</span>):GetPosition(),
vel = Vec3(<span class="number">0</span>, <span class="number">0</span>, <span class="number">10</span>),
spriteSeqID = TEN.Objects.ObjID.CUSTOM_BAR_GRAPHIC,
spriteID = <span class="number">0</span>,
life = <span class="number">10</span>,
maxYVel = <span class="number">0</span>,
gravity = <span class="number">0</span>,
friction = <span class="number">10</span>,
startRot = <span class="number">0</span>,
rotVel = <span class="number">0</span>,
startSize = <span class="number">80</span>,
endSize = <span class="number">80</span>,
startColor = TEN.Color(<span class="number">128</span>, <span class="number">128</span>, <span class="number">128</span>),
endColor = TEN.Color(<span class="number">128</span>, <span class="number">128</span>, <span class="number">128</span>),
blendMode = TEN.Effects.BlendID.ADDITIVE,
wind = <span class="keyword">false</span>,
damage = <span class="keyword">true</span>,
poison = <span class="keyword">false</span>,
burn = <span class="keyword">false</span>,
damageHit = <span class="number">80</span>,
soundID = <span class="number">197</span>,
light = <span class="keyword">true</span>,
lightRadius = <span class="number">6</span>,
lightFlicker = <span class="number">5</span>,
animated = <span class="keyword">true</span>,
frameRate = <span class="number">0.25</span>,
animType = TEN.Effects.ParticleAnimationType.LOOP,
}
EmitAdvancedParticle(particle)</pre>
</ul>
</dd>
@ -355,7 +454,7 @@
</dd>
<dt>
<a name = "EmitLight"></a>
<strong>EmitLight(pos, color, radius)</strong>
<strong>EmitLight(pos[, color][, radius][, shadows][, name])</strong>
</dt>
<dd>
Emit dynamic light that lasts for a single frame.
@ -367,17 +466,84 @@
<ul>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
position of the light
</li>
<li><span class="parameter">color</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
light color (default Color(255, 255, 255))
(<em>optional</em>)
</li>
<li><span class="parameter">radius</span>
<span class="types"><span class="type">int</span></span>
measured in "clicks" or 256 world units (default 20)
(<em>optional</em>)
</li>
<li><span class="parameter">shadows</span>
<span class="types"><span class="type">bool</span></span>
determines whether light should generate dynamic shadows for applicable moveables (default is false)
(<em>optional</em>)
</li>
<li><span class="parameter">name</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
if provided, engine will interpolate this light for high framerate mode (be careful not to use same name for different lights)
(<em>optional</em>)
</li>
</ul>
</dd>
<dt>
<a name = "EmitSpotLight"></a>
<strong>EmitSpotLight(pos, dir[, color][, radius][, falloff][, distance][, shadows][, name])</strong>
</dt>
<dd>
Emit dynamic directional spotlight that lasts for a single frame.
If you want a light that sticks around, you must call this each frame.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
position of the light
</li>
<li><span class="parameter">dir</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
normal which indicates light direction
</li>
<li><span class="parameter">color</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
(default Color(255, 255, 255))
(<em>optional</em>)
</li>
<li><span class="parameter">radius</span>
<span class="types"><span class="type">int</span></span>
(default 20) corresponds loosely to both intensity and range
overall radius at the endpoint of a light cone, measured in "clicks" or 256 world units (default 10)
(<em>optional</em>)
</li>
<li><span class="parameter">falloff</span>
<span class="types"><span class="type">int</span></span>
radius, at which light starts to fade out, measured in "clicks" (default 5)
(<em>optional</em>)
</li>
<li><span class="parameter">distance</span>
<span class="types"><span class="type">int</span></span>
distance, at which light cone fades out, measured in "clicks" (default 20)
(<em>optional</em>)
</li>
<li><span class="parameter">shadows</span>
<span class="types"><span class="type">bool</span></span>
determines whether light should generate dynamic shadows for applicable moveables (default is false)
(<em>optional</em>)
</li>
<li><span class="parameter">name</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
if provided, engine will interpolate this light for high framerate mode (be careful not to use same name for different lights)
(<em>optional</em>)
</li>
</ul>
@ -405,7 +571,39 @@
</li>
<li><span class="parameter">count</span>
<span class="types"><span class="type">int</span></span>
(default 1) "amount" of blood. Higher numbers won't add more blood but will make it more "flickery", with higher numbers turning it into a kind of red orb.
Sprite count. <strong>default: 1</strong>
</li>
</ul>
</dd>
<dt>
<a name = "EmitAirBubble"></a>
<strong>EmitAirBubble(pos[, size][, amp])</strong>
</dt>
<dd>
Emit an air bubble in a water room.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
World position where the effect will be spawned. Must be in a water room.
</li>
<li><span class="parameter">size</span>
<span class="types"><span class="type">float</span></span>
Sprite size. <strong>Default: 32</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">amp</span>
<span class="types"><span class="type">float</span></span>
Oscillation amplitude. <strong>Default: 32</strong>
(<em>optional</em>)
</li>
</ul>
@ -419,7 +617,7 @@
<strong>EmitFire(pos, size)</strong>
</dt>
<dd>
Emit fire for one frame. Will not hurt Lara. Call this each frame if you want a continuous fire.
Emit fire for one frame. Will not hurt player. Call this each frame if you want a continuous fire.
@ -433,7 +631,7 @@
</li>
<li><span class="parameter">size</span>
<span class="types"><span class="type">float</span></span>
(default 1.0)
Fire size. <strong>default: 1</strong>
</li>
</ul>
@ -495,6 +693,272 @@
</dd>
<dt>
<a name = "GetWind"></a>
<strong>GetWind()</strong>
</dt>
<dd>
Get the wind vector for the current game frame.
This represents the 3D displacement applied by the engine on things like particles affected by wind.()
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Wind vector.
</ol>
</dd>
<dt>
<a name = "EmitStreamer"></a>
<strong>EmitStreamer(mov, tag, pos, dir[, rot][, startColor][, endColor][, width][, life][, vel][, expRate][, rotRate][, edgeFeatherMode][, lengthFeatherMode][, blendID])</strong>
</dt>
<dd>
Emit an extending streamer effect.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">mov</span>
<span class="types"><span class="type">Moveable</span></span>
Moveable object with which to associate the effect.
</li>
<li><span class="parameter">tag</span>
<span class="types"><span class="type">int[opt]</span></span>
Numeric tag with which to associate the effect on the moveable. <strong>Default: 0</strong>
</li>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
World position.
</li>
<li><span class="parameter">dir</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Direction vector of movement velocity.
</li>
<li><span class="parameter">rot</span>
<span class="types"><span class="type">float</span></span>
Start rotation in degrees. <strong>Default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">startColor</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
Color at the start of life. <strong>Default: Color(255, 255, 255, 255))</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">endColor</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
Color at the end of life. <strong>Default: Color(0, 0, 0, 0))</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">width</span>
<span class="types"><span class="type">float</span></span>
Width in world units. <strong>Default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">life</span>
<span class="types"><span class="type">float</span></span>
Lifetime in seconds. <strong>Default: 1</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">vel</span>
<span class="types"><span class="type">float</span></span>
Movement velocity in world units per second. <strong>Default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">expRate</span>
<span class="types"><span class="type">float</span></span>
Width expansion rate in world units per second. <strong>Default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">rotRate</span>
<span class="types"><span class="type">float</span></span>
Rotation rate in degrees per second. <strong>Default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">edgeFeatherMode</span>
<span class="types"><a class="type" href="../4 enums/Effects.StreamerFeatherMode.html#">StreamerFeatherMode</a></span>
Edge feather mode. <strong>Default: Effects.StreamerFeatherMode.NONE</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">lengthFeatherMode</span>
<span class="types"><a class="type" href="../4 enums/Effects.StreamerFeatherMode.html#">StreamerFeatherMode</a></span>
Length feather mode. <strong>UNIMPLEMENTED, currently will always leave a fading tail</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">blendID</span>
<span class="types"><a class="type" href="../4 enums/Effects.BlendID.html#">BlendID</a></span>
Renderer blend ID. <strong>Default: Effects.BlendID.ALPHA_BLEND</strong>
(<em>optional</em>)
</li>
</ul>
</dd>
</dl>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<dl class="function">
<dt>
<a name = "ParticleData"></a>
<strong>ParticleData</strong>
</dt>
<dd>
Structure for EmitAdvancedParticle table.
<h3>Fields:</h3>
<ul>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
World position.
</li>
<li><span class="parameter">vel</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Directional velocity in world units per second.
</li>
<li><span class="parameter">spriteSeqID</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#SpriteConstants">SpriteConstants</a></span>
Sprite sequence slot ID. <strong>default: Objects.ObjID.DEFAULT_SPRITES</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">spriteID</span>
<span class="types"><span class="type">int</span></span>
Sprite ID in the sprite sequence slot. <strong>default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">life</span>
<span class="types"><span class="type">float</span></span>
Lifespan in seconds. <strong>default: 2</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">maxYVel</span>
<span class="types"><span class="type">float</span></span>
Maximum vertical velocity in world units per second. <strong>default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">gravity</span>
<span class="types"><span class="type">float</span></span>
Effect of gravity in world units per second. Positive value ascend, negative value descend. <strong>default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">friction</span>
<span class="types"><span class="type">float</span></span>
Friction affecting velocity over time in world units per second. <strong>default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">startRot</span>
<span class="types"><span class="type">float</span></span>
Rotation at start of life. <strong>default: random</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">rotVel</span>
<span class="types"><span class="type">float</span></span>
Rotational velocity in degrees per second. <strong>default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">startSize</span>
<span class="types"><span class="type">float</span></span>
Size at start of life. <strong>default: 10</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">endSize</span>
<span class="types"><span class="type">float</span></span>
Size at end of life. <strong>default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">startColor</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
Color at start of life. <strong>default: Color(255, 255, 255)</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">endColor</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
Color at end of life. Note that this will finish long before the end of life due to internal math. <strong>default: Color(255, 255, 255)</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">blendMode</span>
<span class="types"><a class="type" href="../4 enums/Effects.BlendID.html#">BlendID</a></span>
Render blend mode. <strong>default: TEN.Effects.BlendID.ALPHA_BLEND</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">damage</span>
<span class="types"><span class="type">bool</span></span>
Harm the player on collision. <strong>default: false</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">poison</span>
<span class="types"><span class="type">bool</span></span>
Poison the player on collision. <strong>default: false</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">burn</span>
<span class="types"><span class="type">bool</span></span>
Burn the player on collision. <strong>default: false</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">wind</span>
<span class="types"><span class="type">bool</span></span>
Affect position by wind in outside rooms. <strong>default: false</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">damageHit</span>
<span class="types"><span class="type">int</span></span>
Player damage amount on collision. <strong>default: 2</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">light</span>
<span class="types"><span class="type">bool</span></span>
Emit a colored light. CAUTION: Recommended only for a single particle. Too many particles with lights can overwhelm the lighting system. <strong>default: false</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">lightRadius</span>
<span class="types"><span class="type">int</span></span>
Light radius in 1/4 blocks. <strong>default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">lightFlicker</span>
<span class="types"><span class="type">int</span></span>
Interval at which the light should flicker. <strong>default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">soundID</span>
<span class="types"><span class="type">int</span></span>
Sound ID to play. CAUTION: Recommended only for a single particle. Too many particles with sounds can overwhelm the sound system. <strong>default: none</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">animated</span>
<span class="types"><span class="type">bool</span></span>
Play animates sprite sequence. <strong>default: false</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">animType</span>
<span class="types"><a class="type" href="../4 enums/Effects.ParticleAnimationType.html#">ParticleAnimationType</a></span>
Animation type of the sprite sequence. <strong>default: TEN.Effects.ParticleAnimationType.LOOP</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">frameRate</span>
<span class="types"><span class="type">float</span></span>
Sprite sequence animation framerate. <strong>default: 1</strong>
(<em>optional</em>)
</li>
</ul>
</dd>
</dl>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -129,6 +144,10 @@ scripts too.</p>
<td class="summary">Enable or disable level selection in title flyby.</td>
</tr>
<tr>
<td class="name" ><a href="#EnableHomeLevel">EnableHomeLevel(enabled)</a></td>
<td class="summary">Enable or disable Home Level entry in the main menu.</td>
</tr>
<tr>
<td class="name" ><a href="#EnableLoadSave">EnableLoadSave(enabled)</a></td>
<td class="summary">Enable or disable saving and loading of savegames.</td>
</tr>
@ -137,7 +156,7 @@ scripts too.</p>
<table class="function_list">
<tr>
<td class="name" ><a href="#EnableFlyCheat">EnableFlyCheat(enabled)</a></td>
<td class="summary">Enable or disable DOZY mode (fly cheat).</td>
<td class="summary">Enable or disable the fly cheat.</td>
</tr>
<tr>
<td class="name" ><a href="#EnablePointFilter">EnablePointFilter(enabled)</a></td>
@ -160,10 +179,26 @@ scripts too.</p>
<td class="summary">Finishes the current level, with optional level index and start position index provided.</td>
</tr>
<tr>
<td class="name" ><a href="#GetStatistics">GetStatistics(game)</a></td>
<td class="summary">Get game or level statistics.</td>
</tr>
<tr>
<td class="name" ><a href="#SetStatistics">SetStatistics(statistics, game)</a></td>
<td class="summary">Set game or level statistics.</td>
</tr>
<tr>
<td class="name" ><a href="#GetGameStatus">GetGameStatus()</a></td>
<td class="summary">Get current game status, such as normal game loop, exiting to title, etc.</td>
</tr>
<tr>
<td class="name" ><a href="#GetFreezeMode">GetFreezeMode()</a></td>
<td class="summary">Get current freeze mode, such as none, full, spectator or player.</td>
</tr>
<tr>
<td class="name" ><a href="#SetFreezeMode">SetFreezeMode(freezeMode)</a></td>
<td class="summary">Set current freeze mode, such as none, full, spectator or player.</td>
</tr>
<tr>
<td class="name" ><a href="#SaveGame">SaveGame(slotID)</a></td>
<td class="summary">Save the game to a savegame slot.</td>
</tr>
@ -192,8 +227,12 @@ scripts too.</p>
<td class="summary">Adds one secret to current level secret count and also plays secret music track.</td>
</tr>
<tr>
<td class="name" ><a href="#SetTotalSecretCount">SetTotalSecretCount(total)</a></td>
<td class="summary">Total number of secrets in game.</td>
<td class="name" ><a href="#GetTotalSecretCount">GetTotalSecretCount()</a></td>
<td class="summary">Get total number of secrets in the game.</td>
</tr>
<tr>
<td class="name" ><a href="#SetTotalSecretCount">SetTotalSecretCount(count)</a></td>
<td class="summary">Set total number of secrets in the game.</td>
</tr>
<tr>
<td class="name" ><a href="#FlipMap">FlipMap(flipmap)</a></td>
@ -208,15 +247,11 @@ scripts too.</p>
<table class="function_list">
<tr>
<td class="name" ><a href="#SetSettings">SetSettings(settings)</a></td>
<td class="summary">
</td>
<td class="summary">Set provided settings table to an engine.</td>
</tr>
<tr>
<td class="name" ><a href="#SetAnimations">SetAnimations(animations)</a></td>
<td class="summary">
</td>
<td class="name" ><a href="#GetSettings">GetSettings()</a></td>
<td class="summary">Get settings table from an engine.</td>
</tr>
</table>
<h2><a href="#strings_lua">strings.lua </a></h2>
@ -230,6 +265,10 @@ scripts too.</p>
<td class="summary">Get translated string.</td>
</tr>
<tr>
<td class="name" ><a href="#IsStringPresent">IsStringPresent(string)</a></td>
<td class="summary">Check if translated string is present.</td>
</tr>
<tr>
<td class="name" ><a href="#SetLanguageNames">SetLanguageNames(table)</a></td>
<td class="summary">Set language names for translations.</td>
</tr>
@ -363,11 +402,11 @@ Must be true or false
</dd>
<dt>
<a name = "EnableLoadSave"></a>
<strong>EnableLoadSave(enabled)</strong>
<a name = "EnableHomeLevel"></a>
<strong>EnableHomeLevel(enabled)</strong>
</dt>
<dd>
Enable or disable saving and loading of savegames.
Enable or disable Home Level entry in the main menu. ()
@ -375,7 +414,29 @@ Must be true or false
<ul>
<li><span class="parameter">enabled</span>
<span class="types"><span class="type">bool</span></span>
true or false.
True or false.
</li>
</ul>
</dd>
<dt>
<a name = "EnableLoadSave"></a>
<strong>EnableLoadSave(enabled)</strong>
</dt>
<dd>
Enable or disable saving and loading of savegames. ()
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">enabled</span>
<span class="types"><span class="type">bool</span></span>
True or false.
</li>
</ul>
@ -393,8 +454,7 @@ Must be true or false
<strong>EnableFlyCheat(enabled)</strong>
</dt>
<dd>
Enable or disable DOZY mode (fly cheat).
Must be true or false
Enable or disable the fly cheat. ()
@ -402,7 +462,7 @@ Must be true or false
<ul>
<li><span class="parameter">enabled</span>
<span class="types"><span class="type">bool</span></span>
true or false
True or false.
</li>
</ul>
@ -538,6 +598,60 @@ teleported to such object with OCB similar to provided second argument.
</dd>
<dt>
<a name = "GetStatistics"></a>
<strong>GetStatistics(game)</strong>
</dt>
<dd>
Get game or level statistics. For reference about statistics class, see <a href="../2 classes/Flow.Statistics.html#">Flow.Statistics</a>.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">game</span>
<span class="types"><span class="type">bool</span></span>
if true, returns overall game statistics, otherwise returns current level statistics (default: false)
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../2 classes/Flow.Statistics.html#">Statistics</a></span>
statistics structure representing game or level statistics
</ol>
</dd>
<dt>
<a name = "SetStatistics"></a>
<strong>SetStatistics(statistics, game)</strong>
</dt>
<dd>
Set game or level statistics. For reference about statistics class, see <a href="../2 classes/Flow.Statistics.html#">Flow.Statistics</a>.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">statistics</span>
<span class="types"><a class="type" href="../2 classes/Flow.Statistics.html#">Statistics</a></span>
statistic object to set
</li>
<li><span class="parameter">game</span>
<span class="types"><span class="type">bool</span></span>
if true, sets overall game statistics, otherwise sets current level statistics (default: false)
</li>
</ul>
</dd>
<dt>
<a name = "GetGameStatus"></a>
@ -559,6 +673,51 @@ teleported to such object with OCB similar to provided second argument.
</dd>
<dt>
<a name = "GetFreezeMode"></a>
<strong>GetFreezeMode()</strong>
</dt>
<dd>
Get current freeze mode, such as none, full, spectator or player.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../4 enums/Flow.FreezeMode.html#">FreezeMode</a></span>
the current freeze mode
</ol>
</dd>
<dt>
<a name = "SetFreezeMode"></a>
<strong>SetFreezeMode(freezeMode)</strong>
</dt>
<dd>
Set current freeze mode, such as none, full, spectator or player. <br/>
Freeze mode specifies whether game is in normal mode or paused in a particular way to allow
custom menu creation, photo mode or time freeze.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">freezeMode</span>
<span class="types"><a class="type" href="../4 enums/Flow.FreezeMode.html#">FreezeMode</a></span>
new freeze mode to set.
</li>
</ul>
</dd>
<dt>
<a name = "SaveGame"></a>
@ -721,20 +880,41 @@ The index argument corresponds to the secret's unique ID, the same that would go
</dd>
<dt>
<a name = "SetTotalSecretCount"></a>
<strong>SetTotalSecretCount(total)</strong>
<a name = "GetTotalSecretCount"></a>
<strong>GetTotalSecretCount()</strong>
</dt>
<dd>
Total number of secrets in game.
Get total number of secrets in the game.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
Total number of secrets in the game.
</ol>
</dd>
<dt>
<a name = "SetTotalSecretCount"></a>
<strong>SetTotalSecretCount(count)</strong>
</dt>
<dd>
Set total number of secrets in the game.
Must be an integer value (0 means no secrets).
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">total</span>
<li><span class="parameter">count</span>
<span class="types"><span class="type">int</span></span>
number of secrets
Total number of secrets in the game.
</li>
</ul>
@ -756,7 +936,7 @@ Must be an integer value (0 means no secrets).
<ul>
<li><span class="parameter">flipmap</span>
<span class="types"><span class="type">int</span></span>
(ID of flipmap group to actuvate / deactivate)
ID of flipmap group to actuvate / deactivate.
</li>
</ul>
@ -798,8 +978,7 @@ Must be an integer value (0 means no secrets).
<h2 class="section-header has-description"><a name="settings_lua"></a>settings.lua </h2>
<div class="section-description">
These functions are called in settings.lua, a file which holds your local settings.
settings.lua shouldn't be bundled with any finished levels/games.
These functions are called in settings.lua, a file which holds global settings, such as system settings, flare color or animation movesets.
</div>
<dl class="function">
<dt>
@ -807,9 +986,7 @@ settings.lua shouldn't be bundled with any finished levels/games.
<strong>SetSettings(settings)</strong>
</dt>
<dd>
Set provided settings table to an engine.
@ -817,7 +994,7 @@ settings.lua shouldn't be bundled with any finished levels/games.
<ul>
<li><span class="parameter">settings</span>
<span class="types"><a class="type" href="../2 classes/Flow.Settings.html#">Settings</a></span>
a settings object
a settings table
</li>
</ul>
@ -827,24 +1004,21 @@ settings.lua shouldn't be bundled with any finished levels/games.
</dd>
<dt>
<a name = "SetAnimations"></a>
<strong>SetAnimations(animations)</strong>
<a name = "GetSettings"></a>
<strong>GetSettings()</strong>
</dt>
<dd>
Get settings table from an engine.
<h3>Returns:</h3>
<ol>
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">animations</span>
<span class="types"><a class="type" href="../2 classes/Flow.Animations.html#">Animations</a></span>
an animations object
</li>
</ul>
<span class="types"><a class="type" href="../2 classes/Flow.Settings.html#">Settings</a></span>
current settings table
</ol>
@ -902,6 +1076,28 @@ You will not need to call them manually.
</dd>
<dt>
<a name = "IsStringPresent"></a>
<strong>IsStringPresent(string)</strong>
</dt>
<dd>
Check if translated string is present.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">string</span>
<span class="types"><span class="type">key</span></span>
key for translated string
</li>
</ul>
</dd>
<dt>
<a name = "SetLanguageNames"></a>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -129,6 +144,10 @@
<td class="summary">Clear an action key.</td>
</tr>
<tr>
<td class="name" ><a href="#KeyClearAll">KeyClearAll()</a></td>
<td class="summary">Clear all action keys.</td>
</tr>
<tr>
<td class="name" ><a href="#GetMouseDisplayPosition">GetMouseDisplayPosition()</a></td>
<td class="summary">Get the display position of the cursor in percent.</td>
</tr>
@ -254,6 +273,21 @@
</dd>
<dt>
<a name = "KeyClearAll"></a>
<strong>KeyClearAll()</strong>
</dt>
<dd>
Clear all action keys.
</dd>
<dt>
<a name = "GetMouseDisplayPosition"></a>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -124,6 +139,18 @@
<td class="name" ><a href="#SetItemCount">SetItemCount(objectID, count)</a></td>
<td class="summary">Set the amount of an item in the player's inventory.</td>
</tr>
<tr>
<td class="name" ><a href="#GetUsedItem">GetUsedItem()</a></td>
<td class="summary">Get last item used in the player's inventory.</td>
</tr>
<tr>
<td class="name" ><a href="#SetUsedItem">SetUsedItem(objectID)</a></td>
<td class="summary">Set last item used in the player's inventory.</td>
</tr>
<tr>
<td class="name" ><a href="#ClearUsedItem">ClearUsedItem()</a></td>
<td class="summary">Clear last item used in the player's inventory.</td>
</tr>
</table>
<br/>
@ -245,6 +272,70 @@
</dd>
<dt>
<a name = "GetUsedItem"></a>
<strong>GetUsedItem()</strong>
</dt>
<dd>
Get last item used in the player's inventory.
This value will be valid only for a single frame after exiting inventory, after which Lara says "No".
Therefore, this function must be preferably used either in OnLoop or OnUseItem events.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
Last item used in the inventory.
</ol>
</dd>
<dt>
<a name = "SetUsedItem"></a>
<strong>SetUsedItem(objectID)</strong>
</dt>
<dd>
Set last item used in the player's inventory.
You will be able to specify only objects which already exist in the inventory.
Will only be valid for the next frame. If not processed by the game, Lara will say "No".
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">objectID</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
Object ID of the item to select from inventory.
</li>
</ul>
</dd>
<dt>
<a name = "ClearUsedItem"></a>
<strong>ClearUsedItem()</strong>
</dt>
<dd>
Clear last item used in the player's inventory.
When this function is used in OnUseItem level function, it allows to override existing item functionality.
For items without existing functionality, this function is needed to avoid Lara saying "No" after using it.
</dd>
</dl>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -172,22 +187,29 @@ designer to add calls to <code>OnStart</code>, <code>OnLoad</code>, etc. in thei
<p>Possible values for <code>point</code>:</p>
<pre class="example"><span class="comment">-- These take functions which accept no arguments
</span>PRESTART <span class="comment">-- will be called immediately before OnStart
</span>POSTSTART <span class="comment">-- will be called immediately after OnStart
</span>PRE_START <span class="comment">-- will be called immediately before OnStart
</span>POST_START <span class="comment">-- will be called immediately after OnStart
</span>
PRESAVE <span class="comment">-- will be called immediately before OnSave
</span>POSTSAVE <span class="comment">-- will be called immediately after OnSave
PRE_SAVE <span class="comment">-- will be called immediately before OnSave
</span>POST_SAVE <span class="comment">-- will be called immediately after OnSave
</span>
PRELOAD <span class="comment">-- will be called immediately before OnLoad
</span>POSTLOAD <span class="comment">-- will be called immediately after OnLoad
PRE_LOAD <span class="comment">-- will be called immediately before OnLoad
</span>POST_LOAD <span class="comment">-- will be called immediately after OnLoad
</span>
PRE_FREEZE <span class="comment">-- will be called before entering freeze mode
</span>POST_FREEZE <span class="comment">-- will be called immediately after exiting freeze mode
</span>
<span class="comment">-- These take a LevelEndReason arg, like OnEnd
</span>PREEND <span class="comment">-- will be called immediately before OnEnd
</span>POSTEND <span class="comment">-- will be called immediately after OnEnd
</span>PRE_END <span class="comment">-- will be called immediately before OnEnd
</span>POST_END <span class="comment">-- will be called immediately after OnEnd
</span>
<span class="comment">-- These take functions which accepts a deltaTime argument
</span>PRELOOP <span class="comment">-- will be called in the beginning of game loop
</span>POSTLOOP <span class="comment">-- will be called at the end of game loop
</span>PRE_LOOP <span class="comment">-- will be called in the beginning of game loop
</span>POST_LOOP <span class="comment">-- will be called at the end of game loop
</span>
<span class="comment">-- These take functions which accepts an objectNumber argument, like OnUseItem
</span>PRE_USE_ITEM <span class="comment">-- will be called immediately before OnUseItem
</span>POST_USE_ITEM <span class="comment">-- will be called immediately after OnUseItem
</span></pre>
<p>The order in which two functions with the same CallbackPoint are called is undefined.
i.e. if you register <code>MyFunc</code> and <code>MyFunc2</code> with <code>PRELOOP</code>, both will be called in the beginning of game loop, but there is no guarantee that <code>MyFunc</code> will be called before <code>MyFunc2</code>, or vice-versa.</p>
@ -263,7 +285,9 @@ LOAD
SAVE
START
END
LOOP</pre>
LOOP
USE_ITEM
MENU</pre>
<h3>Parameters:</h3>
@ -492,9 +516,9 @@ and provides the delta time (a float representing game time since last call) via
<p>(EndReason) Will be called when leaving a level. This includes finishing it, exiting to the menu, or loading a save in a different level. It can take an <code>EndReason</code> arg:</p>
<pre><code>EXITTOTITLE
LEVELCOMPLETE
LOADGAME
<pre><code>EXIT_TO_TITLE
LEVEL_COMPLETE
LOAD_GAME
DEATH
OTHER
</code></pre>
@ -508,6 +532,14 @@ end
</code></pre>
</li>
<li><span class="parameter">OnUseItem</span>
<span class="types"><span class="type">function</span></span>
Will be called when using an item from inventory.
</li>
<li><span class="parameter">OnFreeze</span>
<span class="types"><span class="type">function</span></span>
Will be called when any of the Freeze modes are activated.
</li>
</ul>

File diff suppressed because it is too large Load diff

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -100,7 +115,7 @@
<div id="content">
<h1>Table <code>Objects</code></h1>
<p>Moveables, statics, cameras, and so on.</p>
<p>Objects including moveables, statics, cameras, and others.</p>
<p>
</p>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -109,40 +124,40 @@
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#PlayAudioTrack">PlayAudioTrack(name, type)</a></td>
<td class="summary">Play an audio track</td>
<td class="name" ><a href="#PlayAudioTrack">PlayAudioTrack(filename, type)</a></td>
<td class="summary">Play an audio track.</td>
</tr>
<tr>
<td class="name" ><a href="#SetAmbientTrack">SetAmbientTrack(name)</a></td>
<td class="summary">Set and play an ambient track</td>
<td class="name" ><a href="#SetAmbientTrack">SetAmbientTrack(name, fromStart)</a></td>
<td class="summary">Set and play an ambient track.</td>
</tr>
<tr>
<td class="name" ><a href="#StopAudioTracks">StopAudioTracks()</a></td>
<td class="summary">Stop any audio tracks currently playing</td>
<td class="summary">Stop any audio tracks currently playing.</td>
</tr>
<tr>
<td class="name" ><a href="#StopAudioTrack">StopAudioTrack(type)</a></td>
<td class="summary">Stop audio track that is currently playing</td>
<td class="summary">Stop audio track that is currently playing.</td>
</tr>
<tr>
<td class="name" ><a href="#GetAudioTrackLoudness">GetAudioTrackLoudness(type)</a></td>
<td class="summary">Get current loudness level for specified track type</td>
<td class="summary">Get current loudness level for specified track type.</td>
</tr>
<tr>
<td class="name" ><a href="#PlaySound">PlaySound(sound[, position])</a></td>
<td class="summary">Play sound effect</td>
<td class="name" ><a href="#PlaySound">PlaySound(soundID[, position])</a></td>
<td class="summary">Play sound effect.</td>
</tr>
<tr>
<td class="name" ><a href="#StopSound">StopSound(sound)</a></td>
<td class="summary">Stop sound effect</td>
<td class="name" ><a href="#StopSound">StopSound(soundID)</a></td>
<td class="summary">Stop sound effect.</td>
</tr>
<tr>
<td class="name" ><a href="#IsSoundPlaying">IsSoundPlaying(Sound)</a></td>
<td class="summary">Check if the sound effect is playing</td>
<td class="name" ><a href="#IsSoundPlaying">IsSoundPlaying(soundID)</a></td>
<td class="summary">Check if the sound effect is playing.</td>
</tr>
<tr>
<td class="name" ><a href="#IsAudioTrackPlaying">IsAudioTrackPlaying(Track)</a></td>
<td class="summary">Check if the audio track is playing</td>
<td class="summary">Check if the audio track is playing.</td>
</tr>
<tr>
<td class="name" ><a href="#GetCurrentSubtitle">GetCurrentSubtitle()</a></td>
@ -159,22 +174,22 @@
<dl class="function">
<dt>
<a name = "PlayAudioTrack"></a>
<strong>PlayAudioTrack(name, type)</strong>
<strong>PlayAudioTrack(filename, type)</strong>
</dt>
<dd>
Play an audio track
Play an audio track. Supported formats are wav, mp3 and ogg.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">name</span>
<li><span class="parameter">filename</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
of track (without file extension) to play
Filename of a track (without file extension) to play.
</li>
<li><span class="parameter">type</span>
<span class="types"><a class="type" href="../4 enums/Sound.SoundTrackType.html#">SoundTrackType</a></span>
of the audio track to play
Type of the audio track to play.
</li>
</ul>
@ -185,10 +200,10 @@
</dd>
<dt>
<a name = "SetAmbientTrack"></a>
<strong>SetAmbientTrack(name)</strong>
<strong>SetAmbientTrack(name, fromStart)</strong>
</dt>
<dd>
Set and play an ambient track
Set and play an ambient track.
@ -196,7 +211,11 @@
<ul>
<li><span class="parameter">name</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
of track (without file extension) to play
Name of track (without file extension) to play.
</li>
<li><span class="parameter">fromStart</span>
<span class="types"><span class="type">bool</span></span>
Specifies whether ambient track should play from the start, or crossfade at a random position.
</li>
</ul>
@ -210,7 +229,7 @@
<strong>StopAudioTracks()</strong>
</dt>
<dd>
Stop any audio tracks currently playing
Stop any audio tracks currently playing.
@ -225,7 +244,7 @@
<strong>StopAudioTrack(type)</strong>
</dt>
<dd>
Stop audio track that is currently playing
Stop audio track that is currently playing.
@ -233,7 +252,7 @@
<ul>
<li><span class="parameter">type</span>
<span class="types"><a class="type" href="../4 enums/Sound.SoundTrackType.html#">SoundTrackType</a></span>
of the audio track
Type of the audio track.
</li>
</ul>
@ -247,7 +266,7 @@
<strong>GetAudioTrackLoudness(type)</strong>
</dt>
<dd>
Get current loudness level for specified track type
Get current loudness level for specified track type.
@ -255,7 +274,7 @@
<ul>
<li><span class="parameter">type</span>
<span class="types"><a class="type" href="../4 enums/Sound.SoundTrackType.html#">SoundTrackType</a></span>
of the audio track
Type of the audio track.
</li>
</ul>
@ -263,7 +282,7 @@
<ol>
<span class="types"><span class="type">float</span></span>
current loudness of a specified audio track
Current loudness of a specified audio track.
</ol>
@ -272,18 +291,18 @@
</dd>
<dt>
<a name = "PlaySound"></a>
<strong>PlaySound(sound[, position])</strong>
<strong>PlaySound(soundID[, position])</strong>
</dt>
<dd>
Play sound effect
Play sound effect.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">sound</span>
<li><span class="parameter">soundID</span>
<span class="types"><span class="type">int</span></span>
ID to play. Corresponds to the value in the sound XML file or Tomb Editor's "Sound Infos" window.
Sound ID to play. Corresponds to the value in the sound XML file or Tomb Editor's "Sound Infos" window.
</li>
<li><span class="parameter">position</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
@ -299,18 +318,18 @@
</dd>
<dt>
<a name = "StopSound"></a>
<strong>StopSound(sound)</strong>
<strong>StopSound(soundID)</strong>
</dt>
<dd>
Stop sound effect
Stop sound effect.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">sound</span>
<li><span class="parameter">soundID</span>
<span class="types"><span class="type">int</span></span>
ID to play. Corresponds to the value in the sound XML file or Tomb Editor's "Sound Infos" window.
Sound ID to play. Corresponds to the value in the sound XML file or Tomb Editor's "Sound Infos" window.
</li>
</ul>
@ -321,18 +340,18 @@
</dd>
<dt>
<a name = "IsSoundPlaying"></a>
<strong>IsSoundPlaying(Sound)</strong>
<strong>IsSoundPlaying(soundID)</strong>
</dt>
<dd>
Check if the sound effect is playing
Check if the sound effect is playing.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">Sound</span>
<li><span class="parameter">soundID</span>
<span class="types"><span class="type">int</span></span>
ID to check. Corresponds to the value in the sound XML file or Tomb Editor's "Sound Infos" window.
Sound ID to check. Corresponds to the value in the sound XML file or Tomb Editor's "Sound Infos" window.
</li>
</ul>
@ -346,7 +365,7 @@
<strong>IsAudioTrackPlaying(Track)</strong>
</dt>
<dd>
Check if the audio track is playing
Check if the audio track is playing.
@ -354,7 +373,7 @@
<ul>
<li><span class="parameter">Track</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
filename to check. Should be without extension and without full directory path.
Filename to check. Should be without extension and without full directory path.
</li>
</ul>
@ -369,8 +388,8 @@
</dt>
<dd>
Get current subtitle string for a voice track currently playing.
Subtitle file must be in .srt format, have same filename as voice track, and be placed in same directory as voice track.
Returns nil if no voice track is playing or no subtitle present.
Subtitle file must be in .srt format, have same filename as voice track, and be placed in same directory as voice track.
Returns nil if no voice track is playing or no subtitle present.
@ -379,7 +398,7 @@ Returns nil if no voice track is playing or no subtitle present.
<ol>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
current subtitle string
Current subtitle string.
</ol>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -109,7 +124,7 @@
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#ShowString">ShowString(str, time)</a></td>
<td class="name" ><a href="#ShowString">ShowString(str, time, autoDelete)</a></td>
<td class="summary">Show some text on-screen.</td>
</tr>
<tr>
@ -131,7 +146,7 @@
<dl class="function">
<dt>
<a name = "ShowString"></a>
<strong>ShowString(str, time)</strong>
<strong>ShowString(str, time, autoDelete)</strong>
</dt>
<dd>
Show some text on-screen.
@ -151,6 +166,13 @@ If not given, the string will have an "infinite" life, and will show
until <a href="../1 modules/Strings.html#HideString">HideString</a> is called or until the level is finished.
Default: nil (i.e. infinite)
</li>
<li><span class="parameter">autoDelete</span>
<span class="types"><span class="type">bool</span></span>
should be string automatically deleted after timeout is reached.
If not given, the string will remain allocated even after timeout is reached, and can be
shown again without re-initialization.
Default: true
</li>
</ul>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -113,10 +128,6 @@
<td class="summary">Determine if there is a clear line of sight between two positions.</td>
</tr>
<tr>
<td class="name" ><a href="#CalculateDistance">CalculateDistance(posA, posB)</a></td>
<td class="summary">Calculate the distance between two positions.</td>
</tr>
<tr>
<td class="name" ><a href="#CalculateHorizontalDistance">CalculateHorizontalDistance(posA, posB)</a></td>
<td class="summary">Calculate the horizontal distance between two positions.</td>
</tr>
@ -194,38 +205,6 @@
<span class="global">print</span>(Misc.HasLineOfSight(enemyHead:GetRoomNumber(), enemyHead:GetPosition(), flamePlinthPos))</pre>
</ul>
</dd>
<dt>
<a name = "CalculateDistance"></a>
<strong>CalculateDistance(posA, posB)</strong>
</dt>
<dd>
Calculate the distance between two positions.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">posA</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
First position.
</li>
<li><span class="parameter">posB</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Second position.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">float</span></span>
Distance between two positions.
</ol>
</dd>
<dt>
<a name = "CalculateHorizontalDistance"></a>
@ -454,7 +433,7 @@ To be used with <a href="../2 classes/Strings.DisplayString.html#DisplayString:G
to be displayed within the Log
</li>
<li><span class="parameter">logLevel</span>
<span class="types"><span class="type">Misc.LogLevel</span></span>
<span class="types"><a class="type" href="../4 enums/Util.LogLevel.html#">LogLevel</a></span>
log level to be displayed
</li>
<li><span class="parameter">allowSpam</span>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -133,6 +148,14 @@
<td class="summary">Shows the mode of the game camera.</td>
</tr>
<tr>
<td class="name" ><a href="#GetCameraPosition">GetCameraPosition()</a></td>
<td class="summary">Gets current camera position.</td>
</tr>
<tr>
<td class="name" ><a href="#GetCameraTarget">GetCameraTarget()</a></td>
<td class="summary">Gets current camera target.</td>
</tr>
<tr>
<td class="name" ><a href="#GetCameraRoom">GetCameraRoom()</a></td>
<td class="summary">Gets current room where camera is positioned.</td>
</tr>
@ -149,16 +172,16 @@
<td class="summary">Sets the post-process tint.</td>
</tr>
<tr>
<td class="name" ><a href="#GetCameraPosition">GetCameraPosition()</a></td>
<td class="summary">Gets current camera position.</td>
<td class="name" ><a href="#PlayFlyby">PlayFlyby(seqID)</a></td>
<td class="summary">Play a flyby sequence.</td>
</tr>
<tr>
<td class="name" ><a href="#GetCameraTarget">GetCameraTarget()</a></td>
<td class="summary">Gets current camera target.</td>
<td class="name" ><a href="#GetFlybyPosition">GetFlybyPosition(seqID, progress[, loop])</a></td>
<td class="summary">Get a flyby sequence's position at a specified progress point in percent.</td>
</tr>
<tr>
<td class="name" ><a href="#PlayFlyBy">PlayFlyBy(flyby)</a></td>
<td class="summary">Enable FlyBy with specific ID</td>
<td class="name" ><a href="#GetFlybyRotation">GetFlybyRotation(seqID, progress[, loop])</a></td>
<td class="summary">Get a flyby sequence's rotation at a specified progress point in percent.</td>
</tr>
<tr>
<td class="name" ><a href="#ResetObjCamera">ResetObjCamera()</a></td>
@ -194,7 +217,7 @@
<ul>
<li><span class="parameter">speed</span>
<span class="types"><span class="type">float</span></span>
(default 1.0). Speed in "amount" per second. A value of 1 will make the fade take one second.
(default 1.0). Speed in units per second. A value of 1 will make the fade take one second.
</li>
</ul>
@ -216,7 +239,7 @@
<ul>
<li><span class="parameter">speed</span>
<span class="types"><span class="type">float</span></span>
(default 1.0). Speed in "amount" per second. A value of 1 will make the fade take one second.
(default 1.0). Speed in units per second. A value of 1 will make the fade take one second.
</li>
</ul>
@ -316,12 +339,54 @@
<h3>Usage:</h3>
<ul>
<pre class="example">LevelFuncs.OnLoop = <span class="keyword">function</span>()
<span class="keyword">if</span> (View.GetCameraType() == CameraType.Combat) <span class="keyword">then</span>
<span class="keyword">if</span> (View.GetCameraType() == CameraType.COMBAT) <span class="keyword">then</span>
<span class="comment">--Do your Actions here.
</span> <span class="keyword">end</span>
<span class="keyword">end</span></pre>
</ul>
</dd>
<dt>
<a name = "GetCameraPosition"></a>
<strong>GetCameraPosition()</strong>
</dt>
<dd>
Gets current camera position.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
current camera position
</ol>
</dd>
<dt>
<a name = "GetCameraTarget"></a>
<strong>GetCameraTarget()</strong>
</dt>
<dd>
Gets current camera target.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
current camera target
</ol>
</dd>
<dt>
<a name = "GetCameraRoom"></a>
@ -411,61 +476,19 @@
</dd>
<dt>
<a name = "GetCameraPosition"></a>
<strong>GetCameraPosition()</strong>
<a name = "PlayFlyby"></a>
<strong>PlayFlyby(seqID)</strong>
</dt>
<dd>
Gets current camera position.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
current camera position
</ol>
</dd>
<dt>
<a name = "GetCameraTarget"></a>
<strong>GetCameraTarget()</strong>
</dt>
<dd>
Gets current camera target.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
current camera target
</ol>
</dd>
<dt>
<a name = "PlayFlyBy"></a>
<strong>PlayFlyBy(flyby)</strong>
</dt>
<dd>
Enable FlyBy with specific ID
Play a flyby sequence.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">flyby</span>
<span class="types"><span class="type">short</span></span>
(ID of flyby)
<li><span class="parameter">seqID</span>
<span class="types"><span class="type">int</span></span>
Flyby sequence ID.
</li>
</ul>
@ -473,6 +496,80 @@
</dd>
<dt>
<a name = "GetFlybyPosition"></a>
<strong>GetFlybyPosition(seqID, progress[, loop])</strong>
</dt>
<dd>
Get a flyby sequence's position at a specified progress point in percent.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">seqID</span>
<span class="types"><span class="type">int</span></span>
Flyby sequence ID.
</li>
<li><span class="parameter">progress</span>
<span class="types"><span class="type">float</span></span>
Progress point in percent. Clamped to [0, 100].
</li>
<li><span class="parameter">loop</span>
<span class="types"><span class="type">bool</span></span>
Smooth the position near start and end points, as if the sequence is looped.
(<em>optional</em>)
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Position at the given progress point.
</ol>
</dd>
<dt>
<a name = "GetFlybyRotation"></a>
<strong>GetFlybyRotation(seqID, progress[, loop])</strong>
</dt>
<dd>
Get a flyby sequence's rotation at a specified progress point in percent.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">seqID</span>
<span class="types"><span class="type">int</span></span>
Flyby sequence ID.
</li>
<li><span class="parameter">progress</span>
<span class="types"><span class="type">float</span></span>
Progress point in percent. Clamped to [0, 100].
</li>
<li><span class="parameter">loop</span>
<span class="types"><span class="type">bool</span></span>
Smooth the position near start and end points, as if the sequence is looped.
(<em>optional</em>)
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Rotation.html#">Rotation</a></span>
Rotation at the given progress point.
</ol>
</dd>
<dt>
<a name = "ResetObjCamera"></a>
@ -506,7 +603,7 @@
</li>
<li><span class="parameter">speed</span>
<span class="types"><span class="type">float</span></span>
(default 1.0). Speed in "amount" per second. Value of 1 will make flash take one second. Clamped to [0.005, 1.0].
(default 1.0). Speed in units per second. Value of 1 will make flash take one second. Clamped to [0.005, 1.0].
</li>
</ul>

View file

@ -0,0 +1,766 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Input.html">Input</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Sound.html">Sound</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
<li> <a href="../1 modules/Util.html">Util</a></li>
<li> <a href="../1 modules/View.html">View</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <here>Collision.Probe</here></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
<li> <a href="../4 enums/View.PostProcessMode.html">View.PostProcessMode</a></li>
<li> <a href="../4 enums/View.ScaleMode.html">View.ScaleMode</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Class <code>Collision.Probe</code></h1>
<p>Represents a collision probe in the game world.</p>
<p> Provides collision information from a reference world position.</p>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Probe">Probe(pos[, roomNumber])</a></td>
<td class="summary">Create a Probe at a specified world position in a room.</td>
</tr>
<tr>
<td class="name" ><a href="#Probe">Probe(pos, roomNumber, dir, dist)</a></td>
<td class="summary">Create a Probe that casts from an origin world position in a room in a given direction for a specified distance.</td>
</tr>
<tr>
<td class="name" ><a href="#Probe">Probe(pos, roomNumber, rot, dist)</a></td>
<td class="summary">Create a Probe that casts from an origin world position in a room in the direction of a given rotation for a specified distance.</td>
</tr>
<tr>
<td class="name" ><a href="#Probe">Probe(pos, roomNumber, rot, relOffset)</a></td>
<td class="summary">Create a Probe that casts from an origin world position, where a given relative offset is rotated according to a given rotation.</td>
</tr>
<tr>
<td class="name" ><a href="#GetPosition">GetPosition()</a></td>
<td class="summary">Get the world position of this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#GetRoom">GetRoom()</a></td>
<td class="summary">Get the Room object of this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#GetRoomName">GetRoomName()</a></td>
<td class="summary">Get the room name of this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#GetFloorHeight">GetFloorHeight()</a></td>
<td class="summary">Get the floor height at this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#GetCeilingHeight">GetCeilingHeight()</a></td>
<td class="summary">Get the ceiling height at this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#GetWaterSurfaceHeight">GetWaterSurfaceHeight()</a></td>
<td class="summary">Get the water surface height at this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#GetFloorNormal">GetFloorNormal()</a></td>
<td class="summary">Get the normal of the floor at this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#GetCeilingNormal">GetCeilingNormal()</a></td>
<td class="summary">Get the normal of the ceiling at this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#GetFloorMaterialType">GetFloorMaterialType()</a></td>
<td class="summary">Get the material type of the floor at this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#GetCeilingMaterialType">GetCeilingMaterialType()</a></td>
<td class="summary">Get the material type of the ceiling at this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#IsSteepFloor">IsSteepFloor()</a></td>
<td class="summary">Check if the floor at this Probe is steep.</td>
</tr>
<tr>
<td class="name" ><a href="#IsSteepCeiling">IsSteepCeiling()</a></td>
<td class="summary">Check if the ceiling at this Probe is steep.</td>
</tr>
<tr>
<td class="name" ><a href="#IsWall">IsWall()</a></td>
<td class="summary">Check if the Probe is inside a wall.</td>
</tr>
<tr>
<td class="name" ><a href="#IsInsideSolidGeometry">IsInsideSolidGeometry()</a></td>
<td class="summary">Check if this Probe is inside solid geometry (below a floor, above a ceiling, inside a bridge, or inside a wall).</td>
</tr>
<tr>
<td class="name" ><a href="#IsClimbableWall">IsClimbableWall(headingAngle)</a></td>
<td class="summary">Check if there is a climbable wall in the given heading angle at this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#IsMonkeySwing">IsMonkeySwing()</a></td>
<td class="summary">Check if there is a monkey swing sector at this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#IsDeath">IsDeath()</a></td>
<td class="summary">Check if there is a death sector at this Probe.</td>
</tr>
<tr>
<td class="name" ><a href="#Preview">Preview()</a></td>
<td class="summary">Preview this Probe in the Collision Stats debug page.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Functions"></a>Functions</h2>
<dl class="function">
<dt>
<a name = "Probe"></a>
<strong>Probe(pos[, roomNumber])</strong>
</dt>
<dd>
Create a Probe at a specified world position in a room.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
World position.
</li>
<li><span class="parameter">roomNumber</span>
<span class="types"><span class="type">int</span></span>
Room number. Must be used if probing a position in an overlapping room.
(<em>optional</em>)
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../2 classes/Collision.Probe.html#Probe">Probe</a></span>
A new Probe.
</ol>
</dd>
<dt>
<a name = "Probe"></a>
<strong>Probe(pos, roomNumber, dir, dist)</strong>
</dt>
<dd>
Create a Probe that casts from an origin world position in a room in a given direction for a specified distance.
Required to correctly traverse between rooms.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Origin world position to cast from.
</li>
<li><span class="parameter">roomNumber</span>
<span class="types"><span class="type">int</span></span>
Origin room number.
</li>
<li><span class="parameter">dir</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Direction in which to cast.
</li>
<li><span class="parameter">dist</span>
<span class="types"><span class="type">float</span></span>
Distance to cast.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../2 classes/Collision.Probe.html#Probe">Probe</a></span>
A new Probe.
</ol>
</dd>
<dt>
<a name = "Probe"></a>
<strong>Probe(pos, roomNumber, rot, dist)</strong>
</dt>
<dd>
Create a Probe that casts from an origin world position in a room in the direction of a given rotation for a specified distance.
Required to correctly traverse between rooms.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Origin world position to cast from.
</li>
<li><span class="parameter">roomNumber</span>
<span class="types"><span class="type">int</span></span>
Origin room number.
</li>
<li><span class="parameter">rot</span>
<span class="types"><a class="type" href="../3 primitive classes/Rotation.html#">Rotation</a></span>
Rotation defining the direction in which to cast.
</li>
<li><span class="parameter">dist</span>
<span class="types"><span class="type">float</span></span>
Distance to cast.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../2 classes/Collision.Probe.html#Probe">Probe</a></span>
A new Probe.
</ol>
</dd>
<dt>
<a name = "Probe"></a>
<strong>Probe(pos, roomNumber, rot, relOffset)</strong>
</dt>
<dd>
Create a Probe that casts from an origin world position, where a given relative offset is rotated according to a given rotation.
Required to correctly traverse between rooms.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Origin world position to cast from.
</li>
<li><span class="parameter">roomNumber</span>
<span class="types"><span class="type">int</span></span>
Origin room number.
</li>
<li><span class="parameter">rot</span>
<span class="types"><a class="type" href="../3 primitive classes/Rotation.html#">Rotation</a></span>
Rotation according to which the input relative offset is rotated.
</li>
<li><span class="parameter">relOffset</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Relative offset to cast.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../2 classes/Collision.Probe.html#Probe">Probe</a></span>
A new Probe.
</ol>
</dd>
<dt>
<a name = "GetPosition"></a>
<strong>GetPosition()</strong>
</dt>
<dd>
Get the world position of this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
World position.
</ol>
</dd>
<dt>
<a name = "GetRoom"></a>
<strong>GetRoom()</strong>
</dt>
<dd>
Get the Room object of this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">Room</span></span>
Room object.
</ol>
</dd>
<dt>
<a name = "GetRoomName"></a>
<strong>GetRoomName()</strong>
</dt>
<dd>
Get the room name of this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
Room name.
</ol>
</dd>
<dt>
<a name = "GetFloorHeight"></a>
<strong>GetFloorHeight()</strong>
</dt>
<dd>
Get the floor height at this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
Floor height. <strong>nil: no floor exists</strong>
</ol>
</dd>
<dt>
<a name = "GetCeilingHeight"></a>
<strong>GetCeilingHeight()</strong>
</dt>
<dd>
Get the ceiling height at this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
Ceiling height. <strong>nil: no ceiling exists</strong>
</ol>
</dd>
<dt>
<a name = "GetWaterSurfaceHeight"></a>
<strong>GetWaterSurfaceHeight()</strong>
</dt>
<dd>
Get the water surface height at this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
Water surface height. <strong>nil: no water surface exists</strong>
</ol>
</dd>
<dt>
<a name = "GetFloorNormal"></a>
<strong>GetFloorNormal()</strong>
</dt>
<dd>
Get the normal of the floor at this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Floor normal. <strong>nil: no floor exists</strong>
</ol>
</dd>
<dt>
<a name = "GetCeilingNormal"></a>
<strong>GetCeilingNormal()</strong>
</dt>
<dd>
Get the normal of the ceiling at this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Ceiling normal. <strong>nil: no ceiling exists</strong>
</ol>
</dd>
<dt>
<a name = "GetFloorMaterialType"></a>
<strong>GetFloorMaterialType()</strong>
</dt>
<dd>
Get the material type of the floor at this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../4 enums/Collision.MaterialType.html#">MaterialType</a></span>
Floor material type. <strong>nil: no floor exists</strong>
</ol>
</dd>
<dt>
<a name = "GetCeilingMaterialType"></a>
<strong>GetCeilingMaterialType()</strong>
</dt>
<dd>
Get the material type of the ceiling at this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../4 enums/Collision.MaterialType.html#">MaterialType</a></span>
Ceiling material type. <strong>nil: no ceiling exists</strong>
</ol>
</dd>
<dt>
<a name = "IsSteepFloor"></a>
<strong>IsSteepFloor()</strong>
</dt>
<dd>
Check if the floor at this Probe is steep.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Steep floor status. <strong>true: is a steep floor, false: isn't a steep floor, nil: no floor exists</strong>
</ol>
</dd>
<dt>
<a name = "IsSteepCeiling"></a>
<strong>IsSteepCeiling()</strong>
</dt>
<dd>
Check if the ceiling at this Probe is steep.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Steep ceiling status. <strong>true: is a steep ceiling, false: isn't a steep ceiling, nil: no ceiling exists</strong>
</ol>
</dd>
<dt>
<a name = "IsWall"></a>
<strong>IsWall()</strong>
</dt>
<dd>
Check if the Probe is inside a wall. Can be used to determine if a wall and ceiling exist.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Wall status. <strong>true: is a wall, false: isn't a wall</strong>
</ol>
</dd>
<dt>
<a name = "IsInsideSolidGeometry"></a>
<strong>IsInsideSolidGeometry()</strong>
</dt>
<dd>
Check if this Probe is inside solid geometry (below a floor, above a ceiling, inside a bridge, or inside a wall).
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Inside geometry status. <strong>true: is inside, false: is outside</strong>
</ol>
</dd>
<dt>
<a name = "IsClimbableWall"></a>
<strong>IsClimbableWall(headingAngle)</strong>
</dt>
<dd>
Check if there is a climbable wall in the given heading angle at this Probe.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">headingAngle</span>
<span class="types"><span class="type">float</span></span>
Heading angle at which to check for a climbable wall.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Climbable wall status. <strong>true: is climbable wall, false: isn't climbable</strong>
</ol>
</dd>
<dt>
<a name = "IsMonkeySwing"></a>
<strong>IsMonkeySwing()</strong>
</dt>
<dd>
Check if there is a monkey swing sector at this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Monkey swing sector status. <strong>true: is a monkey swing, false: isn't a monkey swing</strong>
</ol>
</dd>
<dt>
<a name = "IsDeath"></a>
<strong>IsDeath()</strong>
</dt>
<dd>
Check if there is a death sector at this Probe.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Death sector status. <strong>true: is a death sector, false: isn't a death sector</strong>
</ol>
</dd>
<dt>
<a name = "Preview"></a>
<strong>Preview()</strong>
</dt>
<dd>
Preview this Probe in the Collision Stats debug page.
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -1,529 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.1.0 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Input.html">Input</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Sound.html">Sound</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
<li> <a href="../1 modules/Util.html">Util</a></li>
<li> <a href="../1 modules/View.html">View</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <here>DisplaySprite</here></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/DisplaySprite.AlignMode.html">DisplaySprite.AlignMode</a></li>
<li> <a href="../4 enums/DisplaySprite.ScaleMode.html">DisplaySprite.ScaleMode</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
</ul>
</div>
<div id="content">
<h1>Class <code>DisplaySprite</code></h1>
<p>Represents a screen-space display sprite.</p>
<p>
</p>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#DisplaySprite">DisplaySprite(ID, int, pos, rot, scale[, color])</a></td>
<td class="summary">Create a DisplaySprite object.</td>
</tr>
<tr>
<td class="name" ><a href="#DisplaySprite:GetObjectID">DisplaySprite:GetObjectID()</a></td>
<td class="summary">Get the object ID of the sprite sequence object used by the display sprite.</td>
</tr>
<tr>
<td class="name" ><a href="#DisplaySprite:GetSpriteID">DisplaySprite:GetSpriteID()</a></td>
<td class="summary">Get the sprite ID in the sprite sequence object used by the display sprite.</td>
</tr>
<tr>
<td class="name" ><a href="#DisplaySprite:GetPosition">DisplaySprite:GetPosition()</a></td>
<td class="summary">Get the display position of the display sprite in percent.</td>
</tr>
<tr>
<td class="name" ><a href="#DisplaySprite:GetRotation">DisplaySprite:GetRotation()</a></td>
<td class="summary">Get the rotation of the display sprite in degrees.</td>
</tr>
<tr>
<td class="name" ><a href="#DisplaySprite:GetScale">DisplaySprite:GetScale()</a></td>
<td class="summary">Get the horizontal and vertical scale of the display sprite in percent.</td>
</tr>
<tr>
<td class="name" ><a href="#DisplaySprite:GetColor">DisplaySprite:GetColor()</a></td>
<td class="summary">Get the color of the display sprite.</td>
</tr>
<tr>
<td class="name" ><a href="#DisplaySprite:SetObjectID">DisplaySprite:SetObjectID(New)</a></td>
<td class="summary">Set the sprite sequence object ID used by the display sprite.</td>
</tr>
<tr>
<td class="name" ><a href="#DisplaySprite:SetSpriteID">DisplaySprite:SetSpriteID(New)</a></td>
<td class="summary">Set the sprite ID in the sprite sequence object used by the display sprite.</td>
</tr>
<tr>
<td class="name" ><a href="#DisplaySprite:SetPosition">DisplaySprite:SetPosition(New)</a></td>
<td class="summary">Set the display position of the display sprite in percent.</td>
</tr>
<tr>
<td class="name" ><a href="#DisplaySprite:SetRotation">DisplaySprite:SetRotation(New)</a></td>
<td class="summary">Set the rotation of the display sprite in degrees.</td>
</tr>
<tr>
<td class="name" ><a href="#DisplaySprite:SetScale">DisplaySprite:SetScale(New)</a></td>
<td class="summary">Set the horizontal and vertical scale of the display sprite in percent.</td>
</tr>
<tr>
<td class="name" ><a href="#DisplaySprite:SetColor">DisplaySprite:SetColor(New)</a></td>
<td class="summary">Set the color of the display sprite.</td>
</tr>
<tr>
<td class="name" ><a href="#DisplaySprite:Draw">DisplaySprite:Draw([priority][, alignMode][, scaleMode][, blendMode])</a></td>
<td class="summary">Draw the display sprite in display space for the current frame.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Functions"></a>Functions</h2>
<dl class="function">
<dt>
<a name = "DisplaySprite"></a>
<strong>DisplaySprite(ID, int, pos, rot, scale[, color])</strong>
</dt>
<dd>
Create a DisplaySprite object.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">ID</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
of the sprite sequence object.
</li>
<li><span class="parameter">int</span>
<span class="types"><span class="type">int</span></span>
spriteID ID of the sprite in the sequence.
</li>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Display position in percent.
</li>
<li><span class="parameter">rot</span>
<span class="types"><span class="type">float</span></span>
Rotation in degrees.
</li>
<li><span class="parameter">scale</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Horizontal and vertical scale in percent. Scaling is interpreted by the DisplaySpriteEnum.ScaleMode passed to the Draw() function call.
</li>
<li><span class="parameter">color</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
Color. <strong>Default: Color(255, 255, 255, 255)</strong>
(<em>optional</em>)
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../2 classes/DisplaySprite.html#">DisplaySprite</a></span>
A new DisplaySprite object.
</ol>
</dd>
<dt>
<a name = "DisplaySprite:GetObjectID"></a>
<strong>DisplaySprite:GetObjectID()</strong>
</dt>
<dd>
Get the object ID of the sprite sequence object used by the display sprite. ()
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
Sprite sequence object ID.
</ol>
</dd>
<dt>
<a name = "DisplaySprite:GetSpriteID"></a>
<strong>DisplaySprite:GetSpriteID()</strong>
</dt>
<dd>
Get the sprite ID in the sprite sequence object used by the display sprite. ()
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
Sprite ID in the sprite sequence object.
</ol>
</dd>
<dt>
<a name = "DisplaySprite:GetPosition"></a>
<strong>DisplaySprite:GetPosition()</strong>
</dt>
<dd>
Get the display position of the display sprite in percent. ()
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Display position in percent.
</ol>
</dd>
<dt>
<a name = "DisplaySprite:GetRotation"></a>
<strong>DisplaySprite:GetRotation()</strong>
</dt>
<dd>
Get the rotation of the display sprite in degrees. ()
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">float</span></span>
Rotation in degrees.
</ol>
</dd>
<dt>
<a name = "DisplaySprite:GetScale"></a>
<strong>DisplaySprite:GetScale()</strong>
</dt>
<dd>
Get the horizontal and vertical scale of the display sprite in percent. ()
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Horizontal and vertical scale in percent.
</ol>
</dd>
<dt>
<a name = "DisplaySprite:GetColor"></a>
<strong>DisplaySprite:GetColor()</strong>
</dt>
<dd>
Get the color of the display sprite. ()
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
Color.
</ol>
</dd>
<dt>
<a name = "DisplaySprite:SetObjectID"></a>
<strong>DisplaySprite:SetObjectID(New)</strong>
</dt>
<dd>
Set the sprite sequence object ID used by the display sprite. (Objects.ObjID)
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
sprite sequence object ID.
</li>
</ul>
</dd>
<dt>
<a name = "DisplaySprite:SetSpriteID"></a>
<strong>DisplaySprite:SetSpriteID(New)</strong>
</dt>
<dd>
Set the sprite ID in the sprite sequence object used by the display sprite. (int)
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><span class="type">int</span></span>
sprite ID in the sprite sequence object.
</li>
</ul>
</dd>
<dt>
<a name = "DisplaySprite:SetPosition"></a>
<strong>DisplaySprite:SetPosition(New)</strong>
</dt>
<dd>
Set the display position of the display sprite in percent. (Vec2)
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
display position in percent.
</li>
</ul>
</dd>
<dt>
<a name = "DisplaySprite:SetRotation"></a>
<strong>DisplaySprite:SetRotation(New)</strong>
</dt>
<dd>
Set the rotation of the display sprite in degrees. (float)
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><span class="type">float</span></span>
rotation in degrees.
</li>
</ul>
</dd>
<dt>
<a name = "DisplaySprite:SetScale"></a>
<strong>DisplaySprite:SetScale(New)</strong>
</dt>
<dd>
Set the horizontal and vertical scale of the display sprite in percent. (Vec2)
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><span class="type">float</span></span>
horizontal and vertical scale in percent.
</li>
</ul>
</dd>
<dt>
<a name = "DisplaySprite:SetColor"></a>
<strong>DisplaySprite:SetColor(New)</strong>
</dt>
<dd>
Set the color of the display sprite. (Color)
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><span class="type">float</span></span>
color.
</li>
</ul>
</dd>
<dt>
<a name = "DisplaySprite:Draw"></a>
<strong>DisplaySprite:Draw([priority][, alignMode][, scaleMode][, blendMode])</strong>
</dt>
<dd>
Draw the display sprite in display space for the current frame.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">priority</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
Draw priority. Can be thought of as a layer, with higher values having precedence. <strong>Default: 0</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">alignMode</span>
<span class="types"><a class="type" href="../4 enums/DisplaySprite.AlignMode.html#">AlignMode</a></span>
Align mode interpreting an offset from the sprite's position. <strong>Default: DisplaySprite.AlignMode.CENTER</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">scaleMode</span>
<span class="types"><a class="type" href="../4 enums/DisplaySprite.ScaleMode.html#">ScaleMode</a></span>
Scale mode interpreting the display sprite's horizontal and vertical scale. <strong>Default: DisplaySprite.ScaleMode.FIT</strong>
(<em>optional</em>)
</li>
<li><span class="parameter">blendMode</span>
<span class="types"><a class="type" href="../4 enums/Effects.BlendID.html#">BlendID</a></span>
Blend mode. <strong>Default: Effects.BlendID.ALPHABLEND</strong>
(<em>optional</em>)
</li>
</ul>
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
<i style="float:right;">Last updated 2023-11-09 18:25:22 </i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <here>Flow.Level</here></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -128,19 +143,31 @@
</tr>
<tr>
<td class="name" ><a href="#layer1">layer1</a></td>
<td class="summary">(<a href="../2 classes/Flow.SkyLayer.html#">Flow.SkyLayer</a>) Primary sky layer</td>
<td class="summary">(<a href="../3 primitive classes/Flow.SkyLayer.html#">Flow.SkyLayer</a>) Primary sky cloud layer.</td>
</tr>
<tr>
<td class="name" ><a href="#layer2">layer2</a></td>
<td class="summary">(<a href="../2 classes/Flow.SkyLayer.html#">Flow.SkyLayer</a>) Secondary sky layer</td>
<td class="summary">(<a href="../3 primitive classes/Flow.SkyLayer.html#">Flow.SkyLayer</a>) Secondary sky cloud layer.</td>
</tr>
<tr>
<td class="name" ><a href="#horizon1">horizon1</a></td>
<td class="summary">(<a href="../3 primitive classes/Flow.Horizon.html#">Flow.Horizon</a>) First horizon layer.</td>
</tr>
<tr>
<td class="name" ><a href="#horizon2">horizon2</a></td>
<td class="summary">(<a href="../3 primitive classes/Flow.Horizon.html#">Flow.Horizon</a>) Second horizon layer.</td>
</tr>
<tr>
<td class="name" ><a href="#starfield">starfield</a></td>
<td class="summary">(<a href="../3 primitive classes/Flow.Starfield.html#">Flow.Starfield</a>) Starfield in the sky.</td>
</tr>
<tr>
<td class="name" ><a href="#lensFlare">lensFlare</a></td>
<td class="summary">(<a href="../3 primitive classes/Flow.LensFlare.html#">Flow.LensFlare</a>) Global lens flare.</td>
</tr>
<tr>
<td class="name" ><a href="#fog">fog</a></td>
<td class="summary">(<a href="../2 classes/Flow.Fog.html#">Flow.Fog</a>) omni fog RGB color and distance.</td>
</tr>
<tr>
<td class="name" ><a href="#horizon">horizon</a></td>
<td class="summary">(bool) Draw sky layer?</td>
<td class="summary">(<a href="../3 primitive classes/Flow.Fog.html#">Flow.Fog</a>) Global distance fog, with specified RGB color and distance.</td>
</tr>
<tr>
<td class="name" ><a href="#storm">storm</a></td>
@ -163,8 +190,8 @@
<td class="summary">(bool) Enable occasional screen shake effect.</td>
</tr>
<tr>
<td class="name" ><a href="#mirror">mirror</a></td>
<td class="summary">(<a href="../2 classes/Flow.Mirror.html#">Flow.Mirror</a>) Location and size of the level's mirror, if present.</td>
<td class="name" ><a href="#farView">farView</a></td>
<td class="summary">(int) The maximum draw distance for level.</td>
</tr>
<tr>
<td class="name" ><a href="#resetHub">resetHub</a></td>
@ -172,15 +199,11 @@
</tr>
<tr>
<td class="name" ><a href="#objects">objects</a></td>
<td class="summary">(table of <a href="../2 classes/Flow.InventoryItem.html#">Flow.InventoryItem</a>s) table of inventory object overrides</td>
<td class="summary">(table of <a href="../3 primitive classes/Flow.InventoryItem.html#">Flow.InventoryItem</a>s) A table of inventory object layout overrides.</td>
</tr>
<tr>
<td class="name" ><a href="#secrets">secrets</a></td>
<td class="summary">(short) Set Secrets for Level</td>
</tr>
<tr>
<td class="name" ><a href="#farView">farView</a></td>
<td class="summary">(int) The maximum draw distance for level.</td>
<td class="summary">(short) Set total secret count for current level.</td>
</tr>
</table>
<h2><a href="#Functions">Functions</a></h2>
@ -283,7 +306,7 @@
<strong>layer1</strong>
</dt>
<dd>
(<a href="../2 classes/Flow.SkyLayer.html#">Flow.SkyLayer</a>) Primary sky layer
(<a href="../3 primitive classes/Flow.SkyLayer.html#">Flow.SkyLayer</a>) Primary sky cloud layer.
@ -298,7 +321,67 @@
<strong>layer2</strong>
</dt>
<dd>
(<a href="../2 classes/Flow.SkyLayer.html#">Flow.SkyLayer</a>) Secondary sky layer
(<a href="../3 primitive classes/Flow.SkyLayer.html#">Flow.SkyLayer</a>) Secondary sky cloud layer.
</dd>
<dt>
<a name = "horizon1"></a>
<strong>horizon1</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Flow.Horizon.html#">Flow.Horizon</a>) First horizon layer.
</dd>
<dt>
<a name = "horizon2"></a>
<strong>horizon2</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Flow.Horizon.html#">Flow.Horizon</a>) Second horizon layer.
</dd>
<dt>
<a name = "starfield"></a>
<strong>starfield</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Flow.Starfield.html#">Flow.Starfield</a>) Starfield in the sky.
</dd>
<dt>
<a name = "lensFlare"></a>
<strong>lensFlare</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Flow.LensFlare.html#">Flow.LensFlare</a>) Global lens flare.
@ -313,24 +396,8 @@
<strong>fog</strong>
</dt>
<dd>
(<a href="../2 classes/Flow.Fog.html#">Flow.Fog</a>) omni fog RGB color and distance.
As seen in TR4's Desert Railroad.
If not provided, distance fog will be black.
</dd>
<dt>
<a name = "horizon"></a>
<strong>horizon</strong>
</dt>
<dd>
(bool) Draw sky layer? (default: false)
(<a href="../3 primitive classes/Flow.Fog.html#">Flow.Fog</a>) Global distance fog, with specified RGB color and distance.
If not provided, distance fog will not be visible.
@ -406,7 +473,7 @@ Invisible
<p>e.g. <code>myLevel.laraType = LaraType.Divesuit</code></p>
<p> <strong>(not yet fully implemented)</strong>
<p> <strong>Not yet fully implemented.</strong> Only types <code>Normal</code> and <code>Young</code> are guaranteed to work.
@ -433,13 +500,12 @@ Invisible
</dd>
<dt>
<a name = "mirror"></a>
<strong>mirror</strong>
<a name = "farView"></a>
<strong>farView</strong>
</dt>
<dd>
(<a href="../2 classes/Flow.Mirror.html#">Flow.Mirror</a>) Location and size of the level's mirror, if present. </p>
<p> <strong>(not yet implemented)</strong>
(int) The maximum draw distance for level.
Given in sectors (blocks). Must be at least 4.
@ -470,7 +536,7 @@ Invisible
<strong>objects</strong>
</dt>
<dd>
(table of <a href="../2 classes/Flow.InventoryItem.html#">Flow.InventoryItem</a>s) table of inventory object overrides
(table of <a href="../3 primitive classes/Flow.InventoryItem.html#">Flow.InventoryItem</a>s) A table of inventory object layout overrides.
@ -485,26 +551,7 @@ Invisible
<strong>secrets</strong>
</dt>
<dd>
(short) Set Secrets for Level
</dd>
<dt>
<a name = "farView"></a>
<strong>farView</strong>
</dt>
<dd>
(int) The maximum draw distance for level.
Given in sectors (blocks).
Must be at least 4.</p>
<p>This is equivalent to TRNG's LevelFarView variable.
(short) Set total secret count for current level.
@ -532,7 +579,7 @@ Must be at least 4.</p>
<ol>
<span class="types"><a class="type" href="../2 classes/Flow.Level.html#Level">Level</a></span>
a Level object
a Level object.
</ol>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,368 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Input.html">Input</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Sound.html">Sound</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
<li> <a href="../1 modules/Util.html">Util</a></li>
<li> <a href="../1 modules/View.html">View</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <here>Flow.Statistics</here></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
<li> <a href="../4 enums/View.PostProcessMode.html">View.PostProcessMode</a></li>
<li> <a href="../4 enums/View.ScaleMode.html">View.ScaleMode</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Class <code>Flow.Statistics</code></h1>
<p>A set of gameplay statistics.</p>
<p> Can be accessed using <a href="../1 modules/Flow.html#GetStatistics">Flow.GetStatistics</a> and <a href="../1 modules/Flow.html#SetStatistics">Flow.SetStatistics</a> functions.</p>
<h2><a href="#Fields">Fields</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#ammoHits">ammoHits</a></td>
<td class="summary">Ammo hits.</td>
</tr>
<tr>
<td class="name" ><a href="#ammoUsed">ammoUsed</a></td>
<td class="summary">Ammo used.</td>
</tr>
<tr>
<td class="name" ><a href="#distanceTraveled">distanceTraveled</a></td>
<td class="summary">Distance traveled.</td>
</tr>
<tr>
<td class="name" ><a href="#healthPacksUsed">healthPacksUsed</a></td>
<td class="summary">Health packs used.</td>
</tr>
<tr>
<td class="name" ><a href="#damageTaken">damageTaken</a></td>
<td class="summary">Damage taken.</td>
</tr>
<tr>
<td class="name" ><a href="#kills">kills</a></td>
<td class="summary">Kills.</td>
</tr>
<tr>
<td class="name" ><a href="#pickups">pickups</a></td>
<td class="summary">Pickups.</td>
</tr>
<tr>
<td class="name" ><a href="#secrets">secrets</a></td>
<td class="summary">Secrets.</td>
</tr>
<tr>
<td class="name" ><a href="#timeTaken">timeTaken</a></td>
<td class="summary">Time taken.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Fields"></a>Fields</h2>
<dl class="function">
<dt>
<a name = "ammoHits"></a>
<strong>ammoHits</strong>
</dt>
<dd>
Ammo hits.
<ul>
<li><span class="parameter">ammoHits</span>
<span class="types"><span class="type">int</span></span>
amount of successful enemy hits.
</li>
</ul>
</dd>
<dt>
<a name = "ammoUsed"></a>
<strong>ammoUsed</strong>
</dt>
<dd>
Ammo used.
<ul>
<li><span class="parameter">ammoUsed</span>
<span class="types"><span class="type">int</span></span>
amount of used ammo.
</li>
</ul>
</dd>
<dt>
<a name = "distanceTraveled"></a>
<strong>distanceTraveled</strong>
</dt>
<dd>
Distance traveled.
<ul>
<li><span class="parameter">distanceTraveled</span>
<span class="types"><span class="type">int</span></span>
amount of traveled distance in world units. One meter is 420 world units.
</li>
</ul>
</dd>
<dt>
<a name = "healthPacksUsed"></a>
<strong>healthPacksUsed</strong>
</dt>
<dd>
Health packs used.
<ul>
<li><span class="parameter">healthPacksUsed</span>
<span class="types"><span class="type">int</span></span>
amount of used medipacks.
</li>
</ul>
</dd>
<dt>
<a name = "damageTaken"></a>
<strong>damageTaken</strong>
</dt>
<dd>
Damage taken.
<ul>
<li><span class="parameter">damageTaken</span>
<span class="types"><span class="type">int</span></span>
overall amount of taken damage.
</li>
</ul>
</dd>
<dt>
<a name = "kills"></a>
<strong>kills</strong>
</dt>
<dd>
Kills.
<ul>
<li><span class="parameter">kills</span>
<span class="types"><span class="type">int</span></span>
amount of killed enemies.
</li>
</ul>
</dd>
<dt>
<a name = "pickups"></a>
<strong>pickups</strong>
</dt>
<dd>
Pickups.
<ul>
<li><span class="parameter">pickups</span>
<span class="types"><span class="type">int</span></span>
amount of picked up items.
</li>
</ul>
</dd>
<dt>
<a name = "secrets"></a>
<strong>secrets</strong>
</dt>
<dd>
Secrets.
<ul>
<li><span class="parameter">secrets</span>
<span class="types"><span class="type">int</span></span>
amount of found secrets.
</li>
</ul>
</dd>
<dt>
<a name = "timeTaken"></a>
<strong>timeTaken</strong>
</dt>
<dd>
Time taken.
<ul>
<li><span class="parameter">timeTaken</span>
<span class="types"><a class="type" href="../3 primitive classes/Time.html#">Time</a></span>
amount of time passed.
</li>
</ul>
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <here>Objects.AIObject</here></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <here>Objects.Camera</here></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <here>Objects.LaraObject</here></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -100,53 +115,52 @@
<div id="content">
<h1>Class <code>Objects.LaraObject</code></h1>
<p>Class for extra Lara-only functions.</p>
<p>Do not try to create an object of this type; use the built-in <em>Lara</em> variable instead.</p>
<p>In addition, LaraObject inherits all the functions of <a href="../2 classes/Objects.Moveable.html#">Moveable</a>.</p>
<p>Class for extra player-only functions.</p>
<p> Do not try to create an object of this type. Use the built-in <em>Lara</em> variable instead.
LaraObject inherits all the functions of <a href="../2 classes/Objects.Moveable.html#">Moveable</a>.</p>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#LaraObject:SetPoison">LaraObject:SetPoison([Poison])</a></td>
<td class="summary">Set Lara poison</td>
<td class="name" ><a href="#LaraObject:SetPoison">LaraObject:SetPoison([poison])</a></td>
<td class="summary">Set player poison.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:GetPoison">LaraObject:GetPoison()</a></td>
<td class="summary">Get poison potency of Lara</td>
<td class="summary">Get poison potency of Lara.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:SetAir">LaraObject:SetAir(Air)</a></td>
<td class="summary">Set air value of Lara</td>
<td class="name" ><a href="#LaraObject:SetAir">LaraObject:SetAir(air)</a></td>
<td class="summary">Set air value of Lara.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:GetAir">LaraObject:GetAir()</a></td>
<td class="summary">Get air value of Lara</td>
<td class="summary">Get air value of Lara.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:SetWet">LaraObject:SetWet(Wetness)</a></td>
<td class="summary">Set wetness value of Lara (causes dripping)</td>
<td class="name" ><a href="#LaraObject:SetWet">LaraObject:SetWet(wetness)</a></td>
<td class="summary">Set wetness value of Lara (causes dripping).</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:GetWet">LaraObject:GetWet()</a></td>
<td class="summary">Get wetness value of Lara</td>
<td class="summary">Get wetness value of Lara.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:SetStamina">LaraObject:SetStamina(stamina)</a></td>
<td class="summary">Set sprint energy value of Lara</td>
<td class="summary">Set sprint energy value of Lara.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:GetStamina">LaraObject:GetStamina()</a></td>
<td class="summary">Get stamina value of Lara</td>
<td class="summary">Get stamina value of Lara.</td>
</tr>
<tr>
<td class="name" ><a href="#Moveable:GetAirborne">Moveable:GetAirborne()</a></td>
<td class="summary">Get the moveable's airborne status</td>
<td class="summary">Get the moveable's airborne status.</td>
</tr>
<tr>
<td class="name" ><a href="#Moveable:SetAirborne">Moveable:SetAirborne(New)</a></td>
<td class="summary">Set the moveable's airborne status</td>
<td class="name" ><a href="#Moveable:SetAirborne">Moveable:SetAirborne(airborne)</a></td>
<td class="summary">Set the moveable's airborne status.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:UndrawWeapon">LaraObject:UndrawWeapon()</a></td>
@ -158,15 +172,15 @@
</tr>
<tr>
<td class="name" ><a href="#LaraObject:GetHandStatus">LaraObject:GetHandStatus()</a></td>
<td class="summary">Get actual hand status of Lara</td>
<td class="summary">Get actual hand status of Lara.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:GetWeaponType">LaraObject:GetWeaponType()</a></td>
<td class="summary">Get actual weapon type of Lara</td>
<td class="summary">Get actual weapon type of Lara.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:SetWeaponType">LaraObject:SetWeaponType(weaponType, activate)</a></td>
<td class="summary">Set Lara weapon type</td>
<td class="summary">Set Lara weapon type.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:GetAmmoType">LaraObject:GetAmmoType()</a></td>
@ -174,11 +188,11 @@
</tr>
<tr>
<td class="name" ><a href="#LaraObject:GetAmmoCount">LaraObject:GetAmmoCount()</a></td>
<td class="summary">Get current weapon's ammo count</td>
<td class="summary">Get current weapon's ammo count.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:GetVehicle">LaraObject:GetVehicle()</a></td>
<td class="summary">Get current vehicle, if it exists</td>
<td class="summary">Get current vehicle, if it exists.</td>
</tr>
<tr>
<td class="name" ><a href="#LaraObject:GetTarget">LaraObject:GetTarget()</a></td>
@ -203,18 +217,18 @@
<dl class="function">
<dt>
<a name = "LaraObject:SetPoison"></a>
<strong>LaraObject:SetPoison([Poison])</strong>
<strong>LaraObject:SetPoison([poison])</strong>
</dt>
<dd>
Set Lara poison
Set player poison.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">Poison</span>
<li><span class="parameter">poison</span>
<span class="types"><span class="type">int</span></span>
; maximum value is 128 (default 0)
Poison strength. Maximum value is 128 (default 0)
(<em>optional</em>)
</li>
</ul>
@ -233,7 +247,7 @@
<strong>LaraObject:GetPoison()</strong>
</dt>
<dd>
Get poison potency of Lara
Get poison potency of Lara.
@ -242,7 +256,7 @@
<ol>
<span class="types"><span class="type">int</span></span>
current poison potency
Current poison potency.
</ol>
@ -255,18 +269,18 @@
</dd>
<dt>
<a name = "LaraObject:SetAir"></a>
<strong>LaraObject:SetAir(Air)</strong>
<strong>LaraObject:SetAir(air)</strong>
</dt>
<dd>
Set air value of Lara
Set air value of Lara.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">Air</span>
<li><span class="parameter">air</span>
<span class="types"><span class="type">int</span></span>
value to give Lara. Maximum value is 1800.
Air value to give Lara. Maximum value is 1800.
</li>
</ul>
@ -284,7 +298,7 @@
<strong>LaraObject:GetAir()</strong>
</dt>
<dd>
Get air value of Lara
Get air value of Lara.
@ -293,7 +307,7 @@
<ol>
<span class="types"><span class="type">int</span></span>
current air value
Current air value.
</ol>
@ -306,18 +320,18 @@
</dd>
<dt>
<a name = "LaraObject:SetWet"></a>
<strong>LaraObject:SetWet(Wetness)</strong>
<strong>LaraObject:SetWet(wetness)</strong>
</dt>
<dd>
Set wetness value of Lara (causes dripping)
Set wetness value of Lara (causes dripping).
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">Wetness</span>
<li><span class="parameter">wetness</span>
<span class="types"><span class="type">int</span></span>
value. Maximum 255
Wetness value. Maximum value is 255.
</li>
</ul>
@ -335,7 +349,7 @@
<strong>LaraObject:GetWet()</strong>
</dt>
<dd>
Get wetness value of Lara
Get wetness value of Lara.
@ -344,7 +358,7 @@
<ol>
<span class="types"><span class="type">int</span></span>
current wetness value
Current wetness value.
</ol>
@ -360,7 +374,7 @@
<strong>LaraObject:SetStamina(stamina)</strong>
</dt>
<dd>
Set sprint energy value of Lara
Set sprint energy value of Lara.
@ -368,7 +382,7 @@
<ul>
<li><span class="parameter">stamina</span>
<span class="types"><span class="type">int</span></span>
to give to Lara; maximum value is 120.
Stamina to give to Lara. Maximum value is 120.
</li>
</ul>
@ -386,7 +400,7 @@
<strong>LaraObject:GetStamina()</strong>
</dt>
<dd>
Get stamina value of Lara
Get stamina value of Lara.
@ -395,7 +409,7 @@
<ol>
<span class="types"><span class="type">int</span></span>
current sprint value
Current sprint value.
</ol>
@ -411,7 +425,7 @@
<strong>Moveable:GetAirborne()</strong>
</dt>
<dd>
Get the moveable's airborne status
Get the moveable's airborne status.
@ -419,8 +433,8 @@
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">(bool)</span></span>
true if Lara state must react to aerial forces.
<span class="types"><span class="type">bool</span></span>
True if Lara state must react to aerial forces.
</ol>
@ -429,18 +443,18 @@
</dd>
<dt>
<a name = "Moveable:SetAirborne"></a>
<strong>Moveable:SetAirborne(New)</strong>
<strong>Moveable:SetAirborne(airborne)</strong>
</dt>
<dd>
Set the moveable's airborne status
Set the moveable's airborne status.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><span class="type">(bool)</span></span>
airborn status for Lara.
<li><span class="parameter">airborne</span>
<span class="types"><span class="type">bool</span></span>
New airborne status for Lara.
</li>
</ul>
@ -492,7 +506,7 @@
<strong>LaraObject:GetHandStatus()</strong>
</dt>
<dd>
Get actual hand status of Lara
Get actual hand status of Lara.
@ -500,8 +514,8 @@
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
hand status 0=HandsFree, 1=Busy(climbing,etc), 2=WeaponDraw, 3=WeaponUndraw, 4=WeaponInHand.
<span class="types"><a class="type" href="../4 enums/Objects.HandStatus.html#">HandStatus</a></span>
Current hand status.
</ol>
@ -517,7 +531,7 @@
<strong>LaraObject:GetWeaponType()</strong>
</dt>
<dd>
Get actual weapon type of Lara
Get actual weapon type of Lara.
@ -525,8 +539,8 @@
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
weapon type 0=None, 1=Pistols, 2=Revolver, 3=Uzi, 4=Shotgun, 5=HK, 6=Crossbow, 7=Flare, 8=Torch, 9=GrenadeLauncher, 10=Harpoon, 11=RocketLauncher.
<span class="types"><a class="type" href="../4 enums/Objects.WeaponType.html#">WeaponType</a></span>
Current weapon type.
</ol>
@ -542,35 +556,19 @@
<strong>LaraObject:SetWeaponType(weaponType, activate)</strong>
</dt>
<dd>
Set Lara weapon type
Set Lara weapon type.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">weaponType</span>
<span class="types"><span class="type">LaraWeaponType</span></span>
<p> Must be one of:</p>
<pre><code>NONE
PISTOLS
REVOLVER
UZI
SHOTGUN
HK
CROSSBOW
FLARE
TORCH
GRENADELAUNCHER
HARPOONGUN
ROCKETLAUNCHER
</code></pre>
<span class="types"><a class="type" href="../4 enums/Objects.WeaponType.html#">WeaponType</a></span>
New weapon type to set.
</li>
<li><span class="parameter">activate</span>
<span class="types"><span class="type">bool</span></span>
true = let her also draw the weapons, set torch lit. false = let Laras new weapons remain holstered until she draws them, set torch unlit.
If <code>true</code>, also draw the weapons or set torch lit. If <code>false</code>, keep weapons holstered or leave torch unlit.
</li>
</ul>
@ -579,7 +577,7 @@ ROCKETLAUNCHER
<h3>Usage:</h3>
<ul>
<pre class="example">Lara:SetWeaponType(LaraWeaponType.PISTOLS, <span class="keyword">false</span>)</pre>
<pre class="example">Lara:SetWeaponType(WeaponType.PISTOLS, <span class="keyword">false</span>)</pre>
</ul>
</dd>
@ -596,8 +594,8 @@ ROCKETLAUNCHER
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
player weapon ammo type
<span class="types"><a class="type" href="../4 enums/Objects.AmmoType.html#">AmmoType</a></span>
Player weapon ammo type.
</ol>
@ -613,7 +611,7 @@ ROCKETLAUNCHER
<strong>LaraObject:GetAmmoCount()</strong>
</dt>
<dd>
Get current weapon's ammo count
Get current weapon's ammo count.
@ -622,7 +620,7 @@ ROCKETLAUNCHER
<ol>
<span class="types"><span class="type">int</span></span>
current ammo count (-1 if infinite)
Current ammo count (-1 if infinite).
</ol>
@ -638,7 +636,7 @@ ROCKETLAUNCHER
<strong>LaraObject:GetVehicle()</strong>
</dt>
<dd>
Get current vehicle, if it exists
Get current vehicle, if it exists.
@ -647,7 +645,7 @@ ROCKETLAUNCHER
<ol>
<span class="types"><a class="type" href="../2 classes/Objects.Moveable.html#">Moveable</a></span>
current vehicle (nil if no vehicle present)
current vehicle (nil if no vehicle present).
</ol>

File diff suppressed because it is too large Load diff

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -100,7 +115,7 @@
<div id="content">
<h1>Class <code>Objects.Room</code></h1>
<p>Rooms</p>
<p>Room object.</p>
<p>
</p>
@ -109,8 +124,12 @@
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Room:GetActive">Room:GetActive()</a></td>
<td class="summary">Determine whether the room is active or not</td>
<td class="name" ><a href="#Room:GetRoomNumber">Room:GetRoomNumber()</a></td>
<td class="summary">Get the room's number.</td>
</tr>
<tr>
<td class="name" ><a href="#Room:GetName">Room:GetName()</a></td>
<td class="summary">Get the room's unique string identifier.</td>
</tr>
<tr>
<td class="name" ><a href="#Room:GetColor">Room:GetColor()</a></td>
@ -121,28 +140,28 @@
<td class="summary">Get the room's reverb type.</td>
</tr>
<tr>
<td class="name" ><a href="#Room:SetReverbType">Room:SetReverbType(new)</a></td>
<td class="name" ><a href="#Room:SetName">Room:SetName(name)</a></td>
<td class="summary">Set the room's unique string identifier.</td>
</tr>
<tr>
<td class="name" ><a href="#Room:SetReverbType">Room:SetReverbType(reverb)</a></td>
<td class="summary">Set the room's reverb type.</td>
</tr>
<tr>
<td class="name" ><a href="#Room:GetName">Room:GetName()</a></td>
<td class="summary">Get the room's unique string identifier.</td>
</tr>
<tr>
<td class="name" ><a href="#Room:SetName">Room:SetName(name)</a></td>
<td class="summary">Set the room's name (its unique string identifier).</td>
<td class="name" ><a href="#Room:SetFlag">Room:SetFlag(flagID, value)</a></td>
<td class="summary">Set the room's specified flag.</td>
</tr>
<tr>
<td class="name" ><a href="#Room:GetFlag">Room:GetFlag(flagID)</a></td>
<td class="summary">Get the room's specified flag value (true or false).</td>
</tr>
<tr>
<td class="name" ><a href="#Room:SetFlag">Room:SetFlag(flagID, the)</a></td>
<td class="summary">Set the room's specified flag value.</td>
<td class="name" ><a href="#Room:IsTagPresent">Room:IsTagPresent(tag)</a></td>
<td class="summary">Check if the specified tag is set for the room.</td>
</tr>
<tr>
<td class="name" ><a href="#Room:IsTagPresent">Room:IsTagPresent(tag)</a></td>
<td class="summary">Checks if specified tag is set for this room.</td>
<td class="name" ><a href="#Room:GetActive">Room:GetActive()</a></td>
<td class="summary">Check if the room is active.</td>
</tr>
</table>
@ -154,11 +173,11 @@
<dl class="function">
<dt>
<a name = "Room:GetActive"></a>
<strong>Room:GetActive()</strong>
<a name = "Room:GetRoomNumber"></a>
<strong>Room:GetRoomNumber()</strong>
</dt>
<dd>
Determine whether the room is active or not
Get the room's number.
@ -166,8 +185,29 @@
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
true if the room is active
<span class="types"><span class="type">int</span></span>
Room number.
</ol>
</dd>
<dt>
<a name = "Room:GetName"></a>
<strong>Room:GetName()</strong>
</dt>
<dd>
Get the room's unique string identifier.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
Room name.
</ol>
@ -188,7 +228,7 @@
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
ambient light color of the room
Ambient light color.
</ol>
@ -209,50 +249,7 @@
<ol>
<span class="types"><a class="type" href="../4 enums/Objects.RoomReverb.html#">RoomReverb</a></span>
room's reverb type
</ol>
</dd>
<dt>
<a name = "Room:SetReverbType"></a>
<strong>Room:SetReverbType(new)</strong>
</dt>
<dd>
Set the room's reverb type.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">new</span>
<span class="types"><a class="type" href="../4 enums/Objects.RoomReverb.html#">RoomReverb</a></span>
reverb type of the room
</li>
</ul>
</dd>
<dt>
<a name = "Room:GetName"></a>
<strong>Room:GetName()</strong>
</dt>
<dd>
Get the room's unique string identifier.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
the room's name
Reverb type.
</ol>
@ -264,7 +261,7 @@
<strong>Room:SetName(name)</strong>
</dt>
<dd>
Set the room's name (its unique string identifier).
Set the room's unique string identifier.
@ -272,7 +269,55 @@
<ul>
<li><span class="parameter">name</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
The room's new name
New name.
</li>
</ul>
</dd>
<dt>
<a name = "Room:SetReverbType"></a>
<strong>Room:SetReverbType(reverb)</strong>
</dt>
<dd>
Set the room's reverb type.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">reverb</span>
<span class="types"><a class="type" href="../4 enums/Objects.RoomReverb.html#">RoomReverb</a></span>
Reverb type.
</li>
</ul>
</dd>
<dt>
<a name = "Room:SetFlag"></a>
<strong>Room:SetFlag(flagID, value)</strong>
</dt>
<dd>
Set the room's specified flag.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">flagID</span>
<span class="types"><a class="type" href="../4 enums/Objects.RoomFlagID.html#">RoomFlagID</a></span>
Room flag ID.
</li>
<li><span class="parameter">value</span>
<span class="types"><span class="type">bool</span></span>
Boolean to set the flag to.
</li>
</ul>
@ -294,39 +339,7 @@
<ul>
<li><span class="parameter">flagID</span>
<span class="types"><a class="type" href="../4 enums/Objects.RoomFlagID.html#">RoomFlagID</a></span>
The room's flag ID
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
the room's specified flag value
</ol>
</dd>
<dt>
<a name = "Room:SetFlag"></a>
<strong>Room:SetFlag(flagID, the)</strong>
</dt>
<dd>
Set the room's specified flag value.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">flagID</span>
<span class="types"><a class="type" href="../4 enums/Objects.RoomFlagID.html#">RoomFlagID</a></span>
The room's flag ID
</li>
<li><span class="parameter">the</span>
<span class="types"><span class="type">bool</span></span>
room's new flag value
Room flag ID.
</li>
</ul>
@ -340,7 +353,7 @@
<strong>Room:IsTagPresent(tag)</strong>
</dt>
<dd>
Checks if specified tag is set for this room.
Check if the specified tag is set for the room.
@ -348,7 +361,7 @@
<ul>
<li><span class="parameter">tag</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
A text tag to check (case sensitive)
Text tag to check (case sensitive).
</li>
</ul>
@ -356,7 +369,28 @@
<ol>
<span class="types"><span class="type">bool</span></span>
true if tag is present, false if not
Boolean of the tag's presence.
</ol>
</dd>
<dt>
<a name = "Room:GetActive"></a>
<strong>Room:GetActive()</strong>
</dt>
<dd>
Check if the room is active.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Boolean of the room's active status.
</ol>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -100,7 +115,7 @@
<div id="content">
<h1>Class <code>Objects.Sink</code></h1>
<p>Sink</p>
<p>Represents a sink object.</p>
<p>
</p>
@ -108,31 +123,29 @@
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Sink:GetPosition">Sink:GetPosition()</a></td>
<td class="summary">Get the sink's position</td>
</tr>
<tr>
<td class="name" ><a href="#Sink:SetPosition">Sink:SetPosition(position)</a></td>
<td class="summary">Set the sink's position</td>
</tr>
<tr>
<td class="name" ><a href="#Sink:GetName">Sink:GetName()</a></td>
<td class="summary">Get the sink's unique string identifier
e.g.</td>
<td class="summary">Get this sink's unique string identifier.</td>
</tr>
<tr>
<td class="name" ><a href="#Sink:SetName">Sink:SetName(name)</a></td>
<td class="summary">Set the sink's name (its unique string identifier)</td>
<td class="name" ><a href="#Sink:GetPosition">Sink:GetPosition()</a></td>
<td class="summary">Get this sink's world position.</td>
</tr>
<tr>
<td class="name" ><a href="#Sink:GetStrength">Sink:GetStrength()</a></td>
<td class="summary">Get the sink's strength</td>
<td class="summary">Get this sink's strength.</td>
</tr>
<tr>
<td class="name" ><a href="#Sink:SetName">Sink:SetName(name)</a></td>
<td class="summary">Set this sink's unique string identifier.</td>
</tr>
<tr>
<td class="name" ><a href="#Sink:SetPosition">Sink:SetPosition(pos)</a></td>
<td class="summary">Set this sink's world position.</td>
</tr>
<tr>
<td class="name" ><a href="#Sink:SetStrength">Sink:SetStrength(strength)</a></td>
<td class="summary">Set the strength of the sink
Higher numbers provide stronger currents.</td>
<td class="summary">Set this sink's strength.</td>
</tr>
</table>
@ -143,56 +156,12 @@
<h2 class="section-header "><a name="Functions"></a>Functions</h2>
<dl class="function">
<dt>
<a name = "Sink:GetPosition"></a>
<strong>Sink:GetPosition()</strong>
</dt>
<dd>
Get the sink's position
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
a copy of the sink's position
</ol>
</dd>
<dt>
<a name = "Sink:SetPosition"></a>
<strong>Sink:SetPosition(position)</strong>
</dt>
<dd>
Set the sink's position
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">position</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
the new position of the sink
</li>
</ul>
</dd>
<dt>
<a name = "Sink:GetName"></a>
<strong>Sink:GetName()</strong>
</dt>
<dd>
Get the sink's unique string identifier
e.g. "strong_river_current" or "propeller_death_sink"
Get this sink's unique string identifier.
@ -201,7 +170,49 @@
<ol>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
the sink's name
Name.
</ol>
</dd>
<dt>
<a name = "Sink:GetPosition"></a>
<strong>Sink:GetPosition()</strong>
</dt>
<dd>
Get this sink's world position.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
World position.
</ol>
</dd>
<dt>
<a name = "Sink:GetStrength"></a>
<strong>Sink:GetStrength()</strong>
</dt>
<dd>
Get this sink's strength.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
Strength.
</ol>
@ -213,7 +224,7 @@
<strong>Sink:SetName(name)</strong>
</dt>
<dd>
Set the sink's name (its unique string identifier)
Set this sink's unique string identifier.
@ -221,7 +232,7 @@
<ul>
<li><span class="parameter">name</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
The sink's new name
New name.
</li>
</ul>
@ -231,21 +242,22 @@
</dd>
<dt>
<a name = "Sink:GetStrength"></a>
<strong>Sink:GetStrength()</strong>
<a name = "Sink:SetPosition"></a>
<strong>Sink:SetPosition(pos)</strong>
</dt>
<dd>
Get the sink's strength
Set this sink's world position.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
New world position.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
the sink's current strength
</ol>
@ -256,8 +268,8 @@
<strong>Sink:SetStrength(strength)</strong>
</dt>
<dd>
Set the strength of the sink
Higher numbers provide stronger currents. Will be clamped to [1, 32].
Set this sink's strength.
Higher numbers provide stronger currents. Clamped to the range [1, 32].
@ -265,7 +277,7 @@
<ul>
<li><span class="parameter">strength</span>
<span class="types"><span class="type">int</span></span>
The sink's new strength
New strength.
</li>
</ul>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -130,8 +145,7 @@
</tr>
<tr>
<td class="name" ><a href="#SoundSource:SetSoundID">SoundSource:SetSoundID(name)</a></td>
<td class="summary">Set the sound source's ID
<strong>TODO</strong> this and getSoundID should use enums</td>
<td class="summary">Set the sound source's ID</td>
</tr>
</table>
@ -255,7 +269,6 @@
</dt>
<dd>
Set the sound source's ID
<strong>TODO</strong> this and getSoundID should use enums

File diff suppressed because it is too large Load diff

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <here>Objects.Volume</here></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <here>Strings.DisplayString</here></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -114,7 +129,7 @@ when you need to use screen-space coordinates.</p>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#DisplayString">DisplayString(string, Position[, scale][, color][, translated][, flags])</a></td>
<td class="name" ><a href="#DisplayString">DisplayString(string, Position[, scale][, color][, translated], table)</a></td>
<td class="summary">Create a DisplayString.</td>
</tr>
<tr>
@ -168,7 +183,7 @@ when you need to use screen-space coordinates.</p>
<dl class="function">
<dt>
<a name = "DisplayString"></a>
<strong>DisplayString(string, Position[, scale][, color][, translated][, flags])</strong>
<strong>DisplayString(string, Position[, scale][, color][, translated], table)</strong>
</dt>
<dd>
Create a DisplayString.
@ -202,16 +217,9 @@ For use in <a href="../1 modules/Strings.html#ShowString">ShowString</a> and <a
If true, the string argument will be the key of a translated string specified in strings.lua. <strong>Default: false</strong>.
(<em>optional</em>)
</li>
<li><span class="parameter">flags</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.6">table</a></span>
A table of string display options. Can be empty or omitted. The possible values and their effects are:</p>
<pre><code>TEN.Strings.DisplayStringOption.CENTER: set the horizontal origin point to the center of the string.
TEN.Strings.DisplayStringOption.RIGHT: set the horizontal origin point to right of the string.
TEN.Strings.DisplayStringOption.SHADOW: give the string a small shadow.
TEN.Strings.DisplayStringOption.BLINK: blink the string.
</code></pre>
<p><strong>Default: empty</strong>
(<em>optional</em>)
<li><span class="parameter">table</span>
<span class="types"><a class="type" href="../4 enums/Strings.DisplayStringOption.html#">DisplayStringOption</a></span>
<strong>Default: None.</strong> <em>Please note that Strings are automatically aligned to the LEFT</em>
</li>
</ul>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <here>View.DisplaySprite</here></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <here>View.DisplaySprite</here></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -178,14 +193,14 @@
<strong>DisplaySprite(ID, int, pos, rot, scale[, color])</strong>
</dt>
<dd>
Create a DisplaySprite object.
Create a DisplaySprite object. ()
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">ID</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#SpriteConstants">SpriteConstants</a></span>
of the sprite sequence object.
</li>
<li><span class="parameter">int</span>
@ -235,7 +250,7 @@
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#SpriteConstants">SpriteConstants</a></span>
Sprite sequence object ID.
</ol>
@ -353,14 +368,14 @@
<strong>DisplaySprite:SetObjectID(New)</strong>
</dt>
<dd>
Set the sprite sequence object ID used by the display sprite. (Objects.ObjID)
Set the sprite sequence object ID used by the display sprite. (Objects.ObjID.SpriteConstants)
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#SpriteConstants">SpriteConstants</a></span>
sprite sequence object ID.
</li>
</ul>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <here>Color</here></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -100,27 +115,27 @@
<div id="content">
<h1>Primitive Class <code>Color</code></h1>
<p>An RGBA or RGB color.</p>
<p>Components are specified in bytes; all values are clamped to [0, 255].</p>
<p>Represents an RGBA or RGB color.</p>
<p> Components are specified as values clamped to the range [0, 255].</p>
<h2><a href="#Members">Members</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#r">r</a></td>
<td class="summary">(int) red component</td>
<td class="summary">(int) Red component.</td>
</tr>
<tr>
<td class="name" ><a href="#g">g</a></td>
<td class="summary">(int) green component</td>
<td class="summary">(int) Green component.</td>
</tr>
<tr>
<td class="name" ><a href="#b">b</a></td>
<td class="summary">(int) blue component</td>
<td class="summary">(int) Blue component.</td>
</tr>
<tr>
<td class="name" ><a href="#a">a</a></td>
<td class="summary">(int) alpha component (255 = opaque, 0 = invisible)</td>
<td class="summary">(int) Alpha component (0 = invisible, 255 = opaque).</td>
</tr>
</table>
<h2><a href="#Functions">Functions</a></h2>
@ -129,12 +144,6 @@
<td class="name" ><a href="#Color">Color(R, G, B)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" ><a href="#Color">Color(R, G, B, A)</a></td>
<td class="summary">
</td>
</tr>
<tr>
@ -157,7 +166,7 @@
<strong>r</strong>
</dt>
<dd>
(int) red component
(int) Red component.
@ -172,7 +181,7 @@
<strong>g</strong>
</dt>
<dd>
(int) green component
(int) Green component.
@ -187,7 +196,7 @@
<strong>b</strong>
</dt>
<dd>
(int) blue component
(int) Blue component.
@ -202,7 +211,7 @@
<strong>a</strong>
</dt>
<dd>
(int) alpha component (255 = opaque, 0 = invisible)
(int) Alpha component (0 = invisible, 255 = opaque).
@ -253,48 +262,6 @@
</dd>
<dt>
<a name = "Color"></a>
<strong>Color(R, G, B, A)</strong>
</dt>
<dd>
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">R</span>
<span class="types"><span class="type">int</span></span>
red component
</li>
<li><span class="parameter">G</span>
<span class="types"><span class="type">int</span></span>
green component
</li>
<li><span class="parameter">B</span>
<span class="types"><span class="type">int</span></span>
blue component
</li>
<li><span class="parameter">A</span>
<span class="types"><span class="type">int</span></span>
alpha component (255 is opaque, 0 is invisible)
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
A new Color object.
</ol>
</dd>
<dt>
<a name = "__tostring"></a>
@ -311,7 +278,7 @@
<ul>
<li><span class="parameter">color</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
this color
This color.
</li>
</ul>
@ -319,7 +286,7 @@
<ol>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
A string showing the r, g, b, and a values of the color
A string representing R, G, B, and A values.
</ol>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <here>Flow.Fog</here></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <here>Flow.Fog</here></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,40 +103,41 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Class <code>Flow.Fog</code></h1>
<p>Fog</p>
<p>
</p>
<h1>Primitive Class <code>Flow.Fog</code></h1>
<p>Represesnts distance fog.</p>
<p> To be used with <a href="../2 classes/Flow.Level.html#fog">Flow.Level.fog</a> property.</p>
<h2><a href="#Members">Members</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#color">color</a></td>
<td class="summary">(<a href="../3 primitive classes/Color.html#">Color</a>) RGB fog color</td>
<td class="summary">(<a href="../3 primitive classes/Color.html#">Color</a>) RGB fog color.</td>
</tr>
<tr>
<td class="name" ><a href="#minDistance">minDistance</a></td>
<td class="summary">(int) min distance.</td>
<td class="summary">(float) Minimum distance.</td>
</tr>
<tr>
<td class="name" ><a href="#maxDistance">maxDistance</a></td>
<td class="summary">(int) max distance.</td>
<td class="summary">(float) Maximum distance.</td>
</tr>
</table>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Fog">Fog(color, Min, Max)</a></td>
<td class="name" ><a href="#Fog">Fog(color, min, max)</a></td>
<td class="summary">
</td>
@ -143,7 +156,7 @@
<strong>color</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Color.html#">Color</a>) RGB fog color
(<a href="../3 primitive classes/Color.html#">Color</a>) RGB fog color.
@ -158,13 +171,8 @@
<strong>minDistance</strong>
</dt>
<dd>
<p>(int) min distance. </p>
<pre><code> This is the distance at which the fog starts
</code></pre>
(float) Minimum distance.
This is the distance at which the fog starts (in sectors).
@ -179,13 +187,8 @@
<strong>maxDistance</strong>
</dt>
<dd>
<p>(int) max distance. </p>
<pre><code> This is the distance at which the fog reaches the maximum strength
</code></pre>
(float) Maximum distance.
This is the distance at which the fog reaches the maximum strength (in sectors).
@ -201,7 +204,7 @@
<dl class="function">
<dt>
<a name = "Fog"></a>
<strong>Fog(color, Min, Max)</strong>
<strong>Fog(color, min, max)</strong>
</dt>
<dd>
@ -216,20 +219,20 @@
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
RGB color
</li>
<li><span class="parameter">Min</span>
<li><span class="parameter">min</span>
<span class="types"><span class="type">int</span></span>
Distance fog starts (in Sectors)
Distance at which fog starts (in sectors)
</li>
<li><span class="parameter">Max</span>
<li><span class="parameter">max</span>
<span class="types"><span class="type">int</span></span>
Distance fog ends (in Sectors)
Distance at which fog reaches the maximum strength (in sectors)
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../2 classes/Flow.Fog.html#Fog">Fog</a></span>
<span class="types"><a class="type" href="../3 primitive classes/Flow.Fog.html#Fog">Fog</a></span>
A fog object.
</ol>

View file

@ -0,0 +1,281 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Input.html">Input</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Sound.html">Sound</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
<li> <a href="../1 modules/Util.html">Util</a></li>
<li> <a href="../1 modules/View.html">View</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <here>Flow.Horizon</here></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
<li> <a href="../4 enums/View.PostProcessMode.html">View.PostProcessMode</a></li>
<li> <a href="../4 enums/View.ScaleMode.html">View.ScaleMode</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Primitive Class <code>Flow.Horizon</code></h1>
<p>Represents a horizon.</p>
<p> To be used with <a href="../2 classes/Flow.Level.html#horizon1">Flow.Level.horizon1</a> and <a href="../2 classes/Flow.Level.html#horizon2">Flow.Level.horizon2</a> properties.</p>
<h2><a href="#Members">Members</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#enabled">enabled</a></td>
<td class="summary">(bool) Horizon enabled state.</td>
</tr>
<tr>
<td class="name" ><a href="#objectID">objectID</a></td>
<td class="summary">(<a href="../4 enums/Objects.ObjID.html#">Objects.ObjID</a>) Horizon object ID.</td>
</tr>
<tr>
<td class="name" ><a href="#position">position</a></td>
<td class="summary">(<a href="../3 primitive classes/Vec3.html#">Vec3</a>) Horizon position.</td>
</tr>
<tr>
<td class="name" ><a href="#rotation">rotation</a></td>
<td class="summary">(<a href="../3 primitive classes/Rotation.html#">Rotation</a>) Horizon rotation.</td>
</tr>
<tr>
<td class="name" ><a href="#transparency">transparency</a></td>
<td class="summary">(float) Horizon transparency.</td>
</tr>
</table>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Horizon">Horizon(objectID)</a></td>
<td class="summary">Create a horizon object.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Members"></a>Members</h2>
<dl class="function">
<dt>
<a name = "enabled"></a>
<strong>enabled</strong>
</dt>
<dd>
(bool) Horizon enabled state.
If set to true, horizon will be visible.
</dd>
<dt>
<a name = "objectID"></a>
<strong>objectID</strong>
</dt>
<dd>
(<a href="../4 enums/Objects.ObjID.html#">Objects.ObjID</a>) Horizon object ID.
</dd>
<dt>
<a name = "position"></a>
<strong>position</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Vec3.html#">Vec3</a>) Horizon position.
Specifies an offset from the camera origin.
</dd>
<dt>
<a name = "rotation"></a>
<strong>rotation</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Rotation.html#">Rotation</a>) Horizon rotation.
Specifies horizon rotation.
</dd>
<dt>
<a name = "transparency"></a>
<strong>transparency</strong>
</dt>
<dd>
(float) Horizon transparency.
Specifies horizon transparency on a range from 0 to 1.
</dd>
</dl>
<h2 class="section-header "><a name="Functions"></a>Functions</h2>
<dl class="function">
<dt>
<a name = "Horizon"></a>
<strong>Horizon(objectID)</strong>
</dt>
<dd>
Create a horizon object.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">objectID</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
Object ID for the horizon to use.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Flow.Horizon.html#Horizon">Horizon</a></span>
A new Horizon object.
</ol>
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <here>Flow.InventoryItem</here></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <here>Flow.InventoryItem</here></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,19 +103,20 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Class <code>Flow.InventoryItem</code></h1>
<h1>Primitive Class <code>Flow.InventoryItem</code></h1>
<p>Represents the properties of an object as it appears in the inventory.</p>
<p>
</p>
<p> To be used in <a href="../2 classes/Flow.Level.html#objects">Flow.Level.objects</a> list.</p>
<h2><a href="#Functions">Functions</a></h2>
@ -187,7 +200,7 @@ EXAMINE
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../2 classes/Flow.InventoryItem.html#InventoryItem">InventoryItem</a></span>
<span class="types"><a class="type" href="../3 primitive classes/Flow.InventoryItem.html#InventoryItem">InventoryItem</a></span>
an InventoryItem
</ol>

View file

@ -0,0 +1,285 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Input.html">Input</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Sound.html">Sound</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
<li> <a href="../1 modules/Util.html">Util</a></li>
<li> <a href="../1 modules/View.html">View</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <here>Flow.LensFlare</here></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
<li> <a href="../4 enums/View.PostProcessMode.html">View.PostProcessMode</a></li>
<li> <a href="../4 enums/View.ScaleMode.html">View.ScaleMode</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Primitive Class <code>Flow.LensFlare</code></h1>
<p>Represents a global lens flare (not to be confused with the lens flare object).</p>
<p> To be used with <a href="../2 classes/Flow.Level.html#lensFlare">Flow.Level.lensFlare</a> property.</p>
<h2><a href="#Members">Members</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#enabled">enabled</a></td>
<td class="summary">(bool) Lens flare enabled state.</td>
</tr>
<tr>
<td class="name" ><a href="#spriteID">spriteID</a></td>
<td class="summary">(<a href="../4 enums/Objects.ObjID.html#SpriteConstants">Objects.ObjID.SpriteConstants</a>) Lens flare's sun sprite object ID.</td>
</tr>
<tr>
<td class="name" ><a href="#pitch">pitch</a></td>
<td class="summary">(float) Lens flare's pitch (vertical) angle in degrees.</td>
</tr>
<tr>
<td class="name" ><a href="#yaw">yaw</a></td>
<td class="summary">(float) Lens flare's yaw (horizontal) angle in degrees.</td>
</tr>
<tr>
<td class="name" ><a href="#color">color</a></td>
<td class="summary">(<a href="../3 primitive classes/Color.html#">Color</a>) Lens flare's color.</td>
</tr>
</table>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#LensFlare">LensFlare(pitch, yaw, color)</a></td>
<td class="summary">Create a LensFlare object.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Members"></a>Members</h2>
<dl class="function">
<dt>
<a name = "enabled"></a>
<strong>enabled</strong>
</dt>
<dd>
(bool) Lens flare enabled state.
If set to true, lens flare will be visible.
</dd>
<dt>
<a name = "spriteID"></a>
<strong>spriteID</strong>
</dt>
<dd>
(<a href="../4 enums/Objects.ObjID.html#SpriteConstants">Objects.ObjID.SpriteConstants</a>) Lens flare's sun sprite object ID.
</dd>
<dt>
<a name = "pitch"></a>
<strong>pitch</strong>
</dt>
<dd>
(float) Lens flare's pitch (vertical) angle in degrees.
</dd>
<dt>
<a name = "yaw"></a>
<strong>yaw</strong>
</dt>
<dd>
(float) Lens flare's yaw (horizontal) angle in degrees.
</dd>
<dt>
<a name = "color"></a>
<strong>color</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Color.html#">Color</a>) Lens flare's color.
</dd>
</dl>
<h2 class="section-header "><a name="Functions"></a>Functions</h2>
<dl class="function">
<dt>
<a name = "LensFlare"></a>
<strong>LensFlare(pitch, yaw, color)</strong>
</dt>
<dd>
Create a LensFlare object.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">pitch</span>
<span class="types"><span class="type">float</span></span>
Pitch angle in degrees.
</li>
<li><span class="parameter">yaw</span>
<span class="types"><span class="type">float</span></span>
Yaw angle in degrees.
</li>
<li><span class="parameter">color</span>
Color of the lensflare.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Flow.LensFlare.html#LensFlare">LensFlare</a></span>
A new LensFlare object.
</ol>
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <here>Flow.SkyLayer</here></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <here>Flow.SkyLayer</here></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,17 +103,20 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Class <code>Flow.SkyLayer</code></h1>
<h1>Primitive Class <code>Flow.SkyLayer</code></h1>
<p>Describes a layer of moving clouds.</p>
<p>As seen in TR4's City of the Dead.</p>
<p> To be used with <a href="../2 classes/Flow.Level.html#layer1">Flow.Level.layer1</a> and <a href="../2 classes/Flow.Level.html#layer2">Flow.Level.layer2</a> properties.</p>
<h2><a href="#Members">Members</a></h2>
@ -154,13 +169,14 @@
<dd>
(int) cloud speed. </p>
<p>Values can be between [-32768, 32767], with positive numbers resulting in a sky that scrolls from
west to east, and negative numbers resulting in one that travels east to west.</p>
<p>Please note that speeds outside of the range of about [-1000, 1000] will cause the
sky to scroll so fast that it will no longer appear as a coherent stream of clouds.
Less is more. City of The Dead, for example, uses a speed value of 16.
<pre><code> Values can be between [-32768, 32767], with positive numbers resulting in a sky that scrolls from
west to east, and negative numbers resulting in one that travels east to west.
Please note that speeds outside of the range of about [-1000, 1000] will cause the
sky to scroll so fast that it will no longer appear as a coherent stream of clouds.
Less is more. City of The Dead, for example, uses a speed value of 16.
</code></pre>
<p>
@ -200,7 +216,7 @@ Less is more. City of The Dead, for example, uses a speed value of 16.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../2 classes/Flow.SkyLayer.html#SkyLayer">SkyLayer</a></span>
<span class="types"><a class="type" href="../3 primitive classes/Flow.SkyLayer.html#SkyLayer">SkyLayer</a></span>
A SkyLayer object.
</ol>

View file

@ -0,0 +1,302 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Input.html">Input</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Sound.html">Sound</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
<li> <a href="../1 modules/Util.html">Util</a></li>
<li> <a href="../1 modules/View.html">View</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <here>Flow.Starfield</here></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
<li> <a href="../4 enums/View.PostProcessMode.html">View.PostProcessMode</a></li>
<li> <a href="../4 enums/View.ScaleMode.html">View.ScaleMode</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Primitive Class <code>Flow.Starfield</code></h1>
<p>Represents a star field in the sky.</p>
<p> To be used with <a href="../2 classes/Flow.Level.html#starfield">Flow.Level.starfield</a> property.</p>
<h2><a href="#Members">Members</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#starCount">starCount</a></td>
<td class="summary">(int) Amount of visible stars.</td>
</tr>
<tr>
<td class="name" ><a href="#meteorCount">meteorCount</a></td>
<td class="summary">(int) Amount of visible meteors.</td>
</tr>
<tr>
<td class="name" ><a href="#meteorSpawnDensity">meteorSpawnDensity</a></td>
<td class="summary">(int) Meteor spawn density.</td>
</tr>
<tr>
<td class="name" ><a href="#meteorVelocity">meteorVelocity</a></td>
<td class="summary">(int) Meteor velocity.</td>
</tr>
</table>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Starfield">Starfield(starCount)</a></td>
<td class="summary">Create a starfield object with only stars.</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield">Starfield(starCount, meteorCount, meteorSpawnDensity, meteorVel)</a></td>
<td class="summary">Create a starfield object with stars and meteors.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Members"></a>Members</h2>
<dl class="function">
<dt>
<a name = "starCount"></a>
<strong>starCount</strong>
</dt>
<dd>
(int) Amount of visible stars.
</dd>
<dt>
<a name = "meteorCount"></a>
<strong>meteorCount</strong>
</dt>
<dd>
(int) Amount of visible meteors.
</dd>
<dt>
<a name = "meteorSpawnDensity"></a>
<strong>meteorSpawnDensity</strong>
</dt>
<dd>
(int) Meteor spawn density.
</dd>
<dt>
<a name = "meteorVelocity"></a>
<strong>meteorVelocity</strong>
</dt>
<dd>
(int) Meteor velocity.
</dd>
</dl>
<h2 class="section-header "><a name="Functions"></a>Functions</h2>
<dl class="function">
<dt>
<a name = "Starfield"></a>
<strong>Starfield(starCount)</strong>
</dt>
<dd>
Create a starfield object with only stars.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">starCount</span>
<span class="types"><span class="type">int</span></span>
Star count.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Flow.Starfield.html#Starfield">Starfield</a></span>
A new Starfield object.
</ol>
</dd>
<dt>
<a name = "Starfield"></a>
<strong>Starfield(starCount, meteorCount, meteorSpawnDensity, meteorVel)</strong>
</dt>
<dd>
Create a starfield object with stars and meteors.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">starCount</span>
<span class="types"><span class="type">int</span></span>
Star count. <strong>Max: 6000</strong>
</li>
<li><span class="parameter">meteorCount</span>
<span class="types"><span class="type">int</span></span>
Meteor count. <strong>Max: 100</strong>
</li>
<li><span class="parameter">meteorSpawnDensity</span>
<span class="types"><span class="type">int</span></span>
Meteor spawn density.
</li>
<li><span class="parameter">meteorVel</span>
<span class="types"><span class="type">int</span></span>
Meteor velocity.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">StarField</span></span>
A new Starfield object.
</ol>
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <here>Rotation</here></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -100,35 +115,41 @@
<div id="content">
<h1>Primitive Class <code>Rotation</code></h1>
<p>Represents a degree-based 3D rotation.</p>
<p>All values are clamped to the range [0.0, 360.0].</p>
<p>Represents a 3D rotation.</p>
<p> All angle components are in degrees clamped to the range [0.0, 360.0].</p>
<h2><a href="#Members">Members</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#x">x</a></td>
<td class="summary">(float) X angle component.</td>
<td class="summary">(float) X angle component in degrees.</td>
</tr>
<tr>
<td class="name" ><a href="#y">y</a></td>
<td class="summary">(float) Y angle component.</td>
<td class="summary">(float) Y angle component in degrees.</td>
</tr>
<tr>
<td class="name" ><a href="#z">z</a></td>
<td class="summary">(float) Z angle component.</td>
<td class="summary">(float) Z angle component in degrees.</td>
</tr>
</table>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Rotation">Rotation(x, y, z)</a></td>
<td class="summary">
</td>
<td class="summary">Create a Rotation object.</td>
</tr>
<tr>
<td class="name" ><a href="#__tostring">__tostring(rotation)</a></td>
<td class="name" ><a href="#Lerp">Lerp(rot, alpha)</a></td>
<td class="summary">Get the linearly interpolated Rotation between this Rotation and the input Rotation according to the input alpha.</td>
</tr>
<tr>
<td class="name" ><a href="#Direction">Direction()</a></td>
<td class="summary">Get the normalized direction vector of this Rotation.</td>
</tr>
<tr>
<td class="name" ><a href="#__tostring">__tostring(rot)</a></td>
<td class="summary">
</td>
@ -147,7 +168,7 @@
<strong>x</strong>
</dt>
<dd>
(float) X angle component.
(float) X angle component in degrees.
@ -162,7 +183,7 @@
<strong>y</strong>
</dt>
<dd>
(float) Y angle component.
(float) Y angle component in degrees.
@ -177,7 +198,7 @@
<strong>z</strong>
</dt>
<dd>
(float) Z angle component.
(float) Z angle component in degrees.
@ -196,9 +217,7 @@
<strong>Rotation(x, y, z)</strong>
</dt>
<dd>
Create a Rotation object.
@ -206,15 +225,15 @@
<ul>
<li><span class="parameter">x</span>
<span class="types"><span class="type">float</span></span>
X angle component.
X angle component in degrees.
</li>
<li><span class="parameter">y</span>
<span class="types"><span class="type">float</span></span>
Y angle component.
Y angle component in degrees.
</li>
<li><span class="parameter">z</span>
<span class="types"><span class="type">float</span></span>
Z angle component.
Z angle component in degrees.
</li>
</ul>
@ -222,7 +241,60 @@
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Rotation.html#">Rotation</a></span>
A Rotation.
A new Rotation object.
</ol>
</dd>
<dt>
<a name = "Lerp"></a>
<strong>Lerp(rot, alpha)</strong>
</dt>
<dd>
Get the linearly interpolated Rotation between this Rotation and the input Rotation according to the input alpha.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">rot</span>
<span class="types"><a class="type" href="../3 primitive classes/Rotation.html#">Rotation</a></span>
Interpolation target.
</li>
<li><span class="parameter">alpha</span>
<span class="types"><span class="type">float</span></span>
Interpolation alpha in the range [0, 1].
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Rotation.html#">Rotation</a></span>
Linearly interpolated rotation.
</ol>
</dd>
<dt>
<a name = "Direction"></a>
<strong>Direction()</strong>
</dt>
<dd>
Get the normalized direction vector of this Rotation.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Normalized direction vector.
</ol>
@ -231,7 +303,7 @@
</dd>
<dt>
<a name = "__tostring"></a>
<strong>__tostring(rotation)</strong>
<strong>__tostring(rot)</strong>
</dt>
<dd>
@ -242,9 +314,9 @@
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">rotation</span>
<li><span class="parameter">rot</span>
<span class="types"><a class="type" href="../3 primitive classes/Rotation.html#">Rotation</a></span>
this Rotation.
This Rotation.
</li>
</ul>
@ -252,7 +324,7 @@
<ol>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
A string showing the X, Y, and Z angle components of the Rotation.
A string showing the X, Y, and Z angle components of this Rotation.
</ol>

View file

@ -0,0 +1,431 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Input.html">Input</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Sound.html">Sound</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
<li> <a href="../1 modules/Util.html">Util</a></li>
<li> <a href="../1 modules/View.html">View</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <here>Time</here></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
<li> <a href="../4 enums/View.PostProcessMode.html">View.PostProcessMode</a></li>
<li> <a href="../4 enums/View.ScaleMode.html">View.ScaleMode</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Primitive Class <code>Time</code></h1>
<p>Represents a time value in game frames, with support for formatting to hours, minutes, seconds, and centiseconds (1/100th of a second).</p>
<p>
</p>
<h2><a href="#Members">Members</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#h">h</a></td>
<td class="summary">(int) Hours component.</td>
</tr>
<tr>
<td class="name" ><a href="#m">m</a></td>
<td class="summary">(int) Minutes component.</td>
</tr>
<tr>
<td class="name" ><a href="#s">s</a></td>
<td class="summary">(int) Seconds component.</td>
</tr>
<tr>
<td class="name" ><a href="#c">c</a></td>
<td class="summary">(int) Centiseconds component.</td>
</tr>
</table>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Time">Time()</a></td>
<td class="summary">Create a Time object.</td>
</tr>
<tr>
<td class="name" ><a href="#Time">Time(gameFrames)</a></td>
<td class="summary">Create a Time object from a total game frame count (1 second = 30 frames).</td>
</tr>
<tr>
<td class="name" ><a href="#Time">Time(formattedTime)</a></td>
<td class="summary">Create a Time object from a formatted string.</td>
</tr>
<tr>
<td class="name" ><a href="#Time">Time(timeUnits)</a></td>
<td class="summary">Create a Time object from a time unit table (hours, minutes, seconds, centiseconds).</td>
</tr>
<tr>
<td class="name" ><a href="#Time:GetFrameCount">Time:GetFrameCount()</a></td>
<td class="summary">Get the total game frame count.</td>
</tr>
<tr>
<td class="name" ><a href="#Time:GetTimeUnits">Time:GetTimeUnits()</a></td>
<td class="summary">Get the time in hours, minutes, seconds, and centiseconds as a table.</td>
</tr>
<tr>
<td class="name" ><a href="#tostring">tostring(this)</a></td>
<td class="summary">Convert this Time object to a formatted string.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Members"></a>Members</h2>
<dl class="function">
<dt>
<a name = "h"></a>
<strong>h</strong>
</dt>
<dd>
(int) Hours component.
</dd>
<dt>
<a name = "m"></a>
<strong>m</strong>
</dt>
<dd>
(int) Minutes component.
</dd>
<dt>
<a name = "s"></a>
<strong>s</strong>
</dt>
<dd>
(int) Seconds component.
</dd>
<dt>
<a name = "c"></a>
<strong>c</strong>
</dt>
<dd>
(int) Centiseconds component.
</dd>
</dl>
<h2 class="section-header "><a name="Functions"></a>Functions</h2>
<dl class="function">
<dt>
<a name = "Time"></a>
<strong>Time()</strong>
</dt>
<dd>
Create a Time object.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Time.html#">Time</a></span>
A new Time object initialized to zero time.
</ol>
</dd>
<dt>
<a name = "Time"></a>
<strong>Time(gameFrames)</strong>
</dt>
<dd>
Create a Time object from a total game frame count (1 second = 30 frames).
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">gameFrames</span>
<span class="types"><span class="type">int</span></span>
Total game frame count.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Time.html#">Time</a></span>
A new Time object initialized with the given frame count.
</ol>
</dd>
<dt>
<a name = "Time"></a>
<strong>Time(formattedTime)</strong>
</dt>
<dd>
Create a Time object from a formatted string.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">formattedTime</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
Time in the format "HH:MM:SS[.CC]", where [.CC] is centiseconds and is optional.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Time.html#">Time</a></span>
A new Time object parsed from the given string.
</ol>
</dd>
<dt>
<a name = "Time"></a>
<strong>Time(timeUnits)</strong>
</dt>
<dd>
Create a Time object from a time unit table (hours, minutes, seconds, centiseconds).
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">timeUnits</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.6">table</a></span>
A time unit table in the format {HH, MM, SS, [CC]}, where [CC] is optional.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Time.html#">Time</a></span>
A new Time object initialized with the given values.
</ol>
</dd>
<dt>
<a name = "Time:GetFrameCount"></a>
<strong>Time:GetFrameCount()</strong>
</dt>
<dd>
Get the total game frame count.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
Total number of game frames.
</ol>
</dd>
<dt>
<a name = "Time:GetTimeUnits"></a>
<strong>Time:GetTimeUnits()</strong>
</dt>
<dd>
Get the time in hours, minutes, seconds, and centiseconds as a table.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.6">table</a></span>
A table in the format {HH, MM, SS, CC}.
</ol>
</dd>
<dt>
<a name = "tostring"></a>
<strong>tostring(this)</strong>
</dt>
<dd>
Convert this Time object to a formatted string.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">this</span>
<span class="types"><a class="type" href="../3 primitive classes/Time.html#">Time</a></span>
Time object.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
A string showing time in "HH:MM:SS.CC" format.
</ol>
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <here>Vec2</here></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -128,14 +143,22 @@
<td class="summary">Create a Vec2 object.</td>
</tr>
<tr>
<td class="name" ><a href="#__tostring">__tostring(This)</a></td>
<td class="summary">Metafunction.</td>
</tr>
<tr>
<td class="name" ><a href="#Vec2:Normalize">Vec2:Normalize()</a></td>
<td class="summary">Get a copy of this Vec2 normalized to length 1.</td>
</tr>
<tr>
<td class="name" ><a href="#Vec2:Translate">Vec2:Translate(dir, dist)</a></td>
<td class="summary">Get a copy of this Vec2 translated in the input Vec2 direction by the input distance.</td>
</tr>
<tr>
<td class="name" ><a href="#Vec2:Translate">Vec2:Translate(rot, dist)</a></td>
<td class="summary">Get a copy of this Vec2 translated in the direction of the input rotation in degrees by the input distance.</td>
</tr>
<tr>
<td class="name" ><a href="#Vec2:Translate">Vec2:Translate(rot, relOffset)</a></td>
<td class="summary">Get a copy of this Vec2 translated by an offset, where the input relative offset Vec2 is rotated according to the input rotation in degrees.</td>
</tr>
<tr>
<td class="name" ><a href="#Vec2:Rotate">Vec2:Rotate(rot)</a></td>
<td class="summary">Get a copy of this Vec2 rotated by the input rotation in degrees.</td>
</tr>
@ -159,6 +182,10 @@
<td class="name" ><a href="#Vec2:Length">Vec2:Length()</a></td>
<td class="summary">Get the length of this Vec2.</td>
</tr>
<tr>
<td class="name" ><a href="#__tostring">__tostring(This)</a></td>
<td class="summary">Metafunction.</td>
</tr>
</table>
<br/>
@ -207,7 +234,7 @@
<strong>Vec2(x, y)</strong>
</dt>
<dd>
Create a Vec2 object. (x, y)
Create a Vec2 object.
@ -239,7 +266,7 @@
<strong>Vec(value)</strong>
</dt>
<dd>
Create a Vec2 object. (value)
Create a Vec2 object.
@ -261,6 +288,288 @@
</dd>
<dt>
<a name = "Vec2:Normalize"></a>
<strong>Vec2:Normalize()</strong>
</dt>
<dd>
Get a copy of this Vec2 normalized to length 1.
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Normalized vector.
</ol>
</dd>
<dt>
<a name = "Vec2:Translate"></a>
<strong>Vec2:Translate(dir, dist)</strong>
</dt>
<dd>
Get a copy of this Vec2 translated in the input Vec2 direction by the input distance.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">dir</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Direction vector. Normalized automatically to length 1.
</li>
<li><span class="parameter">dist</span>
<span class="types"><span class="type">float</span></span>
Distance.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Translated vector.
</ol>
</dd>
<dt>
<a name = "Vec2:Translate"></a>
<strong>Vec2:Translate(rot, dist)</strong>
</dt>
<dd>
Get a copy of this Vec2 translated in the direction of the input rotation in degrees by the input distance.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">rot</span>
<span class="types"><a class="type" href="../3 primitive classes/Rotation.html#">Rotation</a></span>
Rotation in degrees defining the direction.
</li>
<li><span class="parameter">dist</span>
<span class="types"><span class="type">float</span></span>
Distance.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Translated vector.
</ol>
</dd>
<dt>
<a name = "Vec2:Translate"></a>
<strong>Vec2:Translate(rot, relOffset)</strong>
</dt>
<dd>
Get a copy of this Vec2 translated by an offset, where the input relative offset Vec2 is rotated according to the input rotation in degrees.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">rot</span>
<span class="types"><span class="type">float</span></span>
Rotation in degrees rotating the input relative offset vector.
</li>
<li><span class="parameter">relOffset</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Relative offset vector before rotation.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Translated vector.
</ol>
</dd>
<dt>
<a name = "Vec2:Rotate"></a>
<strong>Vec2:Rotate(rot)</strong>
</dt>
<dd>
Get a copy of this Vec2 rotated by the input rotation in degrees.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">rot</span>
<span class="types"><span class="type">float</span></span>
Rotation in degrees.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Rotated Vec2.
</ol>
</dd>
<dt>
<a name = "Vec2:Lerp"></a>
<strong>Vec2:Lerp(vector, alpha)</strong>
</dt>
<dd>
Get the linearly interpolated Vec2 between this Vec2 and the input Vec2 according to the input interpolation alpha.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">vector</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Interpolation target.
</li>
<li><span class="parameter">alpha</span>
<span class="types"><span class="type">float</span></span>
Interpolation alpha in the range [0, 1].
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Linearly interpolated vector.
</ol>
</dd>
<dt>
<a name = "Vec2:Cross"></a>
<strong>Vec2:Cross(vector)</strong>
</dt>
<dd>
Get the cross product of this Vec2 and the input Vec2.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">vector</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Input vector.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Cross product.
</ol>
</dd>
<dt>
<a name = "Vec2:Dot"></a>
<strong>Vec2:Dot(vector)</strong>
</dt>
<dd>
Get the dot product of this Vec2 and the input Vec2.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">vector</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Input vector.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">float</span></span>
Dot product.
</ol>
</dd>
<dt>
<a name = "Vec2:Distance"></a>
<strong>Vec2:Distance(vector)</strong>
</dt>
<dd>
Get the distance between this Vec2 and the input Vec2.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">vector</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Input vector.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">float</span></span>
Distance.
</ol>
</dd>
<dt>
<a name = "Vec2:Length"></a>
<strong>Vec2:Length()</strong>
</dt>
<dd>
Get the length of this Vec2.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">float</span></span>
Length.
</ol>
</dd>
<dt>
<a name = "__tostring"></a>
@ -289,192 +598,6 @@
</dd>
<dt>
<a name = "Vec2:Normalize"></a>
<strong>Vec2:Normalize()</strong>
</dt>
<dd>
Get a copy of this Vec2 normalized to length 1. ()
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Normalized vector.
</ol>
</dd>
<dt>
<a name = "Vec2:Rotate"></a>
<strong>Vec2:Rotate(rot)</strong>
</dt>
<dd>
Get a copy of this Vec2 rotated by the input rotation in degrees. (rot)
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">rot</span>
<span class="types"><span class="type">float</span></span>
Rotation in degrees.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Rotated Vec2.
</ol>
</dd>
<dt>
<a name = "Vec2:Lerp"></a>
<strong>Vec2:Lerp(vector, alpha)</strong>
</dt>
<dd>
Get the linearly interpolated Vec2 between this Vec2 and the input Vec2 according to the input interpolation alpha. (vector)
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">vector</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Target interpolation vector.
</li>
<li><span class="parameter">alpha</span>
<span class="types"><span class="type">float</span></span>
Interpolation alpha in the range [0, 1].
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Linearly interpolated vector
</ol>
</dd>
<dt>
<a name = "Vec2:Cross"></a>
<strong>Vec2:Cross(vector)</strong>
</dt>
<dd>
Get the cross product of this Vec2 and the input Vec2. (vector)
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">vector</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Input vector.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Cross product.
</ol>
</dd>
<dt>
<a name = "Vec2:Dot"></a>
<strong>Vec2:Dot(vector)</strong>
</dt>
<dd>
Get the dot product of this Vec2 and the input Vec2. (vector)
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">vector</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Input vector.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">float</span></span>
Dot product.
</ol>
</dd>
<dt>
<a name = "Vec2:Distance"></a>
<strong>Vec2:Distance(vector)</strong>
</dt>
<dd>
Get the distance between this Vec2 and the input Vec2. (vector)
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">vector</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Input vector.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">float</span></span>
Distance.
</ol>
</dd>
<dt>
<a name = "Vec2:Length"></a>
<strong>Vec2:Length()</strong>
</dt>
<dd>
Get the length of this Vec2. ()
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">float</span></span>
Length.
</ol>
</dd>
</dl>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <here>Vec3</here></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -136,6 +151,18 @@
<td class="summary">Get a copy of this Vec3 normalized to length 1.</td>
</tr>
<tr>
<td class="name" ><a href="#Translate">Translate(dir, dist)</a></td>
<td class="summary">Get a copy of this Vec3 translated in the input Vec3 direction by the input distance.</td>
</tr>
<tr>
<td class="name" ><a href="#Translate">Translate(rot, dist)</a></td>
<td class="summary">Get a copy of this Vec3 translated in the direction of the input Rotation object by the input distance.</td>
</tr>
<tr>
<td class="name" ><a href="#Translate">Translate(rot, relOffset)</a></td>
<td class="summary">Get a copy of this Vec3 translated by an offset, where the input relative offset Vec3 is rotated according to the input Rotation object.</td>
</tr>
<tr>
<td class="name" ><a href="#Vec3:Rotate">Vec3:Rotate(rot)</a></td>
<td class="summary">Get a copy of this Vec3 rotated by the input Rotation object.</td>
</tr>
@ -226,7 +253,7 @@
<strong>Vec3(x, y, z)</strong>
</dt>
<dd>
Create a Vec3 object. (x, y, z)
Create a Vec3 object.
@ -262,7 +289,7 @@
<strong>Vec3(value)</strong>
</dt>
<dd>
Create a Vec3 object. (value)
Create a Vec3 object.
@ -290,7 +317,7 @@
<strong>Vec3:Normalize()</strong>
</dt>
<dd>
Get a copy of this Vec3 normalized to length 1. ()
Get a copy of this Vec3 normalized to length 1.
@ -305,13 +332,109 @@
</dd>
<dt>
<a name = "Translate"></a>
<strong>Translate(dir, dist)</strong>
</dt>
<dd>
Get a copy of this Vec3 translated in the input Vec3 direction by the input distance.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">dir</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Direction vector. Normalized automatically to length 1.
</li>
<li><span class="parameter">dist</span>
<span class="types"><span class="type">float</span></span>
Distance.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Translated vector.
</ol>
</dd>
<dt>
<a name = "Translate"></a>
<strong>Translate(rot, dist)</strong>
</dt>
<dd>
Get a copy of this Vec3 translated in the direction of the input Rotation object by the input distance.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">rot</span>
<span class="types"><a class="type" href="../3 primitive classes/Rotation.html#">Rotation</a></span>
Rotation object defining the direction.
</li>
<li><span class="parameter">dist</span>
<span class="types"><span class="type">float</span></span>
Distance.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Translated vector.
</ol>
</dd>
<dt>
<a name = "Translate"></a>
<strong>Translate(rot, relOffset)</strong>
</dt>
<dd>
Get a copy of this Vec3 translated by an offset, where the input relative offset Vec3 is rotated according to the input Rotation object.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">rot</span>
<span class="types"><a class="type" href="../3 primitive classes/Rotation.html#">Rotation</a></span>
Rotation object rotating the input relative offset vector.
</li>
<li><span class="parameter">relOffset</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Relative offset vector before rotation.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Translated vector.
</ol>
</dd>
<dt>
<a name = "Vec3:Rotate"></a>
<strong>Vec3:Rotate(rot)</strong>
</dt>
<dd>
Get a copy of this Vec3 rotated by the input Rotation object. (rot)
Get a copy of this Vec3 rotated by the input Rotation object.
@ -339,7 +462,7 @@
<strong>Vec3:Lerp(vector, alpha)</strong>
</dt>
<dd>
Get the linearly interpolated Vec3 between this Vec3 and the input Vec3 according to the input interpolation alpha. (vector)
Get the linearly interpolated Vec3 between this Vec3 and the input Vec3 according to the input interpolation alpha.
@ -347,7 +470,7 @@
<ul>
<li><span class="parameter">vector</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Target interpolation vector.
Interpolation target.
</li>
<li><span class="parameter">alpha</span>
<span class="types"><span class="type">float</span></span>
@ -359,7 +482,7 @@
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
Linearly interpolated vector
Linearly interpolated vector.
</ol>
@ -371,7 +494,7 @@
<strong>Vec3:Cross(vector)</strong>
</dt>
<dd>
Get the cross product of this Vec3 and the input Vec3. (vector)
Get the cross product of this Vec3 and the input Vec3.
@ -399,7 +522,7 @@
<strong>Vec3:Dot(vector)</strong>
</dt>
<dd>
Get the dot product of this Vec3 and the input Vec3. (vector)
Get the dot product of this Vec3 and the input Vec3.
@ -427,7 +550,7 @@
<strong>Vec3:Distance(vector)</strong>
</dt>
<dd>
Get the distance between this Vec3 and the input Vec3. (vector)
Get the distance between this Vec3 and the input Vec3.
@ -455,7 +578,7 @@
<strong>Vec3:Length()</strong>
</dt>
<dd>
Get the length of this Vec3. ()
Get the length of this Vec3.

View file

@ -0,0 +1,193 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Input.html">Input</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Sound.html">Sound</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
<li> <a href="../1 modules/Util.html">Util</a></li>
<li> <a href="../1 modules/View.html">View</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <here>Collision.MaterialType</here></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
<li> <a href="../4 enums/View.PostProcessMode.html">View.PostProcessMode</a></li>
<li> <a href="../4 enums/View.ScaleMode.html">View.ScaleMode</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Enum <code>Collision.MaterialType</code></h1>
<p>Constants for material types.</p>
<p>
</p>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Collision.MaterialType">Collision.MaterialType</a></td>
<td class="summary">Table of MaterialType constants.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<dl class="function">
<dt>
<a name = "Collision.MaterialType"></a>
<strong>Collision.MaterialType</strong>
</dt>
<dd>
<p>Table of MaterialType constants. To be used with <a href="../2 classes/Collision.Probe.html#GetFloorMaterialType">Collision.Probe.GetFloorMaterialType</a> and <a href="../2 classes/Collision.Probe.html#GetCeilingMaterialType">Collision.Probe.GetCeilingMaterialType</a>.</p>
<ul>
<li><code>MUD</code></li>
<li><code>SNOW</code></li>
<li><code>SNOW</code></li>
<li><code>SAND</code></li>
<li><code>GRAVEL</code></li>
<li><code>ICE</code></li>
<li><code>WATER</code></li>
<li><code>STONE</code></li>
<li><code>WOOD</code></li>
<li><code>METAL</code></li>
<li><code>MARBLE</code></li>
<li><code>GRASS</code></li>
<li><code>CONCRETE</code></li>
<li><code>OLD_WOOD</code></li>
<li><code>OLD_METAL</code></li>
<li><code>CUSTOM_1</code></li>
<li><code>CUSTOM_2</code></li>
<li><code>CUSTOM_3</code></li>
<li><code>CUSTOM_4</code></li>
<li><code>CUSTOM_5</code></li>
<li><code>CUSTOM_6</code></li>
<li><code>CUSTOM_7</code></li>
<li><code>CUSTOM_8</code></li>
</ul>
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <here>Effects.BlendID</here></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -106,11 +121,11 @@
</p>
<h2><a href="#Effects_BlendID_constants">Effects.BlendID constants </a></h2>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#CONSTANT_STRING_HERE">CONSTANT_STRING_HERE</a></td>
<td class="summary">Table of blend mode constants (for use with particles).</td>
<td class="name" ><a href="#Effects.BlendID">Effects.BlendID</a></td>
<td class="summary">Table of Effects.BlendID constants.</td>
</tr>
</table>
@ -118,35 +133,30 @@
<br/>
<h2 class="section-header has-description"><a name="Effects_BlendID_constants"></a>Effects.BlendID constants </h2>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<div class="section-description">
<p>The following constants are inside BlendID.</p>
<pre><code>OPAQUE
ALPHATEST
ADDITIVE
NOZTEST
SUBTRACTIVE
WIREFRAME
EXCLUDE
SCREEN
LIGHTEN
ALPHABLEND
</code></pre>
</div>
<dl class="function">
<dt>
<a name = "CONSTANT_STRING_HERE"></a>
<strong>CONSTANT_STRING_HERE</strong>
<a name = "Effects.BlendID"></a>
<strong>Effects.BlendID</strong>
</dt>
<dd>
Table of blend mode constants (for use with particles).
<p>Table of Effects.BlendID constants. </p>
<ul>
<li><code>OPAQUE</code></li>
<li><code>ALPHA_TEST</code></li>
<li><code>ADDITIVE</code></li>
<li><code>NO_DEPTH_TEST</code></li>
<li><code>SUBTRACTIVE</code></li>
<li><code>EXCLUDE</code></li>
<li><code>SCREEN</code></li>
<li><code>LIGHTEN</code></li>
<li><code>ALPHA_BLEND</code></li>
</ul>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <here>Effects.EffectID</here></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -106,11 +121,11 @@
</p>
<h2><a href="#Effects_EffectID_constants">Effects.EffectID constants </a></h2>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#CONSTANT_STRING_HERE">CONSTANT_STRING_HERE</a></td>
<td class="summary">Table of effect ID constants (for use Moveable:SetEffect / Moveable:GetEffect functions).</td>
<td class="name" ><a href="#Effects.EffectID">Effects.EffectID</a></td>
<td class="summary">Table of Effects.EffectID constants.</td>
</tr>
</table>
@ -118,33 +133,30 @@
<br/>
<h2 class="section-header has-description"><a name="Effects_EffectID_constants"></a>Effects.EffectID constants </h2>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<div class="section-description">
<p>The following constants are inside EffectID.</p>
<pre><code>NONE
FIRE
SPARKS
SMOKE
ELECTRICIGNITE
REDIGNITE
CADAVER
CUSTOM
</code></pre>
</div>
<dl class="function">
<dt>
<a name = "CONSTANT_STRING_HERE"></a>
<strong>CONSTANT_STRING_HERE</strong>
<a name = "Effects.EffectID"></a>
<strong>Effects.EffectID</strong>
</dt>
<dd>
Table of effect ID constants (for use Moveable:SetEffect / Moveable:GetEffect functions).
<p>Table of Effects.EffectID constants.
To be used with <a href="../2 classes/Objects.Moveable.html#Moveable:SetEffect">Objects.Moveable.SetEffect</a> and <a href="../2 classes/Objects.Moveable.html#Moveable:GetEffect">Objects.Moveable.GetEffect</a> functions.</p>
<ul>
<li><code>NONE</code></li>
<li><code>FIRE</code></li>
<li><code>SPARKS</code></li>
<li><code>SMOKE</code></li>
<li><code>ELECTRIC_IGNITE</code></li>
<li><code>RED_IGNITE</code></li>
<li><code>CADAVER</code></li>
<li><code>CUSTOM</code></li>
</ul>

View file

@ -0,0 +1,172 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Input.html">Input</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Sound.html">Sound</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
<li> <a href="../1 modules/Util.html">Util</a></li>
<li> <a href="../1 modules/View.html">View</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <here>Effects.ParticleAnimationType</here></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
<li> <a href="../4 enums/View.PostProcessMode.html">View.PostProcessMode</a></li>
<li> <a href="../4 enums/View.ScaleMode.html">View.ScaleMode</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Enum <code>Effects.ParticleAnimationType</code></h1>
<p>Constants for particle animation type constants.</p>
<p> To be used with <a href="../1 modules/Effects.html#EmitAdvancedParticle">Effects.EmitAdvancedParticle</a> function.</p>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Effects.ParticleAnimationType">Effects.ParticleAnimationType</a></td>
<td class="summary">Table of Effects.ParticleAnimationType type constants.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<dl class="function">
<dt>
<a name = "Effects.ParticleAnimationType"></a>
<strong>Effects.ParticleAnimationType</strong>
</dt>
<dd>
<p>Table of Effects.ParticleAnimationType type constants. To be used with particles.</p>
<ul>
<li><code>LOOP</code> - Frames loop sequentially.</li>
<li><code>ONE_SHOT</code> - Frames play once and freeze on the last frame.</li>
<li><code>BACK_AND_FORTH</code> - Frames bounce back and forth.</li>
<li><code>LIFE_TIME_SPREAD</code> - Frames are distributed over the particle's lifetime</li>
</ul>
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <here>Flow.Animations</here></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <here>Effects.StreamerFeatherMode</here></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,26 +103,66 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Class <code>Flow.Animations</code></h1>
<p>New custom animations which Lara can perform.</p>
<h1>Enum <code>Effects.StreamerFeatherMode</code></h1>
<p>Constants for feather modes.</p>
<p>
</p>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Effects.StreamerFeatherMode">Effects.StreamerFeatherMode</a></td>
<td class="summary">Table of Effects.StreamerFeatherMode constants.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<dl class="function">
<dt>
<a name = "Effects.StreamerFeatherMode"></a>
<strong>Effects.StreamerFeatherMode</strong>
</dt>
<dd>
<p>Table of Effects.StreamerFeatherMode constants.
To be used with <a href="../1 modules/Effects.html#EmitStreamer">Effects.EmitStreamer</a> function.</p>
<ul>
<li><code>NONE</code></li>
<li><code>CENTER</code></li>
<li><code>LEFT</code></li>
<li><code>RIGHT</code></li>
</ul>
</dd>
</dl>
</div> <!-- id="content" -->

View file

@ -0,0 +1,181 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Input.html">Input</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Sound.html">Sound</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
<li> <a href="../1 modules/Util.html">Util</a></li>
<li> <a href="../1 modules/View.html">View</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <here>Flow.ErrorMode</here></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
<li> <a href="../4 enums/View.PostProcessMode.html">View.PostProcessMode</a></li>
<li> <a href="../4 enums/View.ScaleMode.html">View.ScaleMode</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Enum <code>Flow.ErrorMode</code></h1>
<p>Constants for error modes.</p>
<p>
</p>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Flow.ErrorMode">Flow.ErrorMode</a></td>
<td class="summary">Table of Flow.ErrorMode constants.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<dl class="function">
<dt>
<a name = "Flow.ErrorMode"></a>
<strong>Flow.ErrorMode</strong>
</dt>
<dd>
Table of Flow.ErrorMode constants. To be used in <a href="../2 classes/Flow.Settings.html#errorMode">errorMode</a> setting.</p>
<p> The following constants are inside Flow.ErrorMode: <br></p>
<ul>
<li><p><code>TERMINATE</code> - print to the log file and return to the title level when any script error is hit.
This is the one you will want to go for if you want to know IMMEDIATELY if something has gone wrong.</p></li>
<li><p><code>WARN</code> - print to the log file and continue running the application when a recoverable script error is hit.
Choose this one if booting to the title level is too much for you.</p></li>
<li><p><code>SILENT</code> - do nothing when a recoverable script error is hit.
Think <strong>very</strong> carefully before using this setting. These error modes are here to help you to keep your scripts
working properly, but if you opt to ignore errors, you won't be alerted if you've misused a function or passed
an invalid argument.</p></li>
</ul>
<p> In all of these modes, an <em>unrecoverable</em> error will boot you to the title level. If the title level itself
has an unrecoverable error, the game will close.
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -0,0 +1,174 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Input.html">Input</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Sound.html">Sound</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
<li> <a href="../1 modules/Util.html">Util</a></li>
<li> <a href="../1 modules/View.html">View</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <here>Flow.FreezeMode</here></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
<li> <a href="../4 enums/View.PostProcessMode.html">View.PostProcessMode</a></li>
<li> <a href="../4 enums/View.ScaleMode.html">View.ScaleMode</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Enum <code>Flow.FreezeMode</code></h1>
<p>Constants for freeze modes.</p>
<p>
</p>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#FreezeMode">FreezeMode</a></td>
<td class="summary">Table of Flow.FreezeMode constants.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<dl class="function">
<dt>
<a name = "FreezeMode"></a>
<strong>FreezeMode</strong>
</dt>
<dd>
<p>Table of Flow.FreezeMode constants.
To be used with <a href="../1 modules/Flow.html#GetFreezeMode">Flow.GetFreezeMode</a> and <a href="../1 modules/Flow.html#SetFreezeMode">Flow.SetFreezeMode</a> functions.</p>
<ul>
<li><code>NONE</code> - Normal in-game operation.</li>
<li><code>FULL</code> - Game is completely frozen, as in pause or inventory menus.</li>
<li><code>SPECTATOR</code> - Game is completely frozen, but with ability to control camera.</li>
<li><code>PLAYER</code> - Game is completely frozen, but with ability to control player. Experimental.</li>
</ul>
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <here>Flow.GameStatus</here></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -106,11 +121,11 @@
</p>
<h2><a href="#Flow_GameStatus_constants">Flow.GameStatus constants </a></h2>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#CONSTANT_STRING_HERE">CONSTANT_STRING_HERE</a></td>
<td class="summary">Table of game statuses.</td>
<td class="name" ><a href="#Flow.GameStatus">Flow.GameStatus</a></td>
<td class="summary">Table of Flow.GameStatus constants.</td>
</tr>
</table>
@ -118,32 +133,31 @@
<br/>
<h2 class="section-header has-description"><a name="Flow_GameStatus_constants"></a>Flow.GameStatus constants </h2>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<div class="section-description">
<p>The following constants are inside Flow.GameStatus.</p>
<pre><code>NORMAL
NEW_GAME
LOAD_GAME
EXIT_TO_TITLE
EXIT_GAME
LARA_DEAD
LEVEL_COMPLETE
</code></pre>
</div>
<dl class="function">
<dt>
<a name = "CONSTANT_STRING_HERE"></a>
<strong>CONSTANT_STRING_HERE</strong>
<a name = "Flow.GameStatus"></a>
<strong>Flow.GameStatus</strong>
</dt>
<dd>
Table of game statuses.
<p>Table of Flow.GameStatus constants.
To be used with <a href="../1 modules/Flow.html#GetGameStatus">Flow.GetGameStatus</a> function.</p>
<p> The following constants are inside Flow.GameStatus.</p>
<ul>
<li><code>NORMAL</code></li>
<li><code>NEW_GAME</code></li>
<li><code>LOAD_GAME</code></li>
<li><code>EXIT_TO_TITLE</code></li>
<li><code>EXIT_GAME</code></li>
<li><code>LARA_DEAD</code></li>
<li><code>LEVEL_COMPLETE</code>
</li>
</ul>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <here>Input.ActionID</here></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -106,11 +121,11 @@
</p>
<h2><a href="#Input_ActionID_constants">Input.ActionID constants </a></h2>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#CONSTANT_STRING_HERE">CONSTANT_STRING_HERE</a></td>
<td class="summary">Table of action ID constants (for use with KeyIsHeld / KeyIsHit / etc commands).</td>
<td class="name" ><a href="#Input.ActionID">Input.ActionID</a></td>
<td class="summary">Table of Input.ActionID constants.</td>
</tr>
</table>
@ -118,13 +133,17 @@
<br/>
<h2 class="section-header has-description"><a name="Input_ActionID_constants"></a>Input.ActionID constants </h2>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<div class="section-description">
<dl class="function">
<dt>
<a name = "Input.ActionID"></a>
<strong>Input.ActionID</strong>
</dt>
<dd>
<p>The following constants are inside ActionID.</p>
<p>Table of Input.ActionID constants.
To be used with <a href="../1 modules/Input.html#KeyIsHit">Input.KeyIsHit</a>, <a href="../1 modules/Input.html#KeyIsHeld">Input.KeyIsHeld</a>, and similar functions.</p>
<pre><code>FORWARD
BACK
@ -173,14 +192,6 @@ LOAD
</code></pre>
</div>
<dl class="function">
<dt>
<a name = "CONSTANT_STRING_HERE"></a>
<strong>CONSTANT_STRING_HERE</strong>
</dt>
<dd>
Table of action ID constants (for use with KeyIsHeld / KeyIsHit / etc commands).

View file

@ -1,195 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.1.0 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Misc.html">Misc</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <here>Misc.ActionID</here></li>
<li> <a href="../4 enums/Misc.CameraType.html">Misc.CameraType</a></li>
<li> <a href="../4 enums/Misc.LogLevel.html">Misc.LogLevel</a></li>
<li> <a href="../4 enums/Misc.SoundTrackType.html">Misc.SoundTrackType</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
</ul>
</div>
<div id="content">
<h1>Enum <code>Misc.ActionID</code></h1>
<p>Constants for action key IDs.</p>
<p>
</p>
<h2><a href="#Misc_ActionID_constants">Misc.ActionID constants </a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#CONSTANT_STRING_HERE">CONSTANT_STRING_HERE</a></td>
<td class="summary">Table of action ID constants (for use with KeyIsHeld / KeyIsHit / etc commands).</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header has-description"><a name="Misc_ActionID_constants"></a>Misc.ActionID constants </h2>
<div class="section-description">
<p>The following constants are inside ActionID.</p>
<pre><code>FORWARD
BACK
LEFT
RIGHT
STEP_LEFT
STEP_RIGHT
WALK
SPRINT
CROUCH
JUMP
ROLL
ACTION
DRAW
LOOK
ACCELERATE
REVERSE
SPEED
SLOW
BRAKE
FIRE
FLARE
SMALL_MEDIPACK
LARGE_MEDIPACK
PREVIOUS_WEAPON
NEXT_WEAPON
WEAPON_1
WEAPON_2
WEAPON_3
WEAPON_4
WEAPON_5
WEAPON_6
WEAPON_7
WEAPON_8
WEAPON_9
WEAPON_10
SELECT
DESELECT
PAUSE
INVENTORY
SAVE
LOAD
</code></pre>
</div>
<dl class="function">
<dt>
<a name = "CONSTANT_STRING_HERE"></a>
<strong>CONSTANT_STRING_HERE</strong>
</dt>
<dd>
Table of action ID constants (for use with KeyIsHeld / KeyIsHit / etc commands).
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
<i style="float:right;">Last updated 2023-09-30 13:48:57 </i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -1,157 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.1.0 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Misc.html">Misc</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Misc.ActionID.html">Misc.ActionID</a></li>
<li> <here>Misc.CameraType</here></li>
<li> <a href="../4 enums/Misc.LogLevel.html">Misc.LogLevel</a></li>
<li> <a href="../4 enums/Misc.SoundTrackType.html">Misc.SoundTrackType</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
</ul>
</div>
<div id="content">
<h1>Enum <code>Misc.CameraType</code></h1>
<p>Constants for the type of the Camera.</p>
<p>
</p>
<h2><a href="#Misc_CameraType_constants">Misc.CameraType constants </a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#CONSTANT_STRING_HERE">CONSTANT_STRING_HERE</a></td>
<td class="summary">Table of camera type constants (for use with GetCameraType() function).</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header has-description"><a name="Misc_CameraType_constants"></a>Misc.CameraType constants </h2>
<div class="section-description">
<p>The following constants are inside CameraType.</p>
<pre><code>CHASE
FIXED
LOOK
COMBAT
HEAVY
OBJECT
</code></pre>
</div>
<dl class="function">
<dt>
<a name = "CONSTANT_STRING_HERE"></a>
<strong>CONSTANT_STRING_HERE</strong>
</dt>
<dd>
Table of camera type constants (for use with GetCameraType() function).
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
<i style="float:right;">Last updated 2023-09-30 13:48:57 </i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -1,153 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.1.0 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Misc.html">Misc</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Misc.ActionID.html">Misc.ActionID</a></li>
<li> <a href="../4 enums/Misc.CameraType.html">Misc.CameraType</a></li>
<li> <here>Misc.LogLevel</here></li>
<li> <a href="../4 enums/Misc.SoundTrackType.html">Misc.SoundTrackType</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
</ul>
</div>
<div id="content">
<h1>Enum <code>Misc.LogLevel</code></h1>
<p>Constants for LogLevel IDs.</p>
<p>
</p>
<h2><a href="#Misc_LogLevel_constants">Misc.LogLevel constants </a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#CONSTANT_STRING_HERE">CONSTANT_STRING_HERE</a></td>
<td class="summary">Table of LogLevel ID constants (for use with PrintLog() command).</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header has-description"><a name="Misc_LogLevel_constants"></a>Misc.LogLevel constants </h2>
<div class="section-description">
<p>The following constants are inside LogLevel.</p>
<pre><code>INFO
WARNING
ERROR
</code></pre>
</div>
<dl class="function">
<dt>
<a name = "CONSTANT_STRING_HERE"></a>
<strong>CONSTANT_STRING_HERE</strong>
</dt>
<dd>
Table of LogLevel ID constants (for use with PrintLog() command).
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
<i style="float:right;">Last updated 2023-09-30 13:48:57 </i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -1,154 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.1.0 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Misc.html">Misc</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Misc.ActionID.html">Misc.ActionID</a></li>
<li> <a href="../4 enums/Misc.CameraType.html">Misc.CameraType</a></li>
<li> <a href="../4 enums/Misc.LogLevel.html">Misc.LogLevel</a></li>
<li> <here>Misc.SoundTrackType</here></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
</ul>
</div>
<div id="content">
<h1>Enum <code>Misc.SoundTrackType</code></h1>
<p>Constants for the type of the audio tracks.</p>
<p>
</p>
<h2><a href="#Misc_SoundTrackType_constants">Misc.SoundTrackType constants </a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#CONSTANT_STRING_HERE">CONSTANT_STRING_HERE</a></td>
<td class="summary">Table of sound track type constants (for use with sound track functions).</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header has-description"><a name="Misc_SoundTrackType_constants"></a>Misc.SoundTrackType constants </h2>
<div class="section-description">
<p>The following constants are inside SoundTrackType.</p>
<pre><code>ONESHOT
LOOPED
VOICE
</code></pre>
</div>
<dl class="function">
<dt>
<a name = "CONSTANT_STRING_HERE"></a>
<strong>CONSTANT_STRING_HERE</strong>
</dt>
<dd>
Table of sound track type constants (for use with sound track functions).
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
<i style="float:right;">Last updated 2023-09-30 13:48:57 </i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <here>Objects.AmmoType</here></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -106,11 +121,11 @@
</p>
<h2><a href="#Objects_AmmoType_constants">Objects.AmmoType constants </a></h2>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#CONSTANT_STRING_HERE">CONSTANT_STRING_HERE</a></td>
<td class="summary">AmmoType constants table.</td>
<td class="name" ><a href="#Objects.AmmoType">Objects.AmmoType</a></td>
<td class="summary">Table of Objects.AmmoType constants.</td>
</tr>
</table>
@ -118,40 +133,37 @@
<br/>
<h2 class="section-header has-description"><a name="Objects_AmmoType_constants"></a>Objects.AmmoType constants </h2>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<div class="section-description">
<p>The following constants are inside AmmoType.</p>
<pre><code>NONE
PISTOLS
REVOLVER
UZI
SHOTGUN_NORMAL
SHOTGUN_WIDE
HK
CROSSBOW_BOLT_NORMAL
CROSSBOW_BOLT_POISON
CROSSBOW_BOLT_EXPLOSIVE
GRENADE_NORMAL
GRENADE_FRAG
GRENADE_FLASH
HARPOON
ROCKET
</code></pre>
</div>
<dl class="function">
<dt>
<a name = "CONSTANT_STRING_HERE"></a>
<strong>CONSTANT_STRING_HERE</strong>
<a name = "Objects.AmmoType"></a>
<strong>Objects.AmmoType</strong>
</dt>
<dd>
AmmoType constants table.
<p>Table of Objects.AmmoType constants.
To be used with <a href="../2 classes/Objects.LaraObject.html#LaraObject:GetAmmoType">Objects.LaraObject.GetAmmoType</a> function.</p>
<ul>
<li><code>NONE</code></li>
<li><code>PISTOLS</code></li>
<li><code>REVOLVER</code></li>
<li><code>UZI</code></li>
<li><code>SHOTGUN_NORMAL</code></li>
<li><code>SHOTGUN_WIDE</code></li>
<li><code>HK</code></li>
<li><code>CROSSBOW_BOLT_NORMAL</code></li>
<li><code>CROSSBOW_BOLT_POISON</code></li>
<li><code>CROSSBOW_BOLT_EXPLOSIVE</code></li>
<li><code>GRENADE_NORMAL</code></li>
<li><code>GRENADE_FRAG</code></li>
<li><code>GRENADE_FLASH</code></li>
<li><code>HARPOON</code></li>
<li><code>ROCKET</code></li>
</ul>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <here>Flow.Mirror</here></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <here>Objects.HandStatus</here></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,26 +103,67 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Class <code>Flow.Mirror</code></h1>
<p>A mirror effect.</p>
<p>As seen in TR4's Coastal Ruins and Sacred Lake levels.</p>
<h1>Enum <code>Objects.HandStatus</code></h1>
<p>Constants for player hand statuses.</p>
<p>
<p><strong>Not currently implemented.</strong> </p>
</p>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Objects.HandStatus">Objects.HandStatus</a></td>
<td class="summary">Table of Objects.HandStatus constants.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<dl class="function">
<dt>
<a name = "Objects.HandStatus"></a>
<strong>Objects.HandStatus</strong>
</dt>
<dd>
<p>Table of Objects.HandStatus constants.
To be used with <a href="../2 classes/Objects.LaraObject.html#LaraObject:GetAmmoType">Objects.LaraObject.GetAmmoType</a> function.</p>
<ul>
<li><code>FREE</code></li>
<li><code>BUSY</code></li>
<li><code>WEAPON_DRAW</code></li>
<li><code>WEAPON_READY</code></li>
<li><code>SPECIAL</code></li>
</ul>
</dd>
</dl>
</div> <!-- id="content" -->

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <here>Objects.MoveableStatus</here></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -106,11 +121,11 @@
</p>
<h2><a href="#Objects_MoveableStatus_constants">Objects.MoveableStatus constants </a></h2>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#CONSTANT_STRING_HERE">CONSTANT_STRING_HERE</a></td>
<td class="summary">Table of moveable statuses.</td>
<td class="name" ><a href="#Objects.MoveableStatus">Objects.MoveableStatus</a></td>
<td class="summary">Table of Objects.MoveableStatus constants.</td>
</tr>
</table>
@ -118,29 +133,27 @@
<br/>
<h2 class="section-header has-description"><a name="Objects_MoveableStatus_constants"></a>Objects.MoveableStatus constants </h2>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<div class="section-description">
<p>The following constants are inside Objects.MoveableStatus.</p>
<pre><code>INACTIVE
ACTIVE
DEACTIVATED
INVISIBLE
</code></pre>
</div>
<dl class="function">
<dt>
<a name = "CONSTANT_STRING_HERE"></a>
<strong>CONSTANT_STRING_HERE</strong>
<a name = "Objects.MoveableStatus"></a>
<strong>Objects.MoveableStatus</strong>
</dt>
<dd>
Table of moveable statuses.
<p>Table of Objects.MoveableStatus constants. </p>
<p> To be used with <a href="../2 classes/Objects.Moveable.html#Moveable:GetStatus">Objects.Moveable.GetStatus</a> and <a href="../2 classes/Objects.Moveable.html#Moveable:SetStatus">Objects.Moveable.SetStatus</a> functions.</p>
<ul>
<li><code>INACTIVE</code> - moveable is inactive (was never activated).</li>
<li><code>ACTIVE</code> - moveable is active.</li>
<li><code>DEACTIVATED</code> - moveable is deactivated (was previously active and later deactivated).</li>
<li><code>INVISIBLE</code> - moveable is invisible.</li>
</ul>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <here>Objects.ObjID</here></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -116,6 +131,10 @@
<td class="name" ><a href="#PickupConstants">PickupConstants</a></td>
<td class="summary">Objects.ObjID pickup constants.</td>
</tr>
<tr>
<td class="name" ><a href="#SpriteConstants">SpriteConstants</a></td>
<td class="summary">Objects.ObjID sprite constants.</td>
</tr>
</table>
<br/>
@ -130,7 +149,8 @@
<strong>Members</strong>
</dt>
<dd>
Objects.ObjID constants. </p>
<p>Objects.ObjID constants. </p>
<p>The following constants are inside ObjID.</p>
@ -163,15 +183,16 @@ ACTOR1_SPEECH_HEAD1
ACTOR1_SPEECH_HEAD2
ACTOR2_SPEECH_HEAD1
ACTOR2_SPEECH_HEAD2
LARA_BINOCULARS_MESH
LARA_EXTRA_MESH1
LARA_EXTRA_MESH2
LARA_EXTRA_MESH3
LARA_WATER_MESH
LARA_PETROL_MESH
LARA_DIRT_MESH
LARA_CROWBAR_ANIM
LARA_TORCH_ANIM
HAIR
HAIR_PRIMARY
HAIR_SECONDARY
SNOWMOBILE_LARA_ANIMS
SNOWMOBILE
QUAD_LARA_ANIMS
@ -282,6 +303,7 @@ GLADIATOR
CYBORG
SNIPER
CHEF
KOLD
WINGED_MUMMY
CENTAUR_MUTANT
DOPPELGANGER
@ -306,14 +328,14 @@ SWORD_GUARDIAN
SWORD_GUARDIAN_STATUE
SHIVA
SHIVA_STATUE
TRIBEBOSS
WILLARD
CIVVY
MUTANT2
LIZARD
TONY_BOSS
TONY_BOSS_FLAME
PUNA_BOSS
SOPHIA_LEE_BOSS
SOPHIA_LEIGH_BOSS
LASER_BOLT
SKELETON
MUMMY
@ -345,7 +367,7 @@ ATTACK_SUB
IMP
IMP_ROCK
GUNSHIP
AUTOGUN
AUTO_GUN_VCI
ROMAN_GOD1
ROMAN_GOD2
LAGOON_WITCH
@ -354,10 +376,11 @@ BOSS_EXPLOSION_SHOCKWAVE
BOSS_EXPLOSION_RING
CLAW_MUTANT
WASP_MUTANT
TWIN_AUTO_GUN
SKATEBOARD
SKATEBOARD_KID
WINSTON
ARMY_WINSTON
SEAL_MUTANT
SPRINGBOARD
ROLLING_SPINDLE
DISK_SHOOTER
@ -489,6 +512,11 @@ DAMOCLES_SWORD
ELECTRIC_CLEANER
SLAMMING_DOORS
SWINGING_BLADE
ELECTRIC_BALL
ELECTRIC_BALL_IMPACT_POINT
THOR_HAMMER_HANDLE
THOR_HAMMER_HEAD
MOVING_LASER
PUZZLE_ITEM1
PUZZLE_ITEM2
PUZZLE_ITEM3
@ -721,7 +749,6 @@ BURNING_TORCH_ITEM
CLOCKWORK_BEETLE
CLOCKWORK_BEETLE_COMBO1
CLOCKWORK_BEETLE_COMBO2
SWITCH_TYPE1
SWITCH_TYPE2
SWITCH_TYPE3
@ -743,10 +770,10 @@ SHOOT_SWITCH2
SHOOT_SWITCH3
SHOOT_SWITCH4
AIRLOCK_SWITCH
ID_UNDERWATER_WALL_SWITCH_1
ID_UNDERWATER_WALL_SWITCH_2
ID_UNDERWATER_CEILING_SWITCH_1
ID_UNDERWATER_CEILING_SWITCH_2
UNDERWATER_WALL_SWITCH1
UNDERWATER_WALL_SWITCH2
UNDERWATER_CEILING_SWITCH1
UNDERWATER_CEILING_SWITCH2
TURN_SWITCH
COG_SWITCH
LEVER_SWITCH
@ -846,7 +873,7 @@ FLARE_ITEM
FLARE_INV_ITEM
COMPASS_ITEM
DIARY_ITEM
TIMEX_ITEM
STOPWATCH_ITEM
MEMCARD_LOAD_INV_ITEM
MEMCARD_SAVE_INV_ITEM
PC_LOAD_INV_ITEM
@ -893,7 +920,7 @@ FLOOR_LASERS
KILL_ALL_TRIGGERS
TRIGGER_TRIGGERER
HIGH_OBJECT1
HIGH_OBJECT2
EMBER_EMITTER
SMASH_OBJECT1
SMASH_OBJECT2
SMASH_OBJECT3
@ -924,6 +951,8 @@ FISHTANK
DOPPELGANGER_ORIGIN
CORPSE
WRAITH_TRAP
WATERFALL_EMITTER
FIREFLY_EMITTER
MESHSWAP1
MESHSWAP2
MESHSWAP3
@ -943,6 +972,7 @@ MESHSWAP_ROMAN_GOD1
MESHSWAP_ROMAN_GOD2
MESHSWAP_MONKEY_MEDIPACK
MESHSWAP_MONKEY_KEY
MESHSWAP_WINSTON_ARMY_OUTFIT
ANIMATING1
ANIMATING2
ANIMATING3
@ -1080,8 +1110,6 @@ BRIDGE_TILT3
BRIDGE_TILT4
BRIDGE_CUSTOM
HORIZON
BINOCULAR_GRAPHICS
TARGET_GRAPHICS
SKY_GRAPHICS
DEFAULT_SPRITES
MISC_SPRITES
@ -1096,24 +1124,24 @@ RUBBER_BOAT_WAVE_SPRITES
SKIDOO_SNOW_TRAIL_SPRITES
KAYAK_PADDLE_TRAIL_SPRITE
KAYAK_WAKE_SPRTIES
BINOCULAR_GRAPHIC
LASER_SIGHT_GRAPHIC
CAUSTICS_TEXTURES
BAR_BORDER_GRAPHIC
BINOCULAR_GRAPHICS
LASERSIGHT_GRAPHICS
CAUSTIC_TEXTURES
BAR_BORDER_GRAPHICS
HEALTH_BAR_TEXTURE
AIR_BAR_TEXTURE
DASH_BAR_TEXTURE
SFX_BAR_TEXTURE
PANEL_BORDER
PANEL_MIDDLE
PANEL_CORNER
PANEL_DIAGONAL
PANEL_STRIP
PANEL_HALF_BORDER1
PANEL_HALF_BORDER2
PANEL_MIDDLE_CORNER
WATERFALL_SPRITES
FIREFLY_SPRITES
CROSSHAIR_GRAPHICS
SPEEDOMETER_GRAPHICS
CUSTOM_BAR_GRAPHICS
CUSTOM_AMMO_GRAPHICS
DIARY_SPRITES
DIARY_ENTRY_SPRITES
</code></pre>
<p>Table of constants.
@ -1128,7 +1156,8 @@ PANEL_MIDDLE_CORNER
<strong>PickupConstants</strong>
</dt>
<dd>
Objects.ObjID pickup constants. </p>
<p>Objects.ObjID pickup constants. </p>
<p>The following ObjID members refer to pickups.</p>
@ -1276,6 +1305,30 @@ PICKUP_ITEM15_COMBO1
PICKUP_ITEM15_COMBO2
PICKUP_ITEM16_COMBO1
PICKUP_ITEM16_COMBO2
EXAMINE1
EXAMINE2
EXAMINE3
EXAMINE4
EXAMINE5
EXAMINE6
EXAMINE7
EXAMINE8
EXAMINE1_COMBO1
EXAMINE1_COMBO2
EXAMINE2_COMBO1
EXAMINE2_COMBO2
EXAMINE3_COMBO1
EXAMINE3_COMBO2
EXAMINE4_COMBO1
EXAMINE4_COMBO2
EXAMINE5_COMBO1
EXAMINE5_COMBO2
EXAMINE6_COMBO1
EXAMINE6_COMBO2
EXAMINE7_COMBO1
EXAMINE7_COMBO2
EXAMINE8_COMBO1
EXAMINE8_COMBO2
HAMMER_ITEM
CROWBAR_ITEM
BURNING_TORCH_ITEM
@ -1312,13 +1365,62 @@ FLARE_ITEM
FLARE_INV_ITEM
COMPASS_ITEM
DIARY_ITEM
TIMEX_ITEM
STOPWATCH_ITEM
MEMCARD_LOAD_INV_ITEM
MEMCARD_SAVE_INV_ITEM
PC_LOAD_INV_ITEM
PC_SAVE_INV_ITEM
</code></pre>
<p>Table of constants.
</dd>
<dt>
<a name = "SpriteConstants"></a>
<strong>SpriteConstants</strong>
</dt>
<dd>
<p>Objects.ObjID sprite constants. </p>
<p>The following ObjID members refer to sprites.</p>
<pre><code>SKY_GRAPHICS
DEFAULT_SPRITES
MISC_SPRITES
CUSTOM_SPRITES
FIRE_SPRITES
SMOKE_SPRITES
SPARK_SPRITE
DRIP_SPRITE
EXPLOSION_SPRITES
MOTORBOAT_FOAM_SPRITES
RUBBER_BOAT_WAVE_SPRITES
SKIDOO_SNOW_TRAIL_SPRITES
KAYAK_PADDLE_TRAIL_SPRITE
LASERSIGHT_GRAPHICS
CAUSTIC_TEXTURES
BAR_BORDER_GRAPHICS
HEALTH_BAR_TEXTURE
AIR_BAR_TEXTURE
DASH_BAR_TEXTURE
SFX_BAR_TEXTURE
WATERFALL_SPRITES
FIREFLY_SPRITES
CROSSHAIR_GRAPHICS
SPEEDOMETER_GRAPHICS
CUSTOM_BAR_GRAPHICS
CUSTOM_AMMO_GRAPHICS
DIARY_SPRITES
DIARY_ENTRY_SPRITES
</code></pre>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <here>Objects.RoomFlagID</here></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -106,11 +121,11 @@
</p>
<h2><a href="#Objects_RoomFlagID_constants">Objects.RoomFlagID constants </a></h2>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#CONSTANT_STRING_HERE">CONSTANT_STRING_HERE</a></td>
<td class="summary">Table of room flag ID constants (for use with Room:SetFlag / Room:GetFlag command).</td>
<td class="name" ><a href="#Objects.RoomFlagID">Objects.RoomFlagID</a></td>
<td class="summary">Table of Objects.RoomFlagID constants.</td>
</tr>
</table>
@ -118,32 +133,31 @@
<br/>
<h2 class="section-header has-description"><a name="Objects_RoomFlagID_constants"></a>Objects.RoomFlagID constants </h2>
<div class="section-description">
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<dl class="function">
<dt>
<a name = "Objects.RoomFlagID"></a>
<strong>Objects.RoomFlagID</strong>
</dt>
<dd>
<p>Table of Objects.RoomFlagID constants.
To be used with <a href="../2 classes/Objects.Room.html#Room:SetFlag">Objects.Room.SetFlag</a> and <a href="../2 classes/Objects.Room.html#Room:GetFlag">Objects.Room.GetFlag</a> functions.</p>
<p>The following constants are inside RoomFlagID.</p>
<pre><code>WATER
QUICKSAND
SKYBOX
WIND
COLD
DAMAGE
NOLENSFLARE
</code></pre>
<ul>
<li><code>WATER</code></li>
<li><code>QUICKSAND</code></li>
<li><code>SKYBOX</code></li>
<li><code>WIND</code></li>
<li><code>COLD</code></li>
<li><code>DAMAGE</code></li>
<li><code>NOLENSFLARE</code></li>
</ul>
</div>
<dl class="function">
<dt>
<a name = "CONSTANT_STRING_HERE"></a>
<strong>CONSTANT_STRING_HERE</strong>
</dt>
<dd>
Table of room flag ID constants (for use with Room:SetFlag / Room:GetFlag command).

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <here>Objects.RoomReverb</here></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -106,11 +121,11 @@
</p>
<h2><a href="#Objects_RoomReverb_constants">Objects.RoomReverb constants </a></h2>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#CONSTANT_STRING_HERE">CONSTANT_STRING_HERE</a></td>
<td class="summary">Table of room reverb constants (for use with Room:SetReverb / Room:GetReverb command).</td>
<td class="name" ><a href="#Objects.RoomReverb">Objects.RoomReverb</a></td>
<td class="summary">Table of Objects.RoomReverb constants.</td>
</tr>
</table>
@ -118,30 +133,29 @@
<br/>
<h2 class="section-header has-description"><a name="Objects_RoomReverb_constants"></a>Objects.RoomReverb constants </h2>
<div class="section-description">
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<dl class="function">
<dt>
<a name = "Objects.RoomReverb"></a>
<strong>Objects.RoomReverb</strong>
</dt>
<dd>
<p>Table of Objects.RoomReverb constants.
To be used with <a href="../2 classes/Objects.Room.html#Room:GetReverbType">Objects.Room.GetReverbType</a> and <a href="../2 classes/Objects.Room.html#Room:SetReverbType">Objects.Room.SetReverbType</a> functions.</p>
<p>The following constants are inside RoomReverb.</p>
<pre><code>OUTSIDE
SMALL
MEDIUM
LARGE
PIPE
</code></pre>
<ul>
<li>OUTSIDE</li>
<li>SMALL</li>
<li>MEDIUM</li>
<li>LARGE</li>
<li>PIPE</li>
</ul>
</div>
<dl class="function">
<dt>
<a name = "CONSTANT_STRING_HERE"></a>
<strong>CONSTANT_STRING_HERE</strong>
</dt>
<dd>
Table of room reverb constants (for use with Room:SetReverb / Room:GetReverb command).

View file

@ -0,0 +1,185 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Input.html">Input</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Sound.html">Sound</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
<li> <a href="../1 modules/Util.html">Util</a></li>
<li> <a href="../1 modules/View.html">View</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <here>Objects.WeaponType</here></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
<li> <a href="../4 enums/View.PostProcessMode.html">View.PostProcessMode</a></li>
<li> <a href="../4 enums/View.ScaleMode.html">View.ScaleMode</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Enum <code>Objects.WeaponType</code></h1>
<p>Constants for weapon types.</p>
<p>
</p>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Objects.WeaponType">Objects.WeaponType</a></td>
<td class="summary">Table of Objects.WeaponType constants.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<dl class="function">
<dt>
<a name = "Objects.WeaponType"></a>
<strong>Objects.WeaponType</strong>
</dt>
<dd>
<p>Table of Objects.WeaponType constants.
To be used with <a href="../2 classes/Objects.LaraObject.html#LaraObject:GetWeaponType">Objects.LaraObject.GetWeaponType</a> and <a href="../2 classes/Objects.LaraObject.html#LaraObject:SetWeaponType">Objects.LaraObject.SetWeaponType</a> functions.</p>
<p> Note that this table also contains the flare and torch, as they are internally counted as "weapons" the engine.</p>
<ul>
<li><code>NONE</code></li>
<li><code>PISTOLS</code></li>
<li><code>UZIS</code></li>
<li><code>REVOLVER</code></li>
<li><code>SHOTGUN</code></li>
<li><code>HK</code></li>
<li><code>CROSSBOW</code></li>
<li><code>FLARE</code></li>
<li><code>TORCH</code></li>
<li><code>GRENADE_LAUNCHER</code></li>
<li><code>HARPOON_GUN</code></li>
<li><code>ROCKET_LAUNCHER</code>
</li>
</ul>
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <here>Sound.SoundTrackType</here></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -106,11 +121,11 @@
</p>
<h2><a href="#Sound_SoundTrackType_constants">Sound.SoundTrackType constants </a></h2>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#CONSTANT_STRING_HERE">CONSTANT_STRING_HERE</a></td>
<td class="summary">Table of sound track type constants (for use with sound track functions).</td>
<td class="name" ><a href="#Sound.SoundTrackType">Sound.SoundTrackType</a></td>
<td class="summary">Table of Sound.SoundTrackType constants.</td>
</tr>
</table>
@ -118,28 +133,26 @@
<br/>
<h2 class="section-header has-description"><a name="Sound_SoundTrackType_constants"></a>Sound.SoundTrackType constants </h2>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<div class="section-description">
<p>The following constants are inside SoundTrackType.</p>
<pre><code>ONESHOT
LOOPED
VOICE
</code></pre>
</div>
<dl class="function">
<dt>
<a name = "CONSTANT_STRING_HERE"></a>
<strong>CONSTANT_STRING_HERE</strong>
<a name = "Sound.SoundTrackType"></a>
<strong>Sound.SoundTrackType</strong>
</dt>
<dd>
Table of sound track type constants (for use with sound track functions).
<p>Table of Sound.SoundTrackType constants. </p>
<p>To be used with sound track functions, such as <a href="../1 modules/Sound.html#PlayAudioTrack">Sound.PlayAudioTrack</a> and <a href="../1 modules/Sound.html#StopAudioTrack">Sound.StopAudioTrack</a>.</p>
<ul>
<li><code>ONESHOT</code> - used for one-time music tracks.</li>
<li><code>LOOPED</code> - used for looped ambience or music.</li>
<li><code>VOICE</code> - used for dialogs. Also supports subtitles, set by <a href="../1 modules/Sound.html#GetCurrentSubtitle">Sound.GetCurrentSubtitle</a> function.</li>
</ul>

View file

@ -0,0 +1,173 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Input.html">Input</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Sound.html">Sound</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
<li> <a href="../1 modules/Util.html">Util</a></li>
<li> <a href="../1 modules/View.html">View</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <here>Strings.DisplayStringOption</here></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
<li> <a href="../4 enums/View.PostProcessMode.html">View.PostProcessMode</a></li>
<li> <a href="../4 enums/View.ScaleMode.html">View.ScaleMode</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Enum <code>Strings.DisplayStringOption</code></h1>
<p>Constants for Display String Options.</p>
<p>
</p>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#Strings.DisplayStringOption">Strings.DisplayStringOption</a></td>
<td class="summary">Strings.DisplayStringOption constants.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<dl class="function">
<dt>
<a name = "Strings.DisplayStringOption"></a>
<strong>Strings.DisplayStringOption</strong>
</dt>
<dd>
<p>Strings.DisplayStringOption constants. To be used with <a href="../2 classes/Strings.DisplayString.html#">Strings.DisplayString</a> class.</p>
<ul>
<li><code>CENTER</code> - set the horizontal origin point to the center of the string.</li>
<li><code>RIGHT</code> - set the horizontal origin point to right of the string.</li>
<li><code>SHADOW</code> - gives the string a small drop shadow.</li>
<li><code>BLINK</code> - blinks the string</li>
</ul>
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <here>Util.LogLevel</here></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -106,11 +121,11 @@
</p>
<h2><a href="#Util_LogLevel_constants">Util.LogLevel constants </a></h2>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#CONSTANT_STRING_HERE">CONSTANT_STRING_HERE</a></td>
<td class="summary">Table of LogLevel ID constants (for use with PrintLog() command).</td>
<td class="name" ><a href="#Util.LogLevel">Util.LogLevel</a></td>
<td class="summary">Table of Util.LogLevel constants.</td>
</tr>
</table>
@ -118,27 +133,24 @@
<br/>
<h2 class="section-header has-description"><a name="Util_LogLevel_constants"></a>Util.LogLevel constants </h2>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<div class="section-description">
<p>The following constants are inside LogLevel.</p>
<pre><code>INFO
WARNING
ERROR
</code></pre>
</div>
<dl class="function">
<dt>
<a name = "CONSTANT_STRING_HERE"></a>
<strong>CONSTANT_STRING_HERE</strong>
<a name = "Util.LogLevel"></a>
<strong>Util.LogLevel</strong>
</dt>
<dd>
Table of LogLevel ID constants (for use with PrintLog() command).
<p>Table of Util.LogLevel constants. To be used with <a href="../1 modules/Util.html#PrintLog">Util.PrintLog</a> function.</p>
<ul>
<li><code>INFO</code></li>
<li><code>WARNING</code></li>
<li><code>ERROR</code></li>
</ul>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <here>View.AlignMode</here></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -106,11 +121,11 @@
</p>
<h2><a href="#View_AlignMode_constants">View.AlignMode constants </a></h2>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#CONSTANT_STRING_HERE">CONSTANT_STRING_HERE</a></td>
<td class="summary">Table of align modes.</td>
<td class="name" ><a href="#View.AlignMode">View.AlignMode</a></td>
<td class="summary">Table of View.AlignMode constants.</td>
</tr>
</table>
@ -118,34 +133,32 @@
<br/>
<h2 class="section-header has-description"><a name="View_AlignMode_constants"></a>View.AlignMode constants </h2>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<div class="section-description">
<pre><code>The following constants are inside View.AlignMode.
CENTER
CENTER_TOP
CENTER_BOTTOM
CENTER_LEFT
CENTER_RIGHT
TOP_LEFT
TOP_RIGHT
BOTTOM_LEFT
BOTTOM_RIGHT
</code></pre>
</div>
<dl class="function">
<dt>
<a name = "CONSTANT_STRING_HERE"></a>
<strong>CONSTANT_STRING_HERE</strong>
<a name = "View.AlignMode"></a>
<strong>View.AlignMode</strong>
</dt>
<dd>
Table of align modes.
<p>Table of View.AlignMode constants. </p>
<p> The following constants are inside View.AlignMode. To be used with <a href="../2 classes/Strings.DisplayString.html#">Strings.DisplayString</a> class.</p>
<ul>
<li><code>CENTER</code></li>
<li><code>CENTER_TOP</code></li>
<li><code>CENTER_BOTTOM</code></li>
<li><code>CENTER_LEFT</code></li>
<li><code>CENTER_RIGHT</code></li>
<li><code>TOP_LEFT</code></li>
<li><code>TOP_RIGHT</code></li>
<li><code>BOTTOM_LEFT</code></li>
<li><code>BOTTOM_RIGHT</code>
</li>
</ul>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <here>View.CameraType</here></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -106,11 +121,11 @@
</p>
<h2><a href="#View_CameraType_constants">View.CameraType constants </a></h2>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#CONSTANT_STRING_HERE">CONSTANT_STRING_HERE</a></td>
<td class="summary">Table of camera type constants (for use with GetCameraType() function).</td>
<td class="name" ><a href="#CameraType">CameraType</a></td>
<td class="summary">Table of View.CameraType constants.</td>
</tr>
</table>
@ -118,31 +133,27 @@
<br/>
<h2 class="section-header has-description"><a name="View_CameraType_constants"></a>View.CameraType constants </h2>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<div class="section-description">
<p>The following constants are inside CameraType.</p>
<pre><code>CHASE
FIXED
LOOK
COMBAT
HEAVY
OBJECT
</code></pre>
</div>
<dl class="function">
<dt>
<a name = "CONSTANT_STRING_HERE"></a>
<strong>CONSTANT_STRING_HERE</strong>
<a name = "CameraType"></a>
<strong>CameraType</strong>
</dt>
<dd>
Table of camera type constants (for use with GetCameraType() function).
<p>Table of View.CameraType constants. To be used with <a href="../1 modules/View.html#GetCameraType">View.GetCameraType</a> function.</p>
<ul>
<li><code>NORMAL</code> - standard in-game camera when weapons are holstered.</li>
<li><code>COMBAT</code> - in-game camera when weapons are unholstered.</li>
<li><code>FIXED</code> - classic fixed camera.</li>
<li><code>LOOK</code> - look camera.</li>
<li><code>FLYBY</code> - flyby or tracking camera.</li>
<li><code>BINOCULARS</code> - binoculars is active.</li>
<li><code>LASERSIGHT</code> - lasersight is active.</li>
</ul>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -106,11 +121,11 @@
</p>
<h2><a href="#View_PostProcessMode_constants">View.PostProcessMode constants </a></h2>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#CONSTANT_STRING_HERE">CONSTANT_STRING_HERE</a></td>
<td class="summary">Table of post-process effect constants (for use with SetPostProcessMode() function).</td>
<td class="name" ><a href="#View.PostProcessMode">View.PostProcessMode</a></td>
<td class="summary">Table of View.PostProcessMode effect constants.</td>
</tr>
</table>
@ -118,29 +133,25 @@
<br/>
<h2 class="section-header has-description"><a name="View_PostProcessMode_constants"></a>View.PostProcessMode constants </h2>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<div class="section-description">
<p>The following constants are inside PostProcessMode.</p>
<pre><code>NONE
MONOCHROME
NEGATIVE
EXCLUSION
</code></pre>
</div>
<dl class="function">
<dt>
<a name = "CONSTANT_STRING_HERE"></a>
<strong>CONSTANT_STRING_HERE</strong>
<a name = "View.PostProcessMode"></a>
<strong>View.PostProcessMode</strong>
</dt>
<dd>
Table of post-process effect constants (for use with SetPostProcessMode() function).
<p>Table of View.PostProcessMode effect constants. To be used with <a href="../1 modules/View.html#SetPostProcessMode">View.SetPostProcessMode</a> function.</p>
<ul>
<li><code>NONE</code> - No postprocess effect.</li>
<li><code>MONOCHROME</code> - Black &amp; white effect.</li>
<li><code>NEGATIVE</code> - Negative image effect.</li>
<li><code>EXCLUSION</code> - Similar to negative effect, but with different color operation.</li>
</ul>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -100,17 +115,17 @@
<div id="content">
<h1>Enum <code>View.ScaleMode</code></h1>
<p>Constants for scale modes.</p>
<p>Constants for display sprite scale modes.</p>
<p>
</p>
<h2><a href="#View_ScaleMode_constants">View.ScaleMode constants </a></h2>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#CONSTANT_STRING_HERE">CONSTANT_STRING_HERE</a></td>
<td class="summary">Table of display sprite scale modes.</td>
<td class="name" ><a href="#View.ScaleMode">View.ScaleMode</a></td>
<td class="summary">Table of View.ScaleMode constants.</td>
</tr>
</table>
@ -118,28 +133,24 @@
<br/>
<h2 class="section-header has-description"><a name="View_ScaleMode_constants"></a>View.ScaleMode constants </h2>
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
<div class="section-description">
<pre><code>The following constants are inside View.ScaleMode.
FIT
FILL
STRETCH
</code></pre>
</div>
<dl class="function">
<dt>
<a name = "CONSTANT_STRING_HERE"></a>
<strong>CONSTANT_STRING_HERE</strong>
<a name = "View.ScaleMode"></a>
<strong>View.ScaleMode</strong>
</dt>
<dd>
Table of display sprite scale modes.
<p>Table of View.ScaleMode constants. To be used with <a href="../2 classes/View.DisplaySprite.html#">View.DisplaySprite</a> class.</p>
<ul>
<li><code>FIT</code></li>
<li><code>FILL</code></li>
<li><code>STRETCH</code>
</li>
</ul>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,989 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Input.html">Input</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Sound.html">Sound</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
<li> <a href="../1 modules/Util.html">Util</a></li>
<li> <a href="../1 modules/View.html">View</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
<li> <a href="../4 enums/View.PostProcessMode.html">View.PostProcessMode</a></li>
<li> <a href="../4 enums/View.ScaleMode.html">View.ScaleMode</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <here>Diary</here></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
<div id="content">
<h1>Lua utility module <code>Diary</code></h1>
<p>This module provides functions to create and manage diaries.</p>
<p>
<p> It maintains diary definitions and entries through all levels and hubs.
Each diary is accessed by the object that was used to create it. </p>
<p> Example usage:</p>
<pre>
<span class="keyword">local</span> CustomDiary = <span class="global">require</span>(<span class="string">"Engine.CustomDiary"</span>)
<span class="comment">--This function creates a diary from the DiarySetup.lua template file in script folder
</span>CustomDiary.ImportDiary(<span class="string">"DiarySetup"</span>)
<span class="comment">--This method gets the diary that was created with the DIARY_ITEM object and stores it in variable diary.
</span><span class="keyword">local</span> diary = CustomDiary.Get(TEN.Objects.ObjID.DIARY_ITEM)
<span class="comment">--This method opens the diary on the 3rd page
</span>diary:showDiary(<span class="number">3</span>)
</pre>
</p>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#CustomDiary.ImportDiary">CustomDiary.ImportDiary(fileName)</a></td>
<td class="summary">Imports diary from an external file.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary.Create">CustomDiary.Create(object, objectIdBg, spriteIdBg, colorBg, pos, rot, scale, alignMode, scaleMode, blendMode, alpha, pageSound, exitSound)</a></td>
<td class="summary">Creates a diary with extensive configuration options.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary.Get">CustomDiary.Get(object)</a></td>
<td class="summary">The function retrieves a diary by its unique object.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary.Delete">CustomDiary.Delete(object)</a></td>
<td class="summary">The function removes a custom diary and its associated data from the system.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary.Status">CustomDiary.Status(value)</a></td>
<td class="summary">The function adds the callback to enable diaries in levels.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary:IsVisible">CustomDiary:IsVisible()</a></td>
<td class="summary">The function checks whether the specified diary is currently visible.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary:ShowDiary">CustomDiary:ShowDiary(pageIndex)</a></td>
<td class="summary">The function displays the specified diary.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary:GetUnlockedPageCount">CustomDiary:GetUnlockedPageCount()</a></td>
<td class="summary">The function returns the number of unlocked pages in the diary.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary:UnlockPages">CustomDiary:UnlockPages(pageIndex, notification)</a></td>
<td class="summary">The function unlocks the specified diary up to the given page number.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary:ClearPage">CustomDiary:ClearPage(pageIndex)</a></td>
<td class="summary">The function clears the page for the diary.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary:AddTextEntry">CustomDiary:AddTextEntry(pageIndex, text, textPos, textOptions, textScale, textColor)</a></td>
<td class="summary">Adds a text entry to the specified page for the diary.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary:AddImageEntry">CustomDiary:AddImageEntry(pageIndex, objectId, spriteId, color, pos, rot, scale, alignMode, scaleMode, blendMode)</a></td>
<td class="summary">Adds an image entry to the specified page for the diary.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary:AddNarration">CustomDiary:AddNarration(pageIndex, trackName)</a></td>
<td class="summary">Add a narration track in the voice channel to the page.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary:RemoveNarration">CustomDiary:RemoveNarration(pageIndex)</a></td>
<td class="summary">Remove the narration track from the page of the specified diary.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary:AddBackground">CustomDiary:AddBackground(objectId, spriteId, color, pos, rot, scale, alignMode, scaleMode, blendMode, alpha)</a></td>
<td class="summary">Add a background image for the diary.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary:ClearBackground">CustomDiary:ClearBackground()</a></td>
<td class="summary">Clears settings for the background for the specified diary.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary:CustomizeNotification">CustomDiary:CustomizeNotification(notificationTime, objectId, spriteId, color, pos, rot, scale, alignMode, scaleMode, blendMode, notificationSound)</a></td>
<td class="summary">Customizes the notification icon and sound for the diary.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary:ClearNotification">CustomDiary:ClearNotification()</a></td>
<td class="summary">Clears settings for the notification system for the specified diary.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary:CustomizePageNumbers">CustomDiary:CustomizePageNumbers(pageNoType, prefix, separator, textPos, textOptions, textScale, textColor)</a></td>
<td class="summary">Customizes the page numbers for the diary.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary:ClearPageNumbers">CustomDiary:ClearPageNumbers()</a></td>
<td class="summary">Clears settings for the page numbers for the specified diary.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary:CustomizeControls">CustomDiary:CustomizeControls(textPos, textOptions, textScale, textColor)</a></td>
<td class="summary">Customizes the controls text for the diary.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary:CustomizeControlsText">CustomDiary:CustomizeControlsText(string1, string2, string3, string4, separator)</a></td>
<td class="summary">Customizes the display text for controls for specified diary.</td>
</tr>
<tr>
<td class="name" ><a href="#CustomDiary:ClearControls">CustomDiary:ClearControls()</a></td>
<td class="summary">Clears settings for the specified diary's controls text.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Functions"></a>Functions</h2>
<dl class="function">
<dt>
<a name = "CustomDiary.ImportDiary"></a>
<strong>CustomDiary.ImportDiary(fileName)</strong>
</dt>
<dd>
Imports diary from an external file. There are different types that must be defined. (diary, background, controls, pageNumbers, notification, image, text, narration). Each of the section's arguements are the same as the functions described in this documentation.
Refer to DiarySetup.lua file for a sample script.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">fileName</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
Name of file in the script folder without extension to import the diary from.
</li>
</ul>
</dd>
<dt>
<a name = "CustomDiary.Create"></a>
<strong>CustomDiary.Create(object, objectIdBg, spriteIdBg, colorBg, pos, rot, scale, alignMode, scaleMode, blendMode, alpha, pageSound, exitSound)</strong>
</dt>
<dd>
Creates a diary with extensive configuration options.
Parameters:
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">object</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
The pickup object that will be used to create the diary. The diary can be created using PICKUP<em>ITEMX (596-611) or DIARY</em>ITEM (986). Access the diary by selecting the item in the inventory.
</li>
<li><span class="parameter">objectIdBg</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
Object ID for the diary's sprite.
</li>
<li><span class="parameter">spriteIdBg</span>
<span class="types"><span class="type">int</span></span>
SpriteID from the specified object for the diary's sprite.
</li>
<li><span class="parameter">colorBg</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
Color of diary's sprite.
</li>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
X,Y position of the bar's background in screen percent (0-100).
</li>
<li><span class="parameter">rot</span>
<span class="types"><span class="type">float</span></span>
rotation of the diary's sprite (0-360).
</li>
<li><span class="parameter">scale</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
X,Y Scaling factor for the bar's background sprite.
</li>
<li><span class="parameter">alignMode</span>
<span class="types"><a class="type" href="../4 enums/View.AlignMode.html#">AlignMode</a></span>
Alignment for the diary's sprite.
</li>
<li><span class="parameter">scaleMode</span>
<span class="types"><a class="type" href="../4 enums/View.ScaleMode.html#">ScaleMode</a></span>
Scaling for the diary's sprite.
</li>
<li><span class="parameter">blendMode</span>
<span class="types"><a class="type" href="../4 enums/Effects.BlendID.html#">BlendID</a></span>
Blending modes for the diary's sprite.
</li>
<li><span class="parameter">alpha</span>
<span class="types"><span class="type">number</span></span>
alpha value for the diary's sprite (0-255).
</li>
<li><span class="parameter">pageSound</span>
<span class="types"><a class="type" href="../1 modules/Sound.html#">Sound</a></span>
Sound to play with page turn.
</li>
<li><span class="parameter">exitSound</span>
<span class="types"><a class="type" href="../1 modules/Sound.html#">Sound</a></span>
Sound to play when existing the diary.
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">CustomDiary</span></span>
</ol>
</dd>
<dt>
<a name = "CustomDiary.Get"></a>
<strong>CustomDiary.Get(object)</strong>
</dt>
<dd>
The function retrieves a diary by its unique object. This function is useful when you need to access or manipulate a diary that has already been created .
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">object</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
The pickup object that was used to create the diary (596-611,986).
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">CustomDiary</span></span>
The diary created using the object.
</ol>
</dd>
<dt>
<a name = "CustomDiary.Delete"></a>
<strong>CustomDiary.Delete(object)</strong>
</dt>
<dd>
The function removes a custom diary and its associated data from the system. It ensures that the diary is no longer tracked or accessible in the LevelVars.Engine.Diaries.
Please call this once a diary has served its purpose. It helps reduce the savegame size.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">object</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
The pickup object that was used to create the diary (596-611,986).
</li>
</ul>
</dd>
<dt>
<a name = "CustomDiary.Status"></a>
<strong>CustomDiary.Status(value)</strong>
</dt>
<dd>
The function adds the callback to enable diaries in levels. This needs to be added to every level preferably in the LevelFuncs.OnStart.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">value</span>
<span class="types"><span class="type">bool</span></span>
True enables the diaries to be activated. False would disable the diaries.
</li>
</ul>
</dd>
<dt>
<a name = "CustomDiary:IsVisible"></a>
<strong>CustomDiary:IsVisible()</strong>
</dt>
<dd>
The function checks whether the specified diary is currently visible.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
true if the diary is visible and false if it is not.
</ol>
</dd>
<dt>
<a name = "CustomDiary:ShowDiary"></a>
<strong>CustomDiary:ShowDiary(pageIndex)</strong>
</dt>
<dd>
The function displays the specified diary. Can be used to call the diary directly using volume or classic triggers.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">pageIndex</span>
<span class="types"><span class="type">int</span></span>
The page number at which diary should be opened.
</li>
</ul>
</dd>
<dt>
<a name = "CustomDiary:GetUnlockedPageCount"></a>
<strong>CustomDiary:GetUnlockedPageCount()</strong>
</dt>
<dd>
The function returns the number of unlocked pages in the diary.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
total number of unlocked pages in the diary.
</ol>
</dd>
<dt>
<a name = "CustomDiary:UnlockPages"></a>
<strong>CustomDiary:UnlockPages(pageIndex, notification)</strong>
</dt>
<dd>
The function unlocks the specified diary up to the given page number. <br/>
This value can be overridden to lock or unlock pages as needed.
A lower number can be set to restrict access to previously unlocked pages.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">pageIndex</span>
<span class="types"><span class="type">int</span></span>
The page number up to which the diary should be unlocked.
</li>
<li><span class="parameter">notification</span>
<span class="types"><span class="type">bool</span></span>
If true, and notification has been defined, a notification icon and sound will be played.
</li>
</ul>
</dd>
<dt>
<a name = "CustomDiary:ClearPage"></a>
<strong>CustomDiary:ClearPage(pageIndex)</strong>
</dt>
<dd>
The function clears the page for the diary.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">pageIndex</span>
<span class="types"><span class="type">int</span></span>
The page number to be cleared.
</li>
</ul>
</dd>
<dt>
<a name = "CustomDiary:AddTextEntry"></a>
<strong>CustomDiary:AddTextEntry(pageIndex, text, textPos, textOptions, textScale, textColor)</strong>
</dt>
<dd>
Adds a text entry to the specified page for the diary.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">pageIndex</span>
<span class="types"><span class="type">int</span></span>
page number to add the text entry to.
</li>
<li><span class="parameter">text</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
Text entry to be added to the page.
</li>
<li><span class="parameter">textPos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
X,Y position of the text.
</li>
<li><span class="parameter">textOptions</span>
<span class="types"><a class="type" href="../4 enums/Strings.DisplayStringOption.html#">DisplayStringOption</a></span>
alignment and effects for the text. Default: None. Please note text is automatically aligned to the LEFT
</li>
<li><span class="parameter">textScale</span>
<span class="types"><span class="type">number</span></span>
Scale factor for the text.
</li>
<li><span class="parameter">textColor</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
Color of the text.
</li>
</ul>
</dd>
<dt>
<a name = "CustomDiary:AddImageEntry"></a>
<strong>CustomDiary:AddImageEntry(pageIndex, objectId, spriteId, color, pos, rot, scale, alignMode, scaleMode, blendMode)</strong>
</dt>
<dd>
Adds an image entry to the specified page for the diary.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">pageIndex</span>
<span class="types"><span class="type">int</span></span>
page number to add the image entry to.
</li>
<li><span class="parameter">objectId</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
Object ID for the image entry sprite.
</li>
<li><span class="parameter">spriteId</span>
<span class="types"><span class="type">number</span></span>
SpriteID from the specified object for the image entry.
</li>
<li><span class="parameter">color</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
Color of image entry.
</li>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
X,Y position of the image entry in screen percent (0-100).
</li>
<li><span class="parameter">rot</span>
<span class="types"><span class="type">number</span></span>
rotation of the image entry (0-360).
</li>
<li><span class="parameter">scale</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
X,Y Scaling factor for the image entry.
</li>
<li><span class="parameter">alignMode</span>
<span class="types"><a class="type" href="../4 enums/View.AlignMode.html#">AlignMode</a></span>
Alignment for the image entry.
</li>
<li><span class="parameter">scaleMode</span>
<span class="types"><a class="type" href="../4 enums/View.ScaleMode.html#">ScaleMode</a></span>
Scaling for the image entry.
</li>
<li><span class="parameter">blendMode</span>
<span class="types"><a class="type" href="../4 enums/Effects.BlendID.html#">BlendID</a></span>
Blending modes for the image entry.
</li>
</ul>
</dd>
<dt>
<a name = "CustomDiary:AddNarration"></a>
<strong>CustomDiary:AddNarration(pageIndex, trackName)</strong>
</dt>
<dd>
Add a narration track in the voice channel to the page. Track is played with the draw button.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">pageIndex</span>
<span class="types"><span class="type">int</span></span>
page number to add the narration track to.
</li>
<li><span class="parameter">trackName</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
of track (without file extension) to play.
</li>
</ul>
</dd>
<dt>
<a name = "CustomDiary:RemoveNarration"></a>
<strong>CustomDiary:RemoveNarration(pageIndex)</strong>
</dt>
<dd>
Remove the narration track from the page of the specified diary.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">pageIndex</span>
<span class="types"><span class="type">int</span></span>
page number to remove the narration track from.
</li>
</ul>
</dd>
<dt>
<a name = "CustomDiary:AddBackground"></a>
<strong>CustomDiary:AddBackground(objectId, spriteId, color, pos, rot, scale, alignMode, scaleMode, blendMode, alpha)</strong>
</dt>
<dd>
Add a background image for the diary.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">objectId</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
Object ID for the diary's background.
</li>
<li><span class="parameter">spriteId</span>
<span class="types"><span class="type">number</span></span>
SpriteID from the specified object for the diary's background.
</li>
<li><span class="parameter">color</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
Color of diary's background.
</li>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
X,Y position of the diary's background in screen percent (0-100).
</li>
<li><span class="parameter">rot</span>
<span class="types"><span class="type">float</span></span>
rotation of the diary's background sprite (0-360).
</li>
<li><span class="parameter">scale</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
X,Y Scaling factor for the diary's background.
</li>
<li><span class="parameter">alignMode</span>
<span class="types"><a class="type" href="../4 enums/View.AlignMode.html#">AlignMode</a></span>
Alignment for the diary's background.
</li>
<li><span class="parameter">scaleMode</span>
<span class="types"><a class="type" href="../4 enums/View.ScaleMode.html#">ScaleMode</a></span>
Scaling for the diary's background.
</li>
<li><span class="parameter">blendMode</span>
<span class="types"><a class="type" href="../4 enums/Effects.BlendID.html#">BlendID</a></span>
Blending modes for the diary's background.
</li>
<li><span class="parameter">alpha</span>
<span class="types"><span class="type">number</span></span>
alpha value for the diary's background (0-255).
</li>
</ul>
</dd>
<dt>
<a name = "CustomDiary:ClearBackground"></a>
<strong>CustomDiary:ClearBackground()</strong>
</dt>
<dd>
Clears settings for the background for the specified diary.
</dd>
<dt>
<a name = "CustomDiary:CustomizeNotification"></a>
<strong>CustomDiary:CustomizeNotification(notificationTime, objectId, spriteId, color, pos, rot, scale, alignMode, scaleMode, blendMode, notificationSound)</strong>
</dt>
<dd>
Customizes the notification icon and sound for the diary.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">notificationTime</span>
<span class="types"><span class="type">number</span></span>
Time in seconds the notification icon will show on screen.
</li>
<li><span class="parameter">objectId</span>
<span class="types"><a class="type" href="../4 enums/Objects.ObjID.html#">ObjID</a></span>
Object ID for the notification icon.
</li>
<li><span class="parameter">spriteId</span>
<span class="types"><span class="type">number</span></span>
SpriteID from the specified object for the notification icon.
</li>
<li><span class="parameter">color</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
Color of notification icon.
</li>
<li><span class="parameter">pos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
X,Y position of the notification icon in screen percent (0-100).
</li>
<li><span class="parameter">rot</span>
<span class="types"><span class="type">number</span></span>
rotation of the notification icon (0-360).
</li>
<li><span class="parameter">scale</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
X,Y Scaling factor for the notification icon.
</li>
<li><span class="parameter">alignMode</span>
<span class="types"><a class="type" href="../4 enums/View.AlignMode.html#">AlignMode</a></span>
Alignment for the notification icon.
</li>
<li><span class="parameter">scaleMode</span>
<span class="types"><a class="type" href="../4 enums/View.ScaleMode.html#">ScaleMode</a></span>
Scaling for the notification icon.
</li>
<li><span class="parameter">blendMode</span>
<span class="types"><a class="type" href="../4 enums/Effects.BlendID.html#">BlendID</a></span>
Blending modes for the notification icon.
</li>
<li><span class="parameter">notificationSound</span>
<span class="types"><a class="type" href="../1 modules/Sound.html#">Sound</a></span>
Sound to play with notification icon.
</li>
</ul>
</dd>
<dt>
<a name = "CustomDiary:ClearNotification"></a>
<strong>CustomDiary:ClearNotification()</strong>
</dt>
<dd>
Clears settings for the notification system for the specified diary.
</dd>
<dt>
<a name = "CustomDiary:CustomizePageNumbers"></a>
<strong>CustomDiary:CustomizePageNumbers(pageNoType, prefix, separator, textPos, textOptions, textScale, textColor)</strong>
</dt>
<dd>
Customizes the page numbers for the diary.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">pageNoType</span>
<span class="types"><span class="type">int</span></span>
Specifies the format for page numbers (1 or 2). 1: Displays only the current page number. 2: Formats the page number as: [Prefix][CurrentPage][Separator][UnlockedPages].
</li>
<li><span class="parameter">prefix</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
Prefix to be added for type 2 of page numbers.
</li>
<li><span class="parameter">separator</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
Separator to be added for type 2 of page numbers.
</li>
<li><span class="parameter">textPos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
X,Y position of the page numbers.
</li>
<li><span class="parameter">textOptions</span>
<span class="types"><a class="type" href="../4 enums/Strings.DisplayStringOption.html#">DisplayStringOption</a></span>
alignment and effects for the text. Default: None. Please note text is automatically aligned to the LEFT
</li>
<li><span class="parameter">textScale</span>
<span class="types"><span class="type">number</span></span>
Scale factor for the page numbers.
</li>
<li><span class="parameter">textColor</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
Color of the page numbers.
</li>
</ul>
</dd>
<dt>
<a name = "CustomDiary:ClearPageNumbers"></a>
<strong>CustomDiary:ClearPageNumbers()</strong>
</dt>
<dd>
Clears settings for the page numbers for the specified diary.
</dd>
<dt>
<a name = "CustomDiary:CustomizeControls"></a>
<strong>CustomDiary:CustomizeControls(textPos, textOptions, textScale, textColor)</strong>
</dt>
<dd>
Customizes the controls text for the diary.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">textPos</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
X,Y position of the controls text.
</li>
<li><span class="parameter">textOptions</span>
<span class="types"><a class="type" href="../4 enums/Strings.DisplayStringOption.html#">DisplayStringOption</a></span>
alignment and effects for the text. Default: None. Please note text is automatically aligned to the LEFT.
</li>
<li><span class="parameter">textScale</span>
<span class="types"><span class="type">number</span></span>
Scale factor for the controls.
</li>
<li><span class="parameter">textColor</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
Color of the page controls.
</li>
</ul>
</dd>
<dt>
<a name = "CustomDiary:CustomizeControlsText"></a>
<strong>CustomDiary:CustomizeControlsText(string1, string2, string3, string4, separator)</strong>
</dt>
<dd>
Customizes the display text for controls for specified diary.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">string1</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
Text for Space key controls text.
</li>
<li><span class="parameter">string2</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
Text for Left key controls text.
</li>
<li><span class="parameter">string3</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
Text for Right key controls text.
</li>
<li><span class="parameter">string4</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
Text for Esc key controls text.
</li>
<li><span class="parameter">separator</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.4/manual.html#6.4">string</a></span>
Text for separator between controls text.
</li>
</ul>
</dd>
<dt>
<a name = "CustomDiary:ClearControls"></a>
<strong>CustomDiary:ClearControls()</strong>
</dt>
<dd>
Clears settings for the specified diary's controls text.
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <here>EventSequence</here></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="../2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="../2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <here>Timer</here></li>
<li> <a href="../5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>

View file

@ -0,0 +1,673 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>1 Modules</h2>
<ul class="nowrap">
<li> <a href="../1 modules/Effects.html">Effects</a></li>
<li> <a href="../1 modules/Flow.html">Flow</a></li>
<li> <a href="../1 modules/Input.html">Input</a></li>
<li> <a href="../1 modules/Inventory.html">Inventory</a></li>
<li> <a href="../1 modules/Logic.html">Logic</a></li>
<li> <a href="../1 modules/Objects.html">Objects</a></li>
<li> <a href="../1 modules/Sound.html">Sound</a></li>
<li> <a href="../1 modules/Strings.html">Strings</a></li>
<li> <a href="../1 modules/Util.html">Util</a></li>
<li> <a href="../1 modules/View.html">View</a></li>
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="../2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="../2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="../2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="../2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="../2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
<li> <a href="../2 classes/Objects.Moveable.html">Objects.Moveable</a></li>
<li> <a href="../2 classes/Objects.Room.html">Objects.Room</a></li>
<li> <a href="../2 classes/Objects.Sink.html">Objects.Sink</a></li>
<li> <a href="../2 classes/Objects.SoundSource.html">Objects.SoundSource</a></li>
<li> <a href="../2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="../2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="../2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="../2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="../3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="../3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="../3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="../3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="../3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="../3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="../3 primitive classes/Color.html">Color</a></li>
<li> <a href="../3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="../3 primitive classes/Time.html">Time</a></li>
<li> <a href="../3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="../3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="../4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="../4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="../4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="../4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="../4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="../4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="../4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="../4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="../4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="../4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="../4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="../4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="../4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="../4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="../4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="../4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="../4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="../4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="../4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="../4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="../4 enums/View.CameraType.html">View.CameraType</a></li>
<li> <a href="../4 enums/View.PostProcessMode.html">View.PostProcessMode</a></li>
<li> <a href="../4 enums/View.ScaleMode.html">View.ScaleMode</a></li>
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="../5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="../5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="../5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="../5 lua utility modules/Timer.html">Timer</a></li>
<li> <here>Type</here></li>
</ul>
</div>
<div id="content">
<h1>Lua utility module <code>Type</code></h1>
<p>Type - This molule contains functions that allow to check the data type of a variable.</p>
<p>
<p> It also contains functions that allow to check if the variable is a TEN primitive class or a LevelFuncs.</p>
<p> To use the functions within the scripts, the module must be called:</p>
<pre>
<span class="keyword">local</span> Type = <span class="global">require</span>(<span class="string">"Engine.Type"</span>)
</pre>
<p> Example usage: check if a variable is of type Vec3()</p>
<pre>
<span class="keyword">local</span> Type= <span class="global">require</span>(<span class="string">"Engine.Type"</span>)
LevelFuncs.SetLaraPos = <span class="keyword">function</span> (pos)
<span class="keyword">if</span> Type.IsVec3(pos) <span class="keyword">then</span>
Lara:SetPosition(pos)
<span class="keyword">end</span>
<span class="keyword">end</span>
</pre>
<p> You can use the <code>not</code> keyword together with the functions of the Type module.</p>
<p> Example: checking if variable does not have a null value</p>
<pre>
LevelFuncs.AddProp = <span class="keyword">function</span> (prop)
<span class="keyword">if</span> <span class="keyword">not</span> Type.IsNull(prop) <span class="keyword">then</span>
LevelVars.property = prop
<span class="keyword">end</span>
<span class="keyword">end</span>
</pre>
</p>
<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
<tr>
<td class="name" ><a href="#IsNumber">IsNumber(variable)</a></td>
<td class="summary">Check if the variable is a number.</td>
</tr>
<tr>
<td class="name" ><a href="#IsString">IsString(variable)</a></td>
<td class="summary">Check if the variable is a string.</td>
</tr>
<tr>
<td class="name" ><a href="#IsBoolean">IsBoolean(variable)</a></td>
<td class="summary">Check if the variable is a boolean.</td>
</tr>
<tr>
<td class="name" ><a href="#IsTable">IsTable(variable)</a></td>
<td class="summary">Check if the variable is a table.</td>
</tr>
<tr>
<td class="name" ><a href="#IsNull">IsNull(variable)</a></td>
<td class="summary">Check if the variable has a null value.</td>
</tr>
<tr>
<td class="name" ><a href="#IsFunction">IsFunction(variable)</a></td>
<td class="summary">Check if the variable is a function.</td>
</tr>
<tr>
<td class="name" ><a href="#IsColor">IsColor(variable)</a></td>
<td class="summary">Check if the variable is a <a href="../3 primitive classes/Color.html#">Color</a>.</td>
</tr>
<tr>
<td class="name" ><a href="#IsRotation">IsRotation(variable)</a></td>
<td class="summary">Check if the variable is a <a href="../3 primitive classes/Rotation.html#">Rotation</a>.</td>
</tr>
<tr>
<td class="name" ><a href="#IsVec2">IsVec2(variable)</a></td>
<td class="summary">Check if the variable is a <a href="../3 primitive classes/Vec2.html#">Vec2</a>.</td>
</tr>
<tr>
<td class="name" ><a href="#IsVec3">IsVec3(variable)</a></td>
<td class="summary">Check if the variable is a <a href="../3 primitive classes/Vec3.html#">Vec3</a>.</td>
</tr>
<tr>
<td class="name" ><a href="#IsTime">IsTime(variable)</a></td>
<td class="summary">Check if the variable is a <a href="../3 primitive classes/Time.html#">Time</a> object.</td>
</tr>
<tr>
<td class="name" ><a href="#IsLevelFunc">IsLevelFunc(variable)</a></td>
<td class="summary">Check if the variable is a LevelFunc.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Functions"></a>Functions</h2>
<dl class="function">
<dt>
<a name = "IsNumber"></a>
<strong>IsNumber(variable)</strong>
</dt>
<dd>
Check if the variable is a number.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">variable</span>
<span class="types"><span class="type">variable</span></span>
to be check
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">boolean</span></span>
<em>true</em> if the variable is a number, <em>false</em> otherwise
</ol>
<h3>Usage:</h3>
<ul>
<pre class="example"><span class="comment">--example of use
</span> <span class="keyword">local</span> num = <span class="number">255</span>
<span class="keyword">if</span> Type.IsNumber(num) <span class="keyword">then</span>
num = num + <span class="number">1</span>
<span class="keyword">end</span></pre>
</ul>
</dd>
<dt>
<a name = "IsString"></a>
<strong>IsString(variable)</strong>
</dt>
<dd>
Check if the variable is a string.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">variable</span>
<span class="types"><span class="type">variable</span></span>
to be check
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">boolean</span></span>
<em>true</em> if the variable is a string, <em>false</em> otherwise
</ol>
<h3>Usage:</h3>
<ul>
<pre class="example"><span class="comment">--example of use
</span> <span class="keyword">local</span> str = <span class="string">"Hi"</span>
<span class="keyword">if</span> Type.IsString(str) <span class="keyword">then</span>
TEN.Util.PrintLog(str .. <span class="string">"everyone!"</span>, Util.LogLevel.INFO)
<span class="keyword">end</span></pre>
</ul>
</dd>
<dt>
<a name = "IsBoolean"></a>
<strong>IsBoolean(variable)</strong>
</dt>
<dd>
Check if the variable is a boolean.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">variable</span>
<span class="types"><span class="type">variable</span></span>
to be check
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">boolean</span></span>
<em>true</em> if the variable is a boolean, <em>false</em> otherwise
</ol>
<h3>Usage:</h3>
<ul>
<pre class="example"><span class="comment">--example of use
</span> LevelFuncs.test = <span class="keyword">function</span> (test)
<span class="keyword">if</span> Type.IsBoolean(test) <span class="keyword">then</span>
LevelVars.test = test
<span class="keyword">else</span>
TEN.Util.PrintLog(<span class="string">"Error!"</span>, Util.LogLevel.ERROR)
<span class="keyword">end</span>
<span class="keyword">end</span></pre>
</ul>
</dd>
<dt>
<a name = "IsTable"></a>
<strong>IsTable(variable)</strong>
</dt>
<dd>
Check if the variable is a table.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">variable</span>
<span class="types"><span class="type">variable</span></span>
to be check
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">boolean</span></span>
<em>true</em> if the variable is a table, <em>false</em> otherwise
</ol>
<h3>Usage:</h3>
<ul>
<pre class="example"><span class="comment">--example of use
</span> LevelFuncs.PairsTable = <span class="keyword">function</span> (<span class="global">table</span>)
<span class="keyword">if</span> Type.IsTable(<span class="global">table</span>) <span class="keyword">then</span>
<span class="keyword">for</span> k, v <span class="keyword">in</span> <span class="global">pairs</span>(<span class="global">table</span>) <span class="keyword">do</span>
TEN.Util.PrintLog(<span class="global">tostring</span>(k) .. <span class="string">" - "</span> .. <span class="global">tostring</span>(v), Util.LogLevel.INFO)
<span class="keyword">end</span>
<span class="keyword">end</span>
<span class="keyword">end</span></pre>
</ul>
</dd>
<dt>
<a name = "IsNull"></a>
<strong>IsNull(variable)</strong>
</dt>
<dd>
Check if the variable has a null value.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">variable</span>
<span class="types"><span class="type">variable</span></span>
to be check
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">boolean</span></span>
<em>true</em> if the variable is a null, <em>false</em> otherwise
</ol>
<h3>Usage:</h3>
<ul>
<pre class="example"><span class="comment">--example of use
</span> LevelFuncs.AddProp = <span class="keyword">function</span> (prop)
<span class="keyword">if</span> Type.IsNull(prop) <span class="keyword">then</span>
TEN.Util.PrintLog(<span class="string">"Error!"</span>, Util.LogLevel.ERROR)
<span class="keyword">else</span>
LevelVars.property = prop
<span class="keyword">end</span>
<span class="keyword">end</span></pre>
</ul>
</dd>
<dt>
<a name = "IsFunction"></a>
<strong>IsFunction(variable)</strong>
</dt>
<dd>
Check if the variable is a function.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">variable</span>
<span class="types"><span class="type">variable</span></span>
to be check
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">boolean</span></span>
<em>true</em> if the variable is a function, <em>false</em> otherwise
</ol>
<h3>Usage:</h3>
<ul>
<pre class="example"><span class="comment">--example of use
</span> LevelFuncs.RunFunc = <span class="keyword">function</span> (func)
<span class="keyword">if</span> Type.IsFunction(func) <span class="keyword">then</span>
func()
<span class="keyword">end</span>
<span class="keyword">end</span></pre>
</ul>
</dd>
<dt>
<a name = "IsColor"></a>
<strong>IsColor(variable)</strong>
</dt>
<dd>
Check if the variable is a <a href="../3 primitive classes/Color.html#">Color</a>.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">variable</span>
<span class="types"><span class="type">variable</span></span>
to be check
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">boolean</span></span>
<em>true</em> if the variable is a Color, <em>false</em> otherwise
</ol>
<h3>Usage:</h3>
<ul>
<pre class="example"><span class="comment">--example of use
</span> LevelFuncs.SetColor = <span class="keyword">function</span>(color)
<span class="keyword">if</span> Type.IsColor(color) <span class="keyword">then</span>
<span class="global">string</span>:SetColor(color)
<span class="keyword">end</span>
<span class="keyword">end</span></pre>
</ul>
</dd>
<dt>
<a name = "IsRotation"></a>
<strong>IsRotation(variable)</strong>
</dt>
<dd>
Check if the variable is a <a href="../3 primitive classes/Rotation.html#">Rotation</a>.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">variable</span>
<span class="types"><span class="type">variable</span></span>
to be check
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">boolean</span></span>
<em>true</em> if the variable is a Rotation, <em>false</em> otherwise
</ol>
<h3>Usage:</h3>
<ul>
<pre class="example"><span class="comment">--example of use
</span> LevelFuncs.SetRotation = <span class="keyword">function</span> (rot)
<span class="keyword">if</span> Type.IsRotation(rot) <span class="keyword">then</span>
Lara:SetRotation(rot)
<span class="keyword">end</span>
<span class="keyword">end</span></pre>
</ul>
</dd>
<dt>
<a name = "IsVec2"></a>
<strong>IsVec2(variable)</strong>
</dt>
<dd>
Check if the variable is a <a href="../3 primitive classes/Vec2.html#">Vec2</a>.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">variable</span>
<span class="types"><span class="type">variable</span></span>
to be check
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">boolean</span></span>
<em>true</em> if the variable is a Vec2, <em>false</em> otherwise
</ol>
<h3>Usage:</h3>
<ul>
<pre class="example"><span class="comment">--example of use
</span> LevelFuncs.SetSpritePos = <span class="keyword">function</span> (pos)
<span class="keyword">if</span> Type.IsVec2(pos) <span class="keyword">then</span>
sprite:SetPosition(pos)
<span class="keyword">end</span>
<span class="keyword">end</span></pre>
</ul>
</dd>
<dt>
<a name = "IsVec3"></a>
<strong>IsVec3(variable)</strong>
</dt>
<dd>
Check if the variable is a <a href="../3 primitive classes/Vec3.html#">Vec3</a>.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">variable</span>
<span class="types"><span class="type">variable</span></span>
to be check
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">boolean</span></span>
<em>true</em> if the variable is a Vec3, <em>false</em> otherwise
</ol>
<h3>Usage:</h3>
<ul>
<pre class="example"><span class="comment">--example of use
</span>LevelFuncs.SetLaraPos = <span class="keyword">function</span> (pos)
<span class="keyword">if</span> Type.IsVec3(pos) <span class="keyword">then</span>
Lara:SetPosition(pos)
<span class="keyword">end</span>
<span class="keyword">end</span></pre>
</ul>
</dd>
<dt>
<a name = "IsTime"></a>
<strong>IsTime(variable)</strong>
</dt>
<dd>
Check if the variable is a <a href="../3 primitive classes/Time.html#">Time</a> object.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">variable</span>
<span class="types"><span class="type">variable</span></span>
to be check
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">boolean</span></span>
<em>true</em> if the variable is a Time object, <em>false</em> otherwise
</ol>
<h3>Usage:</h3>
<ul>
<pre class="example"><span class="comment">--example of use
</span>LevelFuncs.IncreaseTime = <span class="keyword">function</span> (time)
<span class="keyword">if</span> Type.IsTime(time) <span class="keyword">then</span>
time + <span class="number">1</span>
<span class="keyword">end</span>
<span class="keyword">end</span></pre>
</ul>
</dd>
<dt>
<a name = "IsLevelFunc"></a>
<strong>IsLevelFunc(variable)</strong>
</dt>
<dd>
Check if the variable is a LevelFunc.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">variable</span>
<span class="types"><span class="type">variable</span></span>
to be check
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">boolean</span></span>
<em>true</em> if the variable is a LevelFunc, <em>false</em> otherwise
</ol>
<h3>Usage:</h3>
<ul>
<pre class="example"><span class="comment">--example of use
</span> LevelFuncs.SetCallback = <span class="keyword">function</span> (func)
<span class="keyword">if</span> Type.IsFunction(func) <span class="keyword">then</span>
TEN.Logic.AddCallback(TEN.Logic.CallbackPoint.PRELOOP, func)
<span class="keyword">end</span>
<span class="keyword">end</span></pre>
</ul>
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="https://github.com/hispidence/TEN-LDoc">TEN-LDoc</a> (a fork of <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a>)</i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.3 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="ldoc.css" type="text/css" />
</head>
<body>
@ -24,7 +24,7 @@
<div id="navigation">
<br/>
<h1>TombEngine</h1>
<h1>&nbsp;TombEngine</h1>
<ul>
<li><here>Index</here></li>
@ -45,14 +45,10 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
<li> <a href="2 classes/Flow.Animations.html">Flow.Animations</a></li>
<li> <a href="2 classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <a href="2 classes/Flow.Level.html">Flow.Level</a></li>
<li> <a href="2 classes/Flow.Mirror.html">Flow.Mirror</a></li>
<li> <a href="2 classes/Flow.Settings.html">Flow.Settings</a></li>
<li> <a href="2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
<li> <a href="2 classes/Objects.AIObject.html">Objects.AIObject</a></li>
<li> <a href="2 classes/Objects.Camera.html">Objects.Camera</a></li>
<li> <a href="2 classes/Objects.LaraObject.html">Objects.LaraObject</a></li>
@ -63,26 +59,42 @@
<li> <a href="2 classes/Objects.Static.html">Objects.Static</a></li>
<li> <a href="2 classes/Objects.Volume.html">Objects.Volume</a></li>
<li> <a href="2 classes/Strings.DisplayString.html">Strings.DisplayString</a></li>
<li> <a href="2 classes/View.DisplaySprite.html">View.DisplaySprite</a></li>
</ul>
<h2>3 Primitive Classes</h2>
<ul class="nowrap">
<li> <a href="3 primitive classes/Flow.Fog.html">Flow.Fog</a></li>
<li> <a href="3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></li>
<li> <a href="3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></li>
<li> <a href="3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></li>
<li> <a href="3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></li>
<li> <a href="3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></li>
<li> <a href="3 primitive classes/Color.html">Color</a></li>
<li> <a href="3 primitive classes/Rotation.html">Rotation</a></li>
<li> <a href="3 primitive classes/Time.html">Time</a></li>
<li> <a href="3 primitive classes/Vec2.html">Vec2</a></li>
<li> <a href="3 primitive classes/Vec3.html">Vec3</a></li>
</ul>
<h2>4 Enums</h2>
<ul class="nowrap">
<li> <a href="4 enums/Collision.MaterialType.html">Collision.MaterialType</a></li>
<li> <a href="4 enums/Effects.BlendID.html">Effects.BlendID</a></li>
<li> <a href="4 enums/Effects.EffectID.html">Effects.EffectID</a></li>
<li> <a href="4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></li>
<li> <a href="4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></li>
<li> <a href="4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></li>
<li> <a href="4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></li>
<li> <a href="4 enums/Flow.GameStatus.html">Flow.GameStatus</a></li>
<li> <a href="4 enums/Input.ActionID.html">Input.ActionID</a></li>
<li> <a href="4 enums/Objects.AmmoType.html">Objects.AmmoType</a></li>
<li> <a href="4 enums/Objects.HandStatus.html">Objects.HandStatus</a></li>
<li> <a href="4 enums/Objects.WeaponType.html">Objects.WeaponType</a></li>
<li> <a href="4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></li>
<li> <a href="4 enums/Objects.ObjID.html">Objects.ObjID</a></li>
<li> <a href="4 enums/Objects.RoomFlagID.html">Objects.RoomFlagID</a></li>
<li> <a href="4 enums/Objects.RoomReverb.html">Objects.RoomReverb</a></li>
<li> <a href="4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></li>
<li> <a href="4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></li>
<li> <a href="4 enums/Util.LogLevel.html">Util.LogLevel</a></li>
<li> <a href="4 enums/View.AlignMode.html">View.AlignMode</a></li>
<li> <a href="4 enums/View.CameraType.html">View.CameraType</a></li>
@ -91,8 +103,11 @@
</ul>
<h2>5 Lua utility modules</h2>
<ul class="nowrap">
<li> <a href="5 lua utility modules/CustomBar.html">CustomBar</a></li>
<li> <a href="5 lua utility modules/Diary.html">Diary</a></li>
<li> <a href="5 lua utility modules/EventSequence.html">EventSequence</a></li>
<li> <a href="5 lua utility modules/Timer.html">Timer</a></li>
<li> <a href="5 lua utility modules/Type.html">Type</a></li>
</ul>
</div>
@ -100,27 +115,27 @@
<div id="content">
<h2>TombEngine 1.3 scripting interface</h2>
<p>Welcome to the TombEngine scripting API. This is a work in progress and some information might be wrong or outdated. Please also note that this is primarily a reference document, not a tutorial, so expect descriptions to be fairly sparse.</p>
<h2>TombEngine 1.8.1 scripting interface</h2>
<p>Welcome to the TombEngine scripting API.</p>
<p>At the time of writing, there is a tutorial describing the basics of Lua, as well as a number of example scripts, on <a href="https://www.tombengine.com">the TombEngine website</a>.</p>
<h4>Module Hierarchy (boring but important)</h4>
<p>Other than the "special tables" (GameVars, LevelVars and LevelFuncs), every module described herein is held in a master table called TEN.
<p>Note that this is primarily a reference document, not a tutorial, so expect descriptions to be fairly sparse.
At the time of writing, there is a tutorial describing the basics of Lua, as well as a number of example scripts, on <a href="https://www.tombengine.com">the TombEngine website</a>.</p>
<h4>Module Hierarchy</h4>
<p>Other than the "special tables" (<code>GameVars</code>, <code>LevelVars</code> and <code>LevelFuncs</code>), every module described herein is held in a master table called TEN.
For convenience, these modules and classes are automatically put in the global table. For example, you can call GetMoveableByName either of these two ways:</p>
<pre><code>local door = TEN.Objects.GetMoveableByName("door_type4_14")
local door = GetMoveableByName("door_type4_14")
</code></pre>
<h4>Always check logs/TENLog.txt</h4>
<p>If you are scripting levels, TombEngine will often kick you back to the title screen, even if <code>errorMode</code> (see Flow.Settings) is set to <code>ErrorMode.WARN</code> or <code>ErrorMode.SILENT</code>.</p>
<p>If you are scripting levels, TombEngine will often kick you back to the title screen, even if <code>errorMode</code> (see <a href="2 classes/Flow.Settings.html#">Flow.Settings</a>) is set to <code>ErrorMode.WARN</code> or <code>ErrorMode.SILENT</code>.</p>
<p>This might get annoying, but it's on purpose. If your Lua script contains a syntax error (e.g. you're missing <code>end</code> at the end of a function), the Lua interpreter will not be able to continue running the script. If it tried to keep running, you'd probably see some pretty strange behaviour, and would possibly get a crash regardless.</p>
<p>This might get annoying, but it's on purpose. If your Lua script contains a syntax error (e.g. you're missing <code>end</code> at the end of a function), the Lua interpreter will not be able to continue running the script. If it tried to keep running, you'd probably see some pretty strange behaviour, and would possibly get a crash regardless. If this happens, check <strong>logs/TENLog.txt</strong> and look for an error message with the word "unrecoverable".</p>
<p>If this happens, check <strong>logs/TENLog.txt</strong> and look for an error message with the word "unrecoverable".</p>
<p>Happy building!</p>
<p>Enjoy.</p>
<p>- <em>squidshire</em></p>
<p>- <em>squidshire and the TombEngine development team.</em></p>
<h2>1 Modules</h2>
<table class="module_list">
@ -146,7 +161,7 @@ local door = GetMoveableByName("door_type4_14")
</tr>
<tr>
<td class="name" ><a href="1 modules/Objects.html">Objects</a></td>
<td class="summary">Moveables, statics, cameras, and so on.</td>
<td class="summary">Objects including moveables, statics, cameras, and others.</td>
</tr>
<tr>
<td class="name" ><a href="1 modules/Sound.html">Sound</a></td>
@ -168,36 +183,20 @@ local door = GetMoveableByName("door_type4_14")
<h2>2 Classes</h2>
<table class="module_list">
<tr>
<td class="name" ><a href="2 classes/View.DisplaySprite.html">View.DisplaySprite</a></td>
<td class="summary">Represents a display sprite.</td>
</tr>
<tr>
<td class="name" ><a href="2 classes/Flow.Animations.html">Flow.Animations</a></td>
<td class="summary">New custom animations which Lara can perform.</td>
</tr>
<tr>
<td class="name" ><a href="2 classes/Flow.Fog.html">Flow.Fog</a></td>
<td class="summary">Fog</td>
</tr>
<tr>
<td class="name" ><a href="2 classes/Flow.InventoryItem.html">Flow.InventoryItem</a></td>
<td class="summary">Represents the properties of an object as it appears in the inventory.</td>
<td class="name" ><a href="2 classes/Collision.Probe.html">Collision.Probe</a></td>
<td class="summary">Represents a collision probe in the game world.</td>
</tr>
<tr>
<td class="name" ><a href="2 classes/Flow.Level.html">Flow.Level</a></td>
<td class="summary">Stores level metadata.</td>
</tr>
<tr>
<td class="name" ><a href="2 classes/Flow.Mirror.html">Flow.Mirror</a></td>
<td class="summary">A mirror effect.</td>
</tr>
<tr>
<td class="name" ><a href="2 classes/Flow.Settings.html">Flow.Settings</a></td>
<td class="summary">Settings that will be run on game startup.</td>
<td class="summary">Global engine settings which don't fall into particular category or can't be assigned to a specific object.</td>
</tr>
<tr>
<td class="name" ><a href="2 classes/Flow.SkyLayer.html">Flow.SkyLayer</a></td>
<td class="summary">Describes a layer of moving clouds.</td>
<td class="name" ><a href="2 classes/Flow.Statistics.html">Flow.Statistics</a></td>
<td class="summary">A set of gameplay statistics.</td>
</tr>
<tr>
<td class="name" ><a href="2 classes/Objects.AIObject.html">Objects.AIObject</a></td>
@ -209,19 +208,19 @@ local door = GetMoveableByName("door_type4_14")
</tr>
<tr>
<td class="name" ><a href="2 classes/Objects.LaraObject.html">Objects.LaraObject</a></td>
<td class="summary">Class for extra Lara-only functions.</td>
<td class="summary">Class for extra player-only functions.</td>
</tr>
<tr>
<td class="name" ><a href="2 classes/Objects.Moveable.html">Objects.Moveable</a></td>
<td class="summary">Represents any object inside the game world.</td>
<td class="summary">Represents a moveable object in the game world.</td>
</tr>
<tr>
<td class="name" ><a href="2 classes/Objects.Room.html">Objects.Room</a></td>
<td class="summary">Rooms</td>
<td class="summary">Room object.</td>
</tr>
<tr>
<td class="name" ><a href="2 classes/Objects.Sink.html">Objects.Sink</a></td>
<td class="summary">Sink</td>
<td class="summary">Represents a sink object.</td>
</tr>
<tr>
<td class="name" ><a href="2 classes/Objects.SoundSource.html">Objects.SoundSource</a></td>
@ -229,7 +228,7 @@ local door = GetMoveableByName("door_type4_14")
</tr>
<tr>
<td class="name" ><a href="2 classes/Objects.Static.html">Objects.Static</a></td>
<td class="summary">Statics</td>
<td class="summary">Represents a static object in the game world.</td>
</tr>
<tr>
<td class="name" ><a href="2 classes/Objects.Volume.html">Objects.Volume</a></td>
@ -239,16 +238,48 @@ local door = GetMoveableByName("door_type4_14")
<td class="name" ><a href="2 classes/Strings.DisplayString.html">Strings.DisplayString</a></td>
<td class="summary">A string appearing on the screen.</td>
</tr>
<tr>
<td class="name" ><a href="2 classes/View.DisplaySprite.html">View.DisplaySprite</a></td>
<td class="summary">Represents a display sprite.</td>
</tr>
</table>
<h2>3 Primitive Classes</h2>
<table class="module_list">
<tr>
<td class="name" ><a href="3 primitive classes/Flow.Fog.html">Flow.Fog</a></td>
<td class="summary">Represesnts distance fog.</td>
</tr>
<tr>
<td class="name" ><a href="3 primitive classes/Flow.Horizon.html">Flow.Horizon</a></td>
<td class="summary">Represents a horizon.</td>
</tr>
<tr>
<td class="name" ><a href="3 primitive classes/Flow.InventoryItem.html">Flow.InventoryItem</a></td>
<td class="summary">Represents the properties of an object as it appears in the inventory.</td>
</tr>
<tr>
<td class="name" ><a href="3 primitive classes/Flow.LensFlare.html">Flow.LensFlare</a></td>
<td class="summary">Represents a global lens flare (not to be confused with the lens flare object).</td>
</tr>
<tr>
<td class="name" ><a href="3 primitive classes/Flow.SkyLayer.html">Flow.SkyLayer</a></td>
<td class="summary">Describes a layer of moving clouds.</td>
</tr>
<tr>
<td class="name" ><a href="3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></td>
<td class="summary">Represents a star field in the sky.</td>
</tr>
<tr>
<td class="name" ><a href="3 primitive classes/Color.html">Color</a></td>
<td class="summary">An RGBA or RGB color.</td>
<td class="summary">Represents an RGBA or RGB color.</td>
</tr>
<tr>
<td class="name" ><a href="3 primitive classes/Rotation.html">Rotation</a></td>
<td class="summary">Represents a degree-based 3D rotation.</td>
<td class="summary">Represents a 3D rotation.</td>
</tr>
<tr>
<td class="name" ><a href="3 primitive classes/Time.html">Time</a></td>
<td class="summary">Represents a time value in game frames, with support for formatting to hours, minutes, seconds, and centiseconds (1/100th of a second).</td>
</tr>
<tr>
<td class="name" ><a href="3 primitive classes/Vec2.html">Vec2</a></td>
@ -261,6 +292,10 @@ local door = GetMoveableByName("door_type4_14")
</table>
<h2>4 Enums</h2>
<table class="module_list">
<tr>
<td class="name" ><a href="4 enums/Collision.MaterialType.html">Collision.MaterialType</a></td>
<td class="summary">Constants for material types.</td>
</tr>
<tr>
<td class="name" ><a href="4 enums/Effects.BlendID.html">Effects.BlendID</a></td>
<td class="summary">Constants for blend mode IDs.</td>
@ -269,6 +304,22 @@ local door = GetMoveableByName("door_type4_14")
<td class="name" ><a href="4 enums/Effects.EffectID.html">Effects.EffectID</a></td>
<td class="summary">Constants for effect IDs.</td>
</tr>
<tr>
<td class="name" ><a href="4 enums/Effects.StreamerFeatherMode.html">Effects.StreamerFeatherMode</a></td>
<td class="summary">Constants for feather modes.</td>
</tr>
<tr>
<td class="name" ><a href="4 enums/Effects.ParticleAnimationType.html">Effects.ParticleAnimationType</a></td>
<td class="summary">Constants for particle animation type constants.</td>
</tr>
<tr>
<td class="name" ><a href="4 enums/Flow.ErrorMode.html">Flow.ErrorMode</a></td>
<td class="summary">Constants for error modes.</td>
</tr>
<tr>
<td class="name" ><a href="4 enums/Flow.FreezeMode.html">Flow.FreezeMode</a></td>
<td class="summary">Constants for freeze modes.</td>
</tr>
<tr>
<td class="name" ><a href="4 enums/Flow.GameStatus.html">Flow.GameStatus</a></td>
<td class="summary">Constants for game statuses.</td>
@ -281,6 +332,14 @@ local door = GetMoveableByName("door_type4_14")
<td class="name" ><a href="4 enums/Objects.AmmoType.html">Objects.AmmoType</a></td>
<td class="summary">Constants for player weapon ammo types.</td>
</tr>
<tr>
<td class="name" ><a href="4 enums/Objects.HandStatus.html">Objects.HandStatus</a></td>
<td class="summary">Constants for player hand statuses.</td>
</tr>
<tr>
<td class="name" ><a href="4 enums/Objects.WeaponType.html">Objects.WeaponType</a></td>
<td class="summary">Constants for weapon types.</td>
</tr>
<tr>
<td class="name" ><a href="4 enums/Objects.MoveableStatus.html">Objects.MoveableStatus</a></td>
<td class="summary">Constants for moveable statuses.</td>
@ -301,6 +360,10 @@ local door = GetMoveableByName("door_type4_14")
<td class="name" ><a href="4 enums/Sound.SoundTrackType.html">Sound.SoundTrackType</a></td>
<td class="summary">Constants for the type of the audio tracks.</td>
</tr>
<tr>
<td class="name" ><a href="4 enums/Strings.DisplayStringOption.html">Strings.DisplayStringOption</a></td>
<td class="summary">Constants for Display String Options.</td>
</tr>
<tr>
<td class="name" ><a href="4 enums/Util.LogLevel.html">Util.LogLevel</a></td>
<td class="summary">Constants for LogLevel IDs.</td>
@ -319,11 +382,19 @@ local door = GetMoveableByName("door_type4_14")
</tr>
<tr>
<td class="name" ><a href="4 enums/View.ScaleMode.html">View.ScaleMode</a></td>
<td class="summary">Constants for scale modes.</td>
<td class="summary">Constants for display sprite scale modes.</td>
</tr>
</table>
<h2>5 Lua utility modules</h2>
<table class="module_list">
<tr>
<td class="name" ><a href="5 lua utility modules/CustomBar.html">CustomBar</a></td>
<td class="summary">This module provides functions for creating and managing custom progress bars.</td>
</tr>
<tr>
<td class="name" ><a href="5 lua utility modules/Diary.html">Diary</a></td>
<td class="summary">This module provides functions to create and manage diaries.</td>
</tr>
<tr>
<td class="name" ><a href="5 lua utility modules/EventSequence.html">EventSequence</a></td>
<td class="summary">Event sequence - a chain of functions to call at specified times, modeled after TRNG's organizers.</td>
@ -332,6 +403,10 @@ local door = GetMoveableByName("door_type4_14")
<td class="name" ><a href="5 lua utility modules/Timer.html">Timer</a></td>
<td class="summary">Basic timer - after a specified number of seconds, the specified thing happens.</td>
</tr>
<tr>
<td class="name" ><a href="5 lua utility modules/Type.html">Type</a></td>
<td class="summary">Type - This molule contains functions that allow to check the data type of a variable.</td>
</tr>
</table>
</div> <!-- id="content" -->

View file

@ -1,241 +1,245 @@
/* styles for prettification of source */
pre .comment { color: #558817; }
pre .constant { color: #a8660d; }
pre .escape { color: #844631; }
pre .keyword { color: #aa5050; font-weight: bold; }
pre .library { color: #0e7c6b; }
pre .marker { color: #512b1e; background: #fedc56; font-weight: bold; }
pre .string { color: #8080ff; }
pre .number { color: #f8660d; }
pre .operator { color: #2239a8; font-weight: bold; }
pre .preprocessor, pre .prepro { color: #a33243; }
pre .global { color: #800080; }
pre .user-keyword { color: #800080; }
pre .prompt { color: #558817; }
pre .url { color: #272fc2; text-decoration: underline; }
body {
margin-left: 1em;
margin-right: 1em;
font-family: arial, helvetica, geneva, sans-serif;
background-color: #ffffff; margin: 0px;
}
code, tt { font-family: monospace; font-size: 1.1em; }
span.parameter { font-family:monospace; }
span.parameter:after { content:":"; }
span.types:before { content:"("; }
span.types:after { content:")"; }
.type { font-weight: bold; font-style:italic }
body, td, th { font-size: .95em; line-height: 1.2em;}
p { line-height: 1.2em;}
p, ul { margin: 10px 0 0 0px;}
strong { font-weight: bold;}
here { font-weight: bold; color: #c8751d;}
em { font-style: italic;}
h1 {
font-size: 1.5em;
margin: 20px 0 20px 0;
}
h2, h3, h4 { margin: 15px 0 10px 0; }
h2 { font-size: 1.25em; }
h3 { font-size: 1.15em; }
h4 { font-size: 1.06em; }
a:link { font-weight: bold; color: #004080; text-decoration: none; }
a:visited { font-weight: bold; color: #006699; text-decoration: none; }
a:link:hover { text-decoration: underline; }
hr {
color:#cccccc;
background: #00007f;
height: 1px;
}
blockquote { margin-left: 3em; }
ul { list-style-type: disc; }
p.name {
font-family: "Andale Mono", monospace;
padding-top: 1em;
}
pre {
background-color: rgb(245, 245, 245);
border: 1px solid #C0C0C0; /* silver */
padding: 10px;
margin: 10px 0 10px 0;
overflow: auto;
font-family: "Andale Mono", monospace;
}
pre.example {
font-size: .85em;
}
table.index { border: 1px #00007f; }
table.index td { text-align: left; vertical-align: top; }
#container {
margin-left: 1em;
margin-right: 1em;
background-color: #f0f0f0;
}
#product {
text-align: center;
border-bottom: 1px solid #cccccc;
background-color: #ffffff;
}
#product big {
font-size: 2em;
}
#main {
background-color: #f0f0f0;
border-left: 2px solid #cccccc;
}
#navigation {
float: left;
width: 16em;
vertical-align: top;
background-color: #f0f0f0;
overflow: visible;
}
#navigation h2 {
background-color:#e7e7e7;
font-size:1.1em;
color:#000000;
text-align: left;
padding:0.2em;
border-top:1px solid #dddddd;
border-bottom:1px solid #dddddd;
}
#navigation ul
{
font-size:1em;
list-style-type: none;
margin: 1px 1px 10px 1px;
}
#navigation li {
text-indent: -1em;
display: block;
margin: 3px 0px 0px 22px;
}
#navigation li li a {
margin: 0px 3px 0px -1em;
}
#content {
margin-left: 16em;
padding: 1em;
width: 700px;
border-left: 2px solid #cccccc;
border-right: 2px solid #cccccc;
background-color: #ffffff;
}
#about {
clear: both;
padding: 5px;
border-top: 2px solid #cccccc;
background-color: #ffffff;
}
@media print {
body {
font: 12pt "Times New Roman", "TimeNR", Times, serif;
}
a { font-weight: bold; color: #004080; text-decoration: underline; }
#main {
background-color: #ffffff;
border-left: 0px;
}
#container {
margin-left: 2%;
margin-right: 2%;
background-color: #ffffff;
}
#content {
padding: 1em;
background-color: #ffffff;
}
#navigation {
display: none;
}
pre.example {
font-family: "Andale Mono", monospace;
font-size: 10pt;
page-break-inside: avoid;
}
}
table.module_list {
border-width: 1px;
border-style: solid;
border-color: #cccccc;
border-collapse: collapse;
}
table.module_list td {
border-width: 1px;
padding: 3px;
border-style: solid;
border-color: #cccccc;
}
table.module_list td.name { background-color: #f0f0f0; min-width: 250px; }
table.module_list td.summary { width: 100%; }
table.function_list {
border-width: 1px;
border-style: solid;
border-color: #cccccc;
border-collapse: collapse;
}
table.function_list td {
border-width: 1px;
padding: 3px;
border-style: solid;
border-color: #cccccc;
}
table.function_list td.name { background-color: #f0f0f0; min-width: 250px; }
table.function_list td.summary { width: 100%; }
ul.nowrap {
overflow:auto;
white-space:nowrap;
}
dl.table dt, dl.function dt {border-top: 1px solid #ccc; padding-top: 1em;}
dl.table dd, dl.function dd {padding-bottom: 1em; margin: 10px 0 0 20px;}
dl.table h3, dl.function h3 {font-size: .95em;}
/* stop sublists from having initial vertical space */
ul ul { margin-top: 0px; }
ol ul { margin-top: 0px; }
ol ol { margin-top: 0px; }
ul ol { margin-top: 0px; }
/* make the target distinct; helps when we're navigating to a function */
a:target + * {
background-color: #FF9;
}
/* styles for prettification of source */
pre .comment { color: #558817; }
pre .constant { color: #a8660d; }
pre .escape { color: #844631; }
pre .keyword { color: #aa5050; font-weight: bold; }
pre .library { color: #0e7c6b; }
pre .marker { color: #512b1e; background: #fedc56; font-weight: bold; }
pre .string { color: #8080ff; }
pre .number { color: #f8660d; }
pre .operator { color: #2239a8; font-weight: bold; }
pre .preprocessor, pre .prepro { color: #a33243; }
pre .global { color: #800080; }
pre .user-keyword { color: #800080; }
pre .prompt { color: #558817; }
pre .url { color: #272fc2; text-decoration: underline; }
body {
margin-left: 1em;
margin-right: 1em;
font-family: arial, helvetica, geneva, sans-serif;
background-color: #ffffff; margin: 0px;
}
code, tt { font-family: monospace; font-size: 1.1em; }
span.parameter { font-family:monospace; }
span.parameter:after { content:":"; }
span.types:before { content:"("; }
span.types:after { content:")"; }
.type { font-weight: bold; font-style:italic }
body, td, th { font-size: .95em; line-height: 1.2em;}
p { line-height: 1.2em;}
ul { margin: 10px 0 0 0px;}
p { margin: 3px 0px 0px 0px; }
strong { font-weight: bold;}
here { font-weight: bold; color: #c8751d;}
em { font-style: italic;}
h1 {
font-size: 1.5em;
margin: 20px 0 20px 0;
}
h2, h3, h4 { margin: 15px 0 10px 0; }
h2 { font-size: 1.25em; }
h3 { font-size: 1.15em; }
h4 { font-size: 1.06em; }
a:link { font-weight: bold; color: #004080; text-decoration: none; }
a:visited { font-weight: bold; color: #006699; text-decoration: none; }
a:link:hover { text-decoration: underline; }
hr {
color:#cccccc;
background: #00007f;
height: 1px;
}
blockquote { margin-left: 3em; }
ul { list-style-type: disc; }
ul li:not(:last-child) {
margin-bottom: 0.3em;
}
p.name {
font-family: "Andale Mono", monospace;
padding-top: 1em;
}
pre {
background-color: rgb(245, 245, 245);
border: 1px solid #C0C0C0; /* silver */
padding: 10px;
margin: 10px 0 10px 0;
overflow: auto;
font-family: "Andale Mono", monospace;
}
pre.example {
font-size: .85em;
}
table.index { border: 1px #00007f; }
table.index td { text-align: left; vertical-align: top; }
#container {
margin-left: 1em;
margin-right: 1em;
background-color: #f0f0f0;
}
#product {
text-align: center;
border-bottom: 1px solid #cccccc;
background-color: #ffffff;
}
#product big {
font-size: 2em;
}
#main {
background-color: #f0f0f0;
border-left: 2px solid #cccccc;
display: flex
}
#navigation {
width: 18em;
vertical-align: top;
background-color: #f0f0f0;
overflow: visible;
}
#navigation h2 {
background-color:#e7e7e7;
font-size:1.1em;
color:#000000;
text-align: left;
padding:0.2em;
border-top:1px solid #dddddd;
border-bottom:1px solid #dddddd;
}
#navigation ul
{
font-size:1em;
list-style-type: none;
margin: 1px 1px 10px 1px;
}
#navigation li {
text-indent: -1em;
display: block;
margin: 3px 0px 0px 22px;
}
#navigation li li a {
margin: 0px 3px 0px -1em;
}
#content {
padding: 2em;
width: 900px;
border-left: 2px solid #cccccc;
border-right: 2px solid #cccccc;
background-color: #ffffff;
}
#about {
clear: both;
padding: 5px;
border-top: 2px solid #cccccc;
background-color: #ffffff;
}
@media print {
body {
font: 12pt "Times New Roman", "TimeNR", Times, serif;
}
a { font-weight: bold; color: #004080; text-decoration: underline; }
#main {
background-color: #ffffff;
border-left: 0px;
}
#container {
margin-left: 2%;
margin-right: 2%;
background-color: #ffffff;
}
#content {
padding: 1em;
background-color: #ffffff;
}
#navigation {
display: none;
}
pre.example {
font-family: "Andale Mono", monospace;
font-size: 10pt;
page-break-inside: avoid;
}
}
table.module_list {
border-width: 1px;
border-style: solid;
border-color: #cccccc;
border-collapse: collapse;
}
table.module_list td {
border-width: 1px;
padding: 3px;
border-style: solid;
border-color: #cccccc;
}
table.module_list td.name { background-color: #f0f0f0; min-width: 250px; }
table.module_list td.summary { width: 100%; }
table.function_list {
border-width: 1px;
border-style: solid;
border-color: #cccccc;
border-collapse: collapse;
}
table.function_list td {
border-width: 1px;
padding: 3px;
border-style: solid;
border-color: #cccccc;
}
table.function_list td.name { background-color: #f0f0f0; min-width: 250px; }
table.function_list td.summary { width: 100%; }
ul.nowrap {
white-space:nowrap;
}
dl.table dt, dl.function dt {border-top: 1px solid #ccc; padding-top: 1em;}
dl.table dd, dl.function dd {padding-bottom: 1em; margin: 10px 0 0 20px;}
dl.table h3, dl.function h3 {font-size: .95em;}
/* stop sublists from having initial vertical space */
ul ul { margin-top: 0px; }
ol ul { margin-top: 0px; }
ol ol { margin-top: 0px; }
ul ol { margin-top: 0px; }
/* make the target distinct; helps when we're navigating to a function */
a:target + * {
background-color: #FF9;
}

View file

@ -0,0 +1,149 @@
# PowerShell script to generate ObjectIDs.h from game_object_ids.h
$inputFile = "../TombEngine/Objects/game_object_ids.h" # Adjust path if necessary.
$tempOutputFile = "../TombEngine/Scripting/Internal/TEN/Objects/temp.h"
$outputFile = "../TombEngine/Scripting/Internal/TEN/Objects/ObjectIDs.h"
# Read the input file
if (-Not (Test-Path $inputFile))
{
Write-Host "Error: File '$inputFile' not found."
exit 1
}
# Get the last modified times for both files.
$inputFileLastModified = (Get-Item $inputFile).LastWriteTime
if (Test-Path $outputFile) {
$outputFileLastModified = (Get-Item $outputFile).LastWriteTime
} else {
$outputFileLastModified = [datetime]::MinValue # If output file doesn't exist, treat it as very old.
}
# Exit early if the output file is newer than the input file.
if ($outputFileLastModified -ge $inputFileLastModified) {
Write-Host "$outputFile is up to date. No changes made."
exit 0
}
$content = Get-Content $inputFile
# Extract enum values and categorize them.
$enumValues = @()
$pickupConstants = @()
$spriteConstants = @()
$inPickupSection = $false
$inSpriteSection = $false
foreach ($line in $content)
{
if ($line -match "^\s*ID_([A-Za-z0-9_]+)")
{
$enumName = $matches[1]
$enumValues += $enumName
if ($enumName -match "_ITEM|EXAMINE")
{
$pickupConstants += $enumName
}
elseif ($enumName -match "_SPRITE|_GRAPHIC|TEXTURE")
{
# These two object IDs are deprecated 3D objects, not sprites.
if ($enumName -in @("BINOCULAR_GRAPHICS", "TARGET_GRAPHICS"))
{
continue
}
$spriteConstants += $enumName
}
}
}
if ($enumValues.Count -gt 0) { $enumValues = $enumValues[1..($enumValues.Count - 2)] }
# Generate ObjectIDs.h content.
$header = @"
#pragma once
// This file is generated automatically, do not edit it.
// Last generated on $(Get-Date -Format "dd/MM/yyyy").
#include <unordered_map>
#include <string>
#include "Objects/game_object_ids.h"
/***
Constants for object IDs.
@enum Objects.ObjID
@pragma nostrip
*/
/*** Objects.ObjID constants.
The following constants are inside ObjID.
"@
$body = $enumValues | ForEach-Object { "`t$_" }
$footer = @"
@table Members
*/
"@
# Pickup Constants Section.
$pickupHeader = @"
/*** Objects.ObjID pickup constants.
The following ObjID members refer to pickups.
"@
$pickupBody = $pickupConstants | ForEach-Object { "`t$_" }
$pickupFooter = @"
@table PickupConstants
*/
"@
# Sprite Constants Section.
$spriteHeader = @"
/*** Objects.ObjID sprite constants.
The following ObjID members refer to sprites.
"@
$spriteBody = $spriteConstants | ForEach-Object { "`t$_" }
$spriteFooter = @"
@table SpriteConstants
*/
"@
# Map definition.
$mapHeader = "static const std::unordered_map<std::string, GAME_OBJECT_ID> GAME_OBJECT_IDS {"
$mapBody = ($enumValues | ForEach-Object { "`t" + '{ "' + "$_" + '", ID_' + "$_" + ' }' }) -join ",`r`n"
$mapFooter = "};"
# Write to output file
$header | Set-Content $tempOutputFile
$body | Add-Content $tempOutputFile
$footer | Add-Content $tempOutputFile
$pickupHeader | Add-Content $tempOutputFile
$pickupBody | Add-Content $tempOutputFile
$pickupFooter | Add-Content $tempOutputFile
$spriteHeader | Add-Content $tempOutputFile
$spriteBody | Add-Content $tempOutputFile
$spriteFooter | Add-Content $tempOutputFile
$mapHeader | Add-Content $tempOutputFile
$mapBody | ForEach-Object { Add-Content $tempOutputFile $_ }
$mapFooter | Add-Content $tempOutputFile
# Rename the temporary file to the final name.
if (Test-Path $outputFile) {
Remove-Item $outputFile -Force
}
Move-Item -Path $tempOutputFile -Destination $outputFile -Force
Write-Host "Generated $outputFile successfully."

View file

@ -32,7 +32,9 @@ span.types:after { content:")"; }
body, td, th { font-size: .95em; line-height: 1.2em;}
p { line-height: 1.2em;}
p, ul { margin: 10px 0 0 0px;}
ul { margin: 10px 0 0 0px;}
p { margin: 3px 0px 0px 0px; }
strong { font-weight: bold;}
@ -63,6 +65,10 @@ blockquote { margin-left: 3em; }
ul { list-style-type: disc; }
ul li:not(:last-child) {
margin-bottom: 0.3em;
}
p.name {
font-family: "Andale Mono", monospace;
padding-top: 1em;
@ -103,11 +109,11 @@ table.index td { text-align: left; vertical-align: top; }
#main {
background-color: #f0f0f0;
border-left: 2px solid #cccccc;
display: flex
}
#navigation {
float: left;
width: 16em;
width: 18em;
vertical-align: top;
background-color: #f0f0f0;
overflow: visible;
@ -141,9 +147,8 @@ table.index td { text-align: left; vertical-align: top; }
}
#content {
margin-left: 16em;
padding: 1em;
width: 700px;
padding: 2em;
width: 900px;
border-left: 2px solid #cccccc;
border-right: 2px solid #cccccc;
background-color: #ffffff;
@ -220,7 +225,6 @@ table.function_list td.name { background-color: #f0f0f0; min-width: 250px; }
table.function_list td.summary { width: 100%; }
ul.nowrap {
overflow:auto;
white-space:nowrap;
}

File diff suppressed because it is too large Load diff

10
IMPORTANT_LINKS.md Normal file
View file

@ -0,0 +1,10 @@
# Important Links
Here you will find other essential sources that TombEngine has.
- TombEngine website: https://tombengine.com/
- TombEngine Organization repository: https://github.com/TombEngine
- TombEngine LUA API webpage source: https://github.com/TombEngine/TombEngine.github.io
- TombEngine Assets used on the tombEngine website: https://github.com/TombEngine/Resources
- TombEngine releases: https://github.com/TombEngine/TombEditorReleases
- TombEditor repository: https://github.com/MontyTRC89/Tomb-Editor (A Tomb Raider Level Editor to build custom levels. Tomb Editor should be used to develop levels for TombEngine)

28
LICENSE Normal file
View file

@ -0,0 +1,28 @@
Modified MIT License (for non-commercial use only)
Copyright (c) 2025 TombEngine Team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the “Software”), to use,
copy, modify, merge, publish, and distribute copies of the Software, and to
permit persons to whom the Software is furnished to do so, for non-commercial
purposes only, subject to the following conditions:
1. Commercial use of the Software — including, but not limited to, selling,
renting, leasing, or using it in a product or service for which you receive
compensation (monetary or otherwise) — is strictly prohibited.
2. The Software may be combined with proprietary or closed-source third-party
components, provided those components are available for non-commercial use,
and the resulting product is not used for commercial purposes.
3. The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

113
README.md
View file

@ -1,93 +1,42 @@
# TombEngine
# Tomb Engine
In the year 2000, Core Design granted us a great gift: their TR4-based Level Editor, which allowed people to create custom levels. It was, unfortunately, quite limited, hence why over the decades it was upgraded massively with fan projects such as Tomb Raider Engine Patcher (TREP) and Tomb Raider Next Generation (TRNG).
- TREP was a tool which allowed modification of the executable to expand certain limits and implement new features.
- TRNG built upon TREP and provided many new tools, including a scripting language, expanding even more limits with its own .DLL.
![Logo](https://github.com/MontyTRC89/TombEngine/blob/7c50d26ca898c74978336d41e16ce3ce0c8ecacd/TEN%20logo.png)
Unfortunately, TRNG's toolset is poorly documented and not user-friendly; the program remains closed-source to this day and is in all practicality an abandonware. As a direct consequence, no one is able to fix the countless well-known bugs and issues extant in TRNG, rendering implementation of new features is impossible without an in-depth knowledge of C++ plugin creation and a solid understanding of the classic Tomb Raider engine's many idiosyncrasies.
TombEngine (TEN) is a new, open-source engine which aims to abolish all limits, fix bugs from the original games, introduce new features while refining old ones, and provide for a refined, user-friendly level creation process. Current support includes:
- Lua (as the native scripting language)
- All objects from the classic series (1-5)
- Many more exciting gameplay functionalities such as diagonal shimmying and expanded crawlspace flexibility
- An enlarged 2D map, allowing for the creation of massive levels (imagine one big level may previously have been split into five!)
*Tomb Engine* (*TEN*) is an open-source custom level engine which aims to abolish limits and fix bugs of the classic Tomb Raider games. It aims to introduce new features, refine old ones, and provide a user-friendly level creation process. Current support includes:
- *Lua* as the native scripting language.
- Many objects from the original series (1-5).
- Support for high framerate, antialiasing, mipmapping, and SSAO.
- Full diagonal geometry support.
- Uncapped map size.
- A streamlined player control scheme.
If you would like to participate in TEN discussion with other TEN devs whether it is contributing, bugs or general discussion, then join this discord server: https://discord.gg/h5tUYFmres
*Tomb Engine* is used in conjunction with *Tomb Editor*. The repository can be found [here](https://github.com/MontyTRC89/Tomb-Editor).
Tomb Engine should be used in conjuction with Tomb Editor. Tomb Editor is also open source written in C#, you can find the repository here: https://github.com/MontyTRC89/Tomb-Editor
# Compiling TombEngine
To compile TEN, ensure you have installed:
- Microsoft Visual Studio
- TombEditor (if you would like to create and test levels)
# Compiling *Tomb Engine*
To compile *TEN*, ensure you have installed:
- *Microsoft Visual Studio*
- *Tomb Editor* (for level creation and testing)
Steps:
1) Clone the repository to your GitHub Desktop
2) Launch TombEngine.sln and compile
3) Once compiled, create a separate folder to serve as your main TEN directory
4) Copy everything inside the Build folder to the main TEN directory
5) Copy the Scripts folder to your main TEN directory
6) Ensure you have the necessary level data and texture files as well
7) In the case Windows warns about missing DLLs, (bass.dll, etc.) copy the missing DLL files found inside the Libs folder to your main TEN directory.
1) Clone the repository to your GitHub Desktop.
2) Open `TombEngine.sln`.
4) Compile the solution.
5) Once compiled, create a separate folder to serve as your main *TEN* directory (or create a test *TEN* project using *TombIDE*)
6) Copy everything inside the `Build` folder to the main *TEN* directory.
7) Ensure you have the necessary level data and texture files.
8) In case Windows warns about missing DLLs (bass.dll, etc.), copy the missing DLL files found inside the `Libs` folder to your main `TEN` directory.
Visual Studio may also warn about NuGet packages. To fix:
1) Delete the Packages folder
2) Go back to Microsoft Visual Studio
3) Right-click on the TombEngine solution in the Solution Explorer tab and select "Restore NuGet Packages"
4) Compile again and once done, you should be able to compile a level with TombEditor and run it in TEN.
*Visual Studio* may warn about NuGet packages. To fix:
1) Delete the `Packages` folder.
2) Go back to *Microsoft Visual Studio*.
3) Right-click on the *TEN* solution in the *Solution Explorer* tab and select "Restore NuGet Packages".
4) If it doesn't help, manually install `directxtk_desktop_2019` and `Microsoft.XAudio2.Redist` packages via NuGet Package Manager.
Once done, you should be able to build a level with *Tomb Editor* and run it in *TEN*.
# Contributions
Contributions are welcome. If you would like to participate in development to any degree, whether that be through suggestions, bug reports, or code, join our [Discord server](https://discord.gg/h5tUYFmres).
# Disclaimer
We do not and have never worked for Core Design, Eidos Interactive, or Square Enix. This is a hobby project. Tomb Raider is a registered trademark of Square Enix; TombEngine is not be sold. The code is open-source to encourage contributions and to be used for study purposes. We are not responsible for illegal uses of this source code. This source code is released as-is and continues to be maintained by non-paid contributors in their free time.
# Credit List
## Developers
- MontyTRC (Project Leader)
- Gancian (general coding)
- Krystian (general coding)
- Kubsy (Some cleanups and fixes)
- l.m. (general coding, Lua enhancements, bug fixing)
- Lwmte (sound refactoring, general coding, code cleanups, bug fixing)
- Moooonyeah (Jumanji) (entity decompilation)
- Raildex (renderer refactoring, particle coding, general coding)
- RicardoLuis0 (general coding)
- Sezz (player state refactoring, general coding, code cleanups, bug fixing, assets)
- Squidshire (Hispidence) (Lua implementation, bug fixing)
- Stranger1992 (sound asset refactoring and organisation, assets)
- TokyoSU (entity and vehicle decompilation)
- Tomo (general coding, bug fixing)
- Troye (general coding, refactoring)
- WolfCheese (general coding)
## Testers
- Adngel
- Caesum
- Dustie
- GeckoKid
- JoeyQuint
- Kamillos
- Kubsy
- LGG_PRODUCTION
- Lore
- RemRem
- Stranger1992
- WolfCheese
## Assets and Miscellaneous
- Geckokid (Sprites and test level creator).
### Animations
- SrDanielPonces (Diagonal shimmy transitions, backwards monkey swinging)
- Krystian (Flexibility crawlspace, slope climbing animations)
- Sezz (Additional Animations for player state refactoring)
- Naotheia (Underwater puzzle placement, crouch 180° turn, crawl 180° turn, water surface 180° turn)
- JoeyQuint (Standing 180° turn, monkey swing 180° turn)
### TombEngine Marketing
- Kubsy (Twitter and forum posts)
- Stranger1992 (This website, Facebook, Instagram, Youtube and Twitch.
Tomb Engine uses modified MIT license for non-commercial use only. For more information, see [license](LICENSE). Tomb Engine is unaffiliated with Core Design, Eidos Interactive, or Embracer Group AB. *Tomb Raider* is a registered trademark of Embracer Group AB. Tomb Engine source code is open to encourage contributions and for study purposes. Tomb Engine team is not responsible for illegal use of this source code alone or in combination with third-party assets or components. This source code is released as-is and continues to be maintained by non-paid contributors in their free time.

216
Scripts/DiarySetup.lua Normal file
View file

@ -0,0 +1,216 @@
return {
{
type = "diary",
object = TEN.Objects.ObjID.DIARY_ITEM,
objectIdBg = TEN.Objects.ObjID.DIARY_SPRITES,
spriteIdBg = 0,
colorBg = TEN.Color(255, 255, 255),
pos = TEN.Vec2(50,47.5),
rot = 0,
scale = TEN.Vec2(100,95),
alignMode = TEN.View.AlignMode.CENTER,
scaleMode = TEN.View.ScaleMode.FIT,
blendMode = TEN.Effects.BlendID.ALPHABLEND,
alpha = 255,
pageSound=369,
exitSound=369,
pagesToUnlock = 1
},
{
type = "background",
objectIdBg = TEN.Objects.ObjID.DIARY_SPRITES,
spriteIdBg = 1,
colorBg = TEN.Color(255,0, 0),
pos = TEN.Vec2(50,50),
rot = 0,
scale = TEN.Vec2(100,100),
alignMode = TEN.View.AlignMode.CENTER,
scaleMode = TEN.View.ScaleMode.STRETCH,
blendMode = TEN.Effects.BlendID.ALPHABLEND,
alpha = 160
},
{
type = "pageNumbers",
pageNoType = 2,
prefix = "Page: ",
separator = " of ",
textPos = TEN.Vec2(98,95),
textOptions = {TEN.Strings.DisplayStringOption.RIGHT, TEN.Strings.DisplayStringOption.SHADOW},
textScale = 0.5,
textColor = TEN.Color(255, 255, 255)
},
{
type = "controls",
string1 = "Space: Play Voice Note",
string2 = "Left Key: Previous Page",
string3 = "Right Key: Next Page",
string4 = "Esc: Back",
separator = " | ",
textPos = TEN.Vec2(5,95),
textOptions = {TEN.Strings.DisplayStringOption.SHADOW},
textScale = 0.5,
textColor = TEN.Color(255, 255, 255)
},
{
type = "notification",
notificationTime = 3,
objectId = TEN.Objects.ObjID.DIARY_SPRITES,
spriteId = 2,
color = TEN.Color(255,255,255),
pos = TEN.Vec2(90,90),
rot = 0,
scale = TEN.Vec2(5,5),
alignMode = TEN.View.AlignMode.CENTER,
scaleMode = TEN.View.ScaleMode.FIT,
blendMode = TEN.Effects.BlendID.ALPHABLEND,
notificationSound = 114
},
{
type = "image",
pageIndex = 1,
objectId = TEN.Objects.ObjID.DIARY_ENTRY_SPRITES,
spriteId = 0,
color = TEN.Color(255, 255, 255),
pos = TEN.Vec2(35,47.5),
rot = 0,
scale = TEN.Vec2(40,40),
alignMode = TEN.View.AlignMode.CENTER,
scaleMode = TEN.View.ScaleMode.FIT,
blendMode = TEN.Effects.BlendID.ALPHABLEND
},
{
type = "text",
pageIndex = 1,
text = "Welcome to TEN diary.",
textPos = TEN.Vec2(52,47.5),
textOptions = {TEN.Strings.DisplayStringOption.SHADOW},
textScale = 1,
textColor = TEN.Color(255, 255, 255)
},
{
type = "image",
pageIndex = 2,
objectId = TEN.Objects.ObjID.DIARY_ENTRY_SPRITES,
spriteId = 1,
color = TEN.Color(255, 255, 255),
pos = TEN.Vec2(35,47.5),
rot = 0,
scale = TEN.Vec2(40,40),
alignMode = TEN.View.AlignMode.CENTER,
scaleMode = TEN.View.ScaleMode.FIT,
blendMode = TEN.Effects.BlendID.ALPHABLEND
},
{
type = "text",
pageIndex = 2,
text = "You can edit the diary by\nediting the file\nDiarySetup.lua in script\nfolder.",
textPos = TEN.Vec2(52,10),
textOptions = {TEN.Strings.DisplayStringOption.SHADOW},
textScale = 1,
textColor = TEN.Color(128, 255, 128)
},
{
type = "image",
pageIndex = 3,
objectId = TEN.Objects.ObjID.DIARY_ENTRY_SPRITES,
spriteId = 2,
color = TEN.Color(255, 255, 255),
pos = TEN.Vec2(35,47.5),
rot = 0,
scale = TEN.Vec2(30,30),
alignMode = TEN.View.AlignMode.CENTER,
scaleMode = TEN.View.ScaleMode.FIT,
blendMode = TEN.Effects.BlendID.ALPHABLEND
},
{
type = "text",
pageIndex = 3,
text = "You can also use nodes\nto unlock pages.\nAdd additional text or\nimage entries.\nAdd or update narration.",
textPos = TEN.Vec2(52,10),
textOptions = {TEN.Strings.DisplayStringOption.SHADOW},
textScale = 1,
textColor = TEN.Color(128, 255, 128)
},
{
type = "image",
pageIndex = 4,
objectId = TEN.Objects.ObjID.DIARY_ENTRY_SPRITES,
spriteId = 4,
color = TEN.Color(255, 255, 255),
pos = TEN.Vec2(25.5,40),
rot = 0,
scale = TEN.Vec2(15,15),
alignMode = TEN.View.AlignMode.CENTER_BOTTOM,
scaleMode = TEN.View.ScaleMode.FIT,
blendMode = TEN.Effects.BlendID.ALPHABLEND
},
{
type = "image",
pageIndex = 4,
objectId = TEN.Objects.ObjID.DIARY_ENTRY_SPRITES,
spriteId = 5,
color = TEN.Color(255, 255, 255),
pos = TEN.Vec2(41.5,40),
rot = 0,
scale = TEN.Vec2(15,15),
alignMode = TEN.View.AlignMode.CENTER_BOTTOM,
scaleMode = TEN.View.ScaleMode.FIT,
blendMode = TEN.Effects.BlendID.ALPHABLEND
},
{
type = "image",
pageIndex = 4,
objectId = TEN.Objects.ObjID.DIARY_ENTRY_SPRITES,
spriteId = 3,
color = TEN.Color(255, 255, 255),
pos = TEN.Vec2(33.5,80),
rot = 0,
scale = TEN.Vec2(30,30),
alignMode = TEN.View.AlignMode.CENTER_BOTTOM,
scaleMode = TEN.View.ScaleMode.FIT,
blendMode = TEN.Effects.BlendID.ALPHABLEND
},
{
type = "text",
pageIndex = 4,
text = "Funerary Mask",
textPos = TEN.Vec2(25.5,42),
textOptions = {TEN.Strings.DisplayStringOption.CENTER, TEN.Strings.DisplayStringOption.SHADOW},
textScale = 0.3,
textColor = TEN.Color(255, 184, 47)
},
{
type = "text",
pageIndex = 4,
text = "Queen's Bust",
textPos = TEN.Vec2(41.5,42),
textOptions = {TEN.Strings.DisplayStringOption.CENTER, TEN.Strings.DisplayStringOption.SHADOW},
textScale = 0.3,
textColor = TEN.Color(255, 184, 47)
},
{
type = "text",
pageIndex = 4,
text = "Amulet",
textPos = TEN.Vec2(33.5,82),
textOptions = {TEN.Strings.DisplayStringOption.CENTER, TEN.Strings.DisplayStringOption.SHADOW},
textScale = 0.3,
textColor = TEN.Color(255, 184, 47)
},
{
type = "text",
pageIndex = 4,
text = "You can create quite\ncomplex pages.\n\nThis page has 3 images\nand text.\n\nIt also has a narration\nthat can be played\nwith Space.",
textPos = TEN.Vec2(52,10),
textOptions = {TEN.Strings.DisplayStringOption.SHADOW},
textScale = 1,
textColor = TEN.Color(255, 128, 128)
},
{
type = "narration",
pageIndex = 4,
trackName = "027",
},
}

View file

@ -0,0 +1,951 @@
------
-- This module provides functions for creating and managing custom progress bars. It stores bar definitions and configurations in `LevelVars.Engine.CustomBars`, enabling seamless state management.
-- Each bar is independently controlled through its associated functions.
--
-- Example usage:
--
-- local CustomBar = require("Engine.CustomBar")
--
-- -- Create a table with all the bar properties
-- local barData = {
-- barName = "water",
-- startValue = 0,
-- maxValue = 1000,
-- objectIdBg = TEN.Objects.ObjID.CUSTOM_BAR_GRAPHIC,
-- spriteIdBg = 0,
-- colorBg = TEN.Color(255,255,255),
-- posBg = TEN.Vec2(20, 20),
-- rotBg = 0,
-- scaleBg = TEN.Vec2(19.05, 19.1),
-- alignModeBg = TEN.View.AlignMode.CENTER_LEFT,
-- scaleModeBg = TEN.View.ScaleMode.FIT,
-- blendModeBg = TEN.Effects.BlendID.ALPHABLEND,
-- objectIdBar = TEN.Objects.ObjID.CUSTOM_BAR_GRAPHIC,
-- spriteIdBar = 1,
-- colorBar = TEN.Color(255,0,0),
-- posBar = TEN.Vec2(20.15, 20),
-- rot = 0,
-- scaleBar = TEN.Vec2(18.7, 18.48),
-- alignMode = TEN.View.AlignMode.CENTER_LEFT,
-- scaleMode = TEN.View.ScaleMode.FIT,
-- blendMode = TEN.Effects.BlendID.ALPHABLEND,
-- text = "Water Bar",
-- textPos = TEN.Vec2(20, 15),
-- textOptions = {TEN.Strings.DisplayStringOption.SHADOW,TEN.Strings.DisplayStringOption.CENTER},
-- textScale = 1,
-- textColor = TEN.Color(255,0,0),
-- hideText = false,
-- alphaBlendSpeed = 50,
-- blink = false,
-- blinkLimit = 0.25
-- }
--
-- -- This function creates the bar.
-- CustomBar.Create(barData)
--
-- -- This method gets the bar with name "water" and stores it in variable bar.
-- local bar = CustomBar.Get("water")
-- -- This method displays the bar
-- bar:SetVisibility(true)
-- -- This method sets the bar value to 1000 over 5 seconds.
-- bar:SetBarValue(1000,5)
--
-- @luautil CustomBar
local CustomBar = {}
CustomBar.__index = CustomBar
LevelFuncs.Engine.CustomBar = {}
LevelVars.Engine.CustomBars = {bars = {}, enemiesHpBar = {status = nil}}
---
-- Creates a custom progress bar with extensive configuration options.
-- @tparam table barData The table that contains all the bar data. Refer to table setup for barData.
--
-- @treturn CustomBar The custombar in its hidden state
--
CustomBar.Create = function (barData)
local dataName = barData.barName .. "_bar_data"
local self = {name = dataName}
if LevelVars.Engine.CustomBars.bars[dataName] then
print("Warning: a customBar with name " .. dataName .. " already exists; overwriting it with a new one...")
end
---
-- Table setup for creating custom bar.
-- @table barData
-- @tfield string barName Unique identifier for the bar.
-- @tfield float startValue Initial value of the bar.
-- @tfield float maxValue Maximum value of the bar.
-- @tfield Objects.ObjID objectIdBg Object ID for the bar's background sprite.
-- @tfield number spriteIdBg SpriteID from the specified object for the bar's background.
-- @tfield Color colorBg Color of bar's background.
-- @tfield Vec2 posBg X,Y position of the bar's background in screen percent (0-100).
-- @tfield float rotBg rotation of the bar's background. sprite (0-360).
-- @tfield Vec2 scaleBg X,Y Scaling factor for the bar's background sprite.
-- @tfield View.AlignMode alignModeBg Alignment for the bar's background.
-- @tfield View.ScaleMode scaleModeBg Scaling for the bar's background.
-- @tfield Effects.BlendID blendModeBg Blending modes for the bar's background.
-- @tfield Objects.ObjID objectIdBar Object ID for the bar sprite.
-- @tfield number spriteIdBar SpriteID from the specified object for the bar.
-- @tfield Color colorBar Color of the bar.
-- @tfield Vec2 posBar X,Y position of the bar in screen percent (0-100).
-- @tfield float rot rotation of the bar's sprite (0-360).
-- @tfield Vec2 scaleBar X,Y Scaling factor for the bar's sprite.
-- @tfield View.AlignMode alignMode Alignment for the bar.
-- @tfield View.ScaleMode scaleMode Scaling for the bar.
-- @tfield Effects.BlendID blendMode Blending modes for the bar.
-- @tfield string text Text to display on the bar.
-- @tfield Vec2 textPos X,Y position of the text.
-- @tfield Strings.DisplayStringOption textOptions alignment and effects for the text. Default: None. Please note text is automatically aligned to the LEFT
-- @tfield number textScale Scale factor for the text.
-- @tfield Color textColor Color of the text.
-- @tfield bool hideText Whether to hide the text.
-- @tfield number alphaBlendSpeed Speed of alpha blending for bar visibility (0-255).
-- @tfield bool blink Whether the bar blinks.
-- @tfield number blinkLimit % Limit below which bar starts blinking (0-1).
LevelVars.Engine.CustomBars.bars[dataName] = {}
LevelVars.Engine.CustomBars.bars[dataName].name = dataName
LevelVars.Engine.CustomBars.bars[dataName].fixedInterval = 1/30
LevelVars.Engine.CustomBars.bars[dataName].progress = barData.startValue / barData.maxValue -- Set initial progress from start value
LevelVars.Engine.CustomBars.bars[dataName].objectIdBg = barData.objectIdBg
LevelVars.Engine.CustomBars.bars[dataName].spriteIdBg = barData.spriteIdBg
LevelVars.Engine.CustomBars.bars[dataName].colorBg = barData.colorBg
LevelVars.Engine.CustomBars.bars[dataName].posBg = barData.posBg
LevelVars.Engine.CustomBars.bars[dataName].scaleBg = barData.scaleBg
LevelVars.Engine.CustomBars.bars[dataName].rotBg = barData.rotBg
LevelVars.Engine.CustomBars.bars[dataName].alignModeBg = barData.alignModeBg
LevelVars.Engine.CustomBars.bars[dataName].scaleModeBg = barData.scaleModeBg
LevelVars.Engine.CustomBars.bars[dataName].blendModeBg = barData.blendModeBg
LevelVars.Engine.CustomBars.bars[dataName].objectIdBar = barData.objectIdBar
LevelVars.Engine.CustomBars.bars[dataName].spriteIdBar = barData.spriteIdBar
LevelVars.Engine.CustomBars.bars[dataName].colorBar = barData.colorBar
LevelVars.Engine.CustomBars.bars[dataName].posBar = barData.posBar
LevelVars.Engine.CustomBars.bars[dataName].scaleBar = barData.scaleBar
LevelVars.Engine.CustomBars.bars[dataName].rot = barData.rot
LevelVars.Engine.CustomBars.bars[dataName].alignMode = barData.alignMode
LevelVars.Engine.CustomBars.bars[dataName].scaleMode = barData.scaleMode
LevelVars.Engine.CustomBars.bars[dataName].blendMode = barData.blendMode
LevelVars.Engine.CustomBars.bars[dataName].oldValue = barData.startValue -- stores the current bar value
LevelVars.Engine.CustomBars.bars[dataName].targetValue = barData.startValue -- target value to reach
LevelVars.Engine.CustomBars.bars[dataName].maxValue = barData.maxValue
LevelVars.Engine.CustomBars.bars[dataName].text = barData.text
LevelVars.Engine.CustomBars.bars[dataName].textPos = barData.textPos
LevelVars.Engine.CustomBars.bars[dataName].textOptions = barData.textOptions
LevelVars.Engine.CustomBars.bars[dataName].textScale = barData.textScale
LevelVars.Engine.CustomBars.bars[dataName].textColor = barData.textColor
LevelVars.Engine.CustomBars.bars[dataName].hideText = barData.hideText -- required to hide bar text
LevelVars.Engine.CustomBars.bars[dataName].visible = false
LevelVars.Engine.CustomBars.bars[dataName].currentAlpha = 0
LevelVars.Engine.CustomBars.bars[dataName].targetAlpha = 0
LevelVars.Engine.CustomBars.bars[dataName].alphaBlendSpeed = barData.alphaBlendSpeed
LevelVars.Engine.CustomBars.bars[dataName].blink = barData.blink
LevelVars.Engine.CustomBars.bars[dataName].blinkLimit = barData.blinkLimit
LevelVars.Engine.CustomBars.bars[dataName].blinkSpeed = 8
LevelVars.Engine.CustomBars.bars[dataName].showBar = nil --required to hide bar when enemy is not targeted
LevelVars.Engine.CustomBars.bars[dataName].object = nil
LevelVars.Engine.CustomBars.bars[dataName].getActionType = nil
LevelVars.Engine.CustomBars.bars[dataName].currentTimer = 0
return setmetatable(self, CustomBar)
end
---
-- Creates a bar tied to Players's attributes (Health, Air, Stamina).
-- @tparam table playerBarData The table that contains all the player bar data. Refer to table setup for playerBarData.
-- @treturn CustomBar Player attribute bar.
CustomBar.CreatePlayerBar = function (playerBarData)
local barName = "Player" .. playerBarData.getActionType
local dataName = barName .. "_bar_data"
if playerBarData.getActionType >= 1 and playerBarData.getActionType <= 3 then
local startValue = playerBarData.getActionType == 1 and Lara:GetHP() or
(playerBarData.getActionType == 2 and Lara:GetAir() or
(playerBarData.getActionType == 3 and Lara:GetStamina()))
local maxValue = playerBarData.getActionType == 1 and 1000 or (playerBarData.getActionType == 2 and 1800 or (playerBarData.getActionType == 3 and 120))
---
-- Table setup for creating custom player attribute bar.
-- @table playerBarData
-- @tfield number getActionType Determines the bar type: 1: Health, 2: Air, 3: Stamina.
-- @tfield Objects.ObjID objectIdBg Object ID for the bar's background sprite.
-- @tfield number spriteIdBg SpriteID from the specified object for the bar's background.
-- @tfield Color colorBg Color of bar's background.
-- @tfield Vec2 posBg X,Y position of the bar's background in screen percent (0-100).
-- @tfield number rotBg rotation of the bar's background. sprite (0-360).
-- @tfield Vec2 scaleBg X,Y Scaling factor for the bar's background sprite.
-- @tfield View.AlignMode alignModeBg Alignment for the bar's background.
-- @tfield View.ScaleMode scaleModeBg Scaling for the bar's background.
-- @tfield Effects.BlendID blendModeBg Blending modes for the bar's background.
-- @tfield Objects.ObjID objectIdBar Object ID for the bar sprite.
-- @tfield number spriteIdBar SpriteID from the specified object for the bar.
-- @tfield Color colorBar Color of the bar.
-- @tfield Vec2 posBar X,Y position of the bar in screen percent (0-100).
-- @tfield number rot rotation of the bar's sprite (0-360).
-- @tfield Vec2 scaleBar X,Y Scaling factor for the bar's sprite.
-- @tfield View.AlignMode alignMode Alignment for the bar.
-- @tfield View.ScaleMode scaleMode Scaling for the bar.
-- @tfield Effects.BlendID blendMode Blending modes for the bar.
-- @tfield number alphaBlendSpeed Speed of alpha blending for bar visibility (0-255).
-- @tfield bool showBar Option to always show the bar. If set to false, the bars will automatically hide when they stop updating.
-- @tfield bool blink Whether the bar blinks.
-- @tfield number blinkLimit % Limit below which bar starts blinking (0-1).
local playerBar = {
barName = barName,
startValue = startValue,
maxValue = maxValue,
objectIdBg = playerBarData.objectIdBg,
spriteIdBg = playerBarData.spriteIdBg,
colorBg = playerBarData.colorBg,
posBg = playerBarData.posBg,
rotBg = playerBarData.rotBg,
scaleBg = playerBarData.scaleBg,
alignModeBg = playerBarData.alignModeBg,
scaleModeBg = playerBarData.scaleModeBg,
blendModeBg = playerBarData.blendModeBg,
objectIdBar = playerBarData.objectIdBar,
spriteIdBar = playerBarData.spriteIdBar,
colorBar = playerBarData.colorBar,
posBar = playerBarData.posBar,
rot = playerBarData.rot,
scaleBar = playerBarData.scaleBar,
alignMode = playerBarData.alignMode,
scaleMode = playerBarData.scaleMode,
blendMode = playerBarData.blendMode,
text = "BLANK",
textPos = TEN.Vec2(0,0),
textOptions = {},
textScale = 0,
textColor = TEN.Color(0,0,0),
hideText = true,
alphaBlendSpeed = playerBarData.alphaBlendSpeed,
blink = playerBarData.blink,
blinkLimit = playerBarData.blinkLimit,
}
CustomBar.Create(playerBar)
end
LevelVars.Engine.CustomBars.bars[dataName].getActionType = playerBarData.getActionType
LevelVars.Engine.CustomBars.bars[dataName].showBar = playerBarData.showBar
LevelVars.Engine.CustomBars.bars[dataName].visible = true
LevelVars.Engine.CustomBars.bars[dataName].targetAlpha = 255
end
---
-- Creates a custom health bar for a specific enemy (like a boss). Ensure this function is called before Lara aims at the enemy if using generic enemy HP bars as well.
-- Also be sure to call this function after increasing the HP of the enemy via LUA.
-- @tparam table enemyBarData The table that contains all the enemy bar data. Refer to table setup for enemyBarData.
-- @treturn CustomBar Enemy health bar.
CustomBar.CreateEnemyHpBar = function (enemyBarData)
local dataName = enemyBarData.barName .. "_bar_data"
local enemyHP = TEN.Objects.GetMoveableByName(enemyBarData.object):GetHP()
---
-- Table setup for creating a specific enemy health bar.
-- @table enemyBarData
-- @tfield string barName Unique identifier for the bar.
-- @tfield Objects.ObjID objectIdBg Object ID for the bar's background sprite.
-- @tfield number spriteIdBg SpriteID from the specified object for the bar's background.
-- @tfield Color colorBg Color of bar's background.
-- @tfield Vec2 posBg X,Y position of the bar's background in screen percent (0-100).
-- @tfield number rotBg rotation of the bar's background. sprite (0-360).
-- @tfield Vec2 scaleBg X,Y Scaling factor for the bar's background sprite.
-- @tfield View.AlignMode alignModeBg Alignment for the bar's background.
-- @tfield View.ScaleMode scaleModeBg Scaling for the bar's background.
-- @tfield Effects.BlendID blendModeBg Blending modes for the bar's background.
-- @tfield Objects.ObjID objectIdBar Object ID for the bar sprite.
-- @tfield number spriteIdBar SpriteID from the specified object for the bar.
-- @tfield Color colorBar Color of the bar.
-- @tfield Vec2 posBar X,Y position of the bar in screen percent (0-100).
-- @tfield number rot rotation of the bar's sprite (0-360).
-- @tfield Vec2 scaleBar X,Y Scaling factor for the bar's sprite.
-- @tfield View.AlignMode alignMode Alignment for the bar.
-- @tfield View.ScaleMode scaleMode Scaling for the bar.
-- @tfield Effects.BlendID blendMode Blending modes for the bar.
-- @tfield string text Text to display for the enemy.
-- @tfield Vec2 textPos X,Y position of the text.
-- @tfield Strings.DisplayStringOption textOptions alignment and effects for the text. Default: None. Please note text is automatically aligned to the LEFT
-- @tfield number textScale Scale factor for the text.
-- @tfield Color textColor Color of the text.
-- @tfield bool hideText Whether to hide the text.
-- @tfield number alphaBlendSpeed Speed of alpha blending for bar visibility (0-255).
-- @tfield string object Enemy name set in Editor for which to create HP for.
-- @tfield bool showBar Option to always show the bar whether the enemy is current target or not. Useful for boss health bars.
-- @tfield bool blink Whether the bar blinks.
-- @tfield number blinkLimit %Limit below which bar starts blinking (0-1).
local enemyBar = {
barName = enemyBarData.barName,
startValue = enemyHP,
maxValue = enemyHP,
objectIdBg = enemyBarData.objectIdBg,
spriteIdBg = enemyBarData.spriteIdBg,
colorBg = enemyBarData.colorBg,
posBg = enemyBarData.posBg,
rotBg = enemyBarData.rotBg,
scaleBg = enemyBarData.scaleBg,
alignModeBg = enemyBarData.alignModeBg,
scaleModeBg = enemyBarData.scaleModeBg,
blendModeBg = enemyBarData.blendModeBg,
objectIdBar = enemyBarData.objectIdBar,
spriteIdBar = enemyBarData.spriteIdBar,
colorBar = enemyBarData.colorBar,
posBar = enemyBarData.posBar,
rot = enemyBarData.rot,
scaleBar = enemyBarData.scaleBar,
alignMode = enemyBarData.alignMode,
scaleMode = enemyBarData.scaleMode,
blendMode = enemyBarData.blendMode,
text = enemyBarData.text,
textPos = enemyBarData.textPos,
textOptions = enemyBarData.textOptions,
textScale = enemyBarData.textScale,
textColor = enemyBarData.textColor,
hideText = enemyBarData.hideText,
alphaBlendSpeed = enemyBarData.alphaBlendSpeed,
blink = enemyBarData.blink,
blinkLimit = enemyBarData.blinkLimit
}
CustomBar.Create(enemyBar)
LevelVars.Engine.CustomBars.bars[dataName].showBar = enemyBarData.showBar
LevelVars.Engine.CustomBars.bars[dataName].object = enemyBarData.object
LevelVars.Engine.CustomBars.bars[dataName].getActionType = 0
LevelVars.Engine.CustomBars.bars[dataName].visible = true
LevelVars.Engine.CustomBars.bars[dataName].fixedInterval = 1/3
LevelVars.Engine.CustomBars.bars[dataName].currentAlpha = 0
LevelVars.Engine.CustomBars.bars[dataName].targetAlpha = 255
end
---
-- Creates health bars for all enemies. A new bar is generated whenever Lara targets an enemy. If the "hide text" option is disabled, the enemy's name (as set in the editor) is displayed.
-- Multiple enemies can share the same name by appending _number to the name in the editor. If adjusting an enemy's max HP, ensure this is done before Lara targets the enemy.
-- To create health bars for specific enemies, use CustomBar.CreateEnemyHpBar, ensuring the bar is created prior to targeting.
-- @tparam table enemiesBarData The table that contains all the enemies bar data. Refer to table setup for enemiesBarData.
-- @treturn CustomBar Enemy health bars.
CustomBar.SetEnemiesHpGenericBar = function (enemiesBarData)
if LevelVars.Engine.CustomBars.enemiesHpBar.objectIdBg then
print("Warning: Overwriting enemy HP bar definitions")
end
---
-- Table setup for creating health bars for all enemies.
-- @table enemiesBarData
-- @tfield Objects.ObjID objectIdBg Object ID for the bar's background sprite.
-- @tfield number spriteIdBg SpriteID from the specified object for the bar's background.
-- @tfield Color colorBg Color of bar's background.
-- @tfield Vec2 posBg X,Y position of the bar's background in screen percent (0-100).
-- @tfield number rotBg rotation of the bar's background. sprite (0-360).
-- @tfield Vec2 scaleBg X,Y Scaling factor for the bar's background sprite.
-- @tfield View.AlignMode alignModeBg Alignment for the bar's background.
-- @tfield View.ScaleMode scaleModeBg Scaling for the bar's background.
-- @tfield Effects.BlendID blendModeBg Blending modes for the bar's background.
-- @tfield Objects.ObjID objectIdBar Object ID for the bar sprite.
-- @tfield number spriteIdBar SpriteID from the specified object for the bar.
-- @tfield Color colorBar Color of the bar.
-- @tfield Vec2 posBar X,Y position of the bar in screen percent (0-100).
-- @tfield number rot rotation of the bar's sprite (0-360).
-- @tfield Vec2 scaleBar X,Y Scaling factor for the bar's sprite.
-- @tfield View.AlignMode alignMode Alignment for the bar.
-- @tfield View.ScaleMode scaleMode Scaling for the bar.
-- @tfield Effects.BlendID blendMode Blending modes for the bar.
-- @tfield number textPos X position of the text.
-- @tfield Strings.DisplayStringOption textOptions alignment and effects for the text. Default: None. Please note text is automatically aligned to the LEFT
-- @tfield number textScale Scale factor for the text.
-- @tfield Color textColor Color of the text.
-- @tfield bool hideText Whether to hide the enemy name text.
-- @tfield number alphaBlendSpeed Speed of alpha blending for bar visibility (0-255).
-- @tfield bool blink Whether the bar blinks.
-- @tfield number blinkLimit %Limit below which bar starts blinking (0-1).
LevelVars.Engine.CustomBars.enemiesHpBar.objectIdBg = enemiesBarData.objectIdBg
LevelVars.Engine.CustomBars.enemiesHpBar.spriteIdBg = enemiesBarData.spriteIdBg
LevelVars.Engine.CustomBars.enemiesHpBar.colorBg = enemiesBarData.colorBg
LevelVars.Engine.CustomBars.enemiesHpBar.posBg = enemiesBarData.posBg
LevelVars.Engine.CustomBars.enemiesHpBar.scaleBg = enemiesBarData.scaleBg
LevelVars.Engine.CustomBars.enemiesHpBar.rotBg = enemiesBarData.rotBg
LevelVars.Engine.CustomBars.enemiesHpBar.alignModeBg = enemiesBarData.alignModeBg
LevelVars.Engine.CustomBars.enemiesHpBar.scaleModeBg = enemiesBarData.scaleModeBg
LevelVars.Engine.CustomBars.enemiesHpBar.blendModeBg = enemiesBarData.blendModeBg
LevelVars.Engine.CustomBars.enemiesHpBar.objectIdBar = enemiesBarData.objectIdBar
LevelVars.Engine.CustomBars.enemiesHpBar.spriteIdBar = enemiesBarData.spriteIdBar
LevelVars.Engine.CustomBars.enemiesHpBar.colorBar = enemiesBarData.colorBar
LevelVars.Engine.CustomBars.enemiesHpBar.posBar = enemiesBarData.posBar
LevelVars.Engine.CustomBars.enemiesHpBar.scaleBar = enemiesBarData.scaleBar
LevelVars.Engine.CustomBars.enemiesHpBar.rot = enemiesBarData.rot
LevelVars.Engine.CustomBars.enemiesHpBar.alignMode = enemiesBarData.alignMode
LevelVars.Engine.CustomBars.enemiesHpBar.scaleMode = enemiesBarData.scaleMode
LevelVars.Engine.CustomBars.enemiesHpBar.blendMode = enemiesBarData.blendMode
LevelVars.Engine.CustomBars.enemiesHpBar.textPos = enemiesBarData.textPos
LevelVars.Engine.CustomBars.enemiesHpBar.textOptions = enemiesBarData.textOptions
LevelVars.Engine.CustomBars.enemiesHpBar.textScale = enemiesBarData.textScale
LevelVars.Engine.CustomBars.enemiesHpBar.textColor = enemiesBarData.textColor
LevelVars.Engine.CustomBars.enemiesHpBar.hideText = enemiesBarData.hideText
LevelVars.Engine.CustomBars.enemiesHpBar.alphaBlendSpeed = enemiesBarData.alphaBlendSpeed
LevelVars.Engine.CustomBars.enemiesHpBar.blink = enemiesBarData.blink
LevelVars.Engine.CustomBars.enemiesHpBar.blinkLimit = enemiesBarData.blinkLimit
LevelVars.Engine.CustomBars.enemiesHpBar.status = true
end
--- The function retrieves an existing bar instance by its unique identifier (barName). This function is useful when you need to access or manipulate a bar that has already been created.
-- @string barName The unique identifier assigned to the bar when it was created using CustomBar.New
CustomBar.Get = function(barName)
local dataName = barName .. "_bar_data"
if LevelVars.Engine.CustomBars.bars[dataName] then
local self = {name = dataName}
return setmetatable(self, CustomBar)
end
end
--- The function removes a custom bar and its associated data from the system. It ensures that the bar is no longer tracked or accessible in the LevelVars.Engine.CustomBars.bars table.
-- @string barName The name of the custom bar to be deleted.
CustomBar.Delete = function (barName)
local dataName = barName .. "_bar_data"
if LevelVars.Engine.CustomBars.bars[dataName] then
LevelVars.Engine.CustomBars.bars[dataName] = nil
end
end
--- The function sets the value of a custom bar over a specified time period.
-- @number value The new target to which the bar's current value should transition. (Must be a non-negative number; between 0 and the bar's maxValue.
-- @number time The time (in seconds) over which the bar's value should transition to the target value.
function CustomBar:SetBarValue(value, time)
if LevelVars.Engine.CustomBars.bars[self.name] then
if type(value) =="number" and value >= 0 then
local currentValue = LevelVars.Engine.CustomBars.bars[self.name].oldValue
local maxValue = LevelVars.Engine.CustomBars.bars[self.name].maxValue
local newTargetValue = math.max(0, math.min(maxValue, value))
LevelVars.Engine.CustomBars.bars[self.name].targetValue = newTargetValue
LevelVars.Engine.CustomBars.bars[self.name].fixedInterval = (newTargetValue - currentValue) / (time * 30)
end
end
end
--- The function adjusts the bar's value relative to its current or target value over a specified time span.
-- @number value The relative value to add (positive or negative) to the current bar value.
-- @number time The duration (in seconds) over which the change should occur.
function CustomBar:ChangeBarValueOverTimespan(value, time)
-- Check if bar data and timer exist
if LevelVars.Engine.CustomBars.bars[self.name] then
-- Get the current target value or old value if no target value exists
local currentValue = LevelVars.Engine.CustomBars.bars[self.name].oldValue
local maxValue = LevelVars.Engine.CustomBars.bars[self.name].maxValue
local currentTarget = LevelVars.Engine.CustomBars.bars[self.name].targetValue or currentValue
-- Calculate new target value by adding the relative 'value' and clamp between 0 and 1000
local newTargetValue = math.max(0, math.min(maxValue, currentTarget + value))
-- Set the new target value
LevelVars.Engine.CustomBars.bars[self.name].targetValue = newTargetValue
-- Calculate total frames based on time and FPS (30 FPS)
local totalFrames = time * 30
-- Calculate the fixed interval for the entire transition
LevelVars.Engine.CustomBars.bars[self.name].fixedInterval = (newTargetValue - currentValue) / totalFrames
end
end
--- The function controls the visibility of a custom bar.
-- @bool visible true: Makes the bar visible.; false: Hides the bar.
function CustomBar:SetVisibility(visible)
--the visible variable is a boolean
if LevelVars.Engine.CustomBars.bars[self.name] then
if visible and type(visible) == "boolean" then
LevelVars.Engine.CustomBars.bars[self.name].targetAlpha = 255
LevelVars.Engine.CustomBars.bars[self.name].visible = true
else
LevelVars.Engine.CustomBars.bars[self.name].targetAlpha = 0
end
end
end
--- The function checks whether a custom bar is currently visible.
-- @treturn bool true if the bar is visible and false if it is not.
function CustomBar:IsVisible()
if LevelVars.Engine.CustomBars.bars[self.name] then
if LevelVars.Engine.CustomBars.bars[self.name].visible then
return true
else
return false
end
end
end
--- The function retrieves the current value of a custom bar.
-- @treturn float returns the current value of a custom bar.
function CustomBar:GetValue()
if LevelVars.Engine.CustomBars.bars[self.name] then
return LevelVars.Engine.CustomBars.bars[self.name].oldValue
end
end
--- The function deletes all custom bars.
CustomBar.DeleteAllBars = function ()
for _, customBar in pairs (LevelVars.Engine.CustomBars.bars) do
LevelVars.Engine.CustomBars.bars[customBar.name] = nil
end
end
--- This function prevents the creation of new health bars for enemies when set to false. However, it does not affect the health bars that have already been created.
-- @bool value Specifies whether new health bars for enemies should be created.
CustomBar.ShowEnemiesHpGenericBar = function(value)
if type(value) == "boolean" then
LevelVars.Engine.CustomBars.enemiesHpBar.status = value
end
end
--- The function deletes all the enemy health bars excluding those created by CustomBar.CreateEnemyHpBar.
CustomBar.DeleteExistingHpGenericBars = function ()
for _, customBar in pairs (LevelVars.Engine.CustomBars.bars) do
if customBar.getActionType == 4 then
LevelVars.Engine.CustomBars.bars[customBar.name] = nil
end
end
end
--- Sets the custom bar background sprite position.
-- @tparam Vec2 pos X,Y position of the bar's background in screen percent (0-100).
--
function CustomBar:SetBackgroundPosition(pos)
if pos and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].posBg = pos
end
end
--- Sets the custom bar background sprite rotation.
-- @tparam number rot rotation of the bar's background. sprite (0-360).
--
function CustomBar:SetBackgroundRotation(rot)
if rot and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].rotBg = rot
end
end
-- Sets the custom bar background sprite color.
-- @tparam Color color Color of bar's background.
--
function CustomBar:SetBackgroundColor(color)
if color and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].colorBg = color
end
end
---
-- Sets the custom bar background sprite scale.
-- @tparam Vec2 scale X,Y Scaling factor for the bar's background sprite.
--
function CustomBar:SetBackgroundScale(scale)
if scale and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].scaleBg = scale
end
end
---
-- Sets the custom bar background sprite slot and sprite ID.
-- @tparam Objects.ObjID slot Object ID for the bar's background sprite.
-- @tparam number id SpriteID from the specified object for the bar's background.
--
function CustomBar:SetBackgroundSpriteSlot(slot, id)
if slot and id and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].objectIdBg = slot
LevelVars.Engine.CustomBars.bars[self.name].spriteIdBg = id
end
end
---
-- Sets the custom bar background sprite align mode.
-- @tparam View.AlignMode alignMode Alignment for the bar's background.
--
function CustomBar:SetBackgroundAlignMode(alignMode)
if alignMode and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].alignModeBg = alignMode
end
end
---
-- Sets the custom bar background sprite scale mode.
-- @tparam View.ScaleMode scaleMode Scaling for the bar's background.
--
function CustomBar:SetBackgroundScaleMode(scaleMode)
if scaleMode and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].scaleModeBg = scaleMode
end
end
---
-- Sets the custom bar background sprite blend mode.
-- @tparam Effects.BlendID blendMode Blending modes for the bar's background.
--
function CustomBar:SetBackgroundBlendMode(blendMode)
if blendMode and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].blendModeBg = blendMode
end
end
---
-- Sets the custom bar sprite position.
-- @tparam Vec2 pos X,Y position of the bar in screen percent (0-100).
--
function CustomBar:SetBarPosition(pos)
if pos and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].posBar = pos
end
end
---
-- Sets the custom bar sprite rotation.
-- @tparam number rot rotation of the bar's sprite (0-360).
--
function CustomBar:SetBarRotation(rot)
if rot and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].rot = rot
end
end
---
-- Sets the custom bar sprite color.
-- @tparam Color color Color of the bar.
--
function CustomBar:SetBarColor(color)
if color and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].colorBar = color
end
end
---
-- Sets the custom bar sprite scale.
-- @tparam Vec2 scale X,Y Scaling factor for the bar's sprite.
--
function CustomBar:SetBarScale(scale)
if scale and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].scaleBar = scale
end
end
---
-- Sets the custom bar sprite slot and sprite ID.
-- @tparam Objects.ObjID slot Object ID for the bar sprite.
-- @tparam number id SpriteID from the specified object for the bar.
--
function CustomBar:SetBarSpriteSlot(slot, id)
if slot and id and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].objectIdBar = slot
LevelVars.Engine.CustomBars.bars[self.name].spriteIdBar = id
end
end
---
-- Sets the custom bar sprite alignment mode.
-- @tparam View.AlignMode alignMode Alignment for the bar.
--
function CustomBar:SetBarAlignMode(alignMode)
if alignMode and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].alignMode = alignMode
end
end
---
-- Sets the custom bar sprite scale mode.
-- @tparam View.ScaleMode scaleMode Scaling for the bar.
--
function CustomBar:SetBarScaleMode(scaleMode)
if scaleMode and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].scaleMode = scaleMode
end
end
---
-- Sets the custom bar sprite blend mode.
-- @tparam Effects.BlendID blendMode Blending modes for the bar.
--
function CustomBar:SetBarBlendMode(blendMode)
if blendMode and LevelVars.Engine.CustomBars.bars[self.name] then
LevelVars.Engine.CustomBars.bars[self.name].blendMode = blendMode
end
end
LevelFuncs.Engine.CustomBar.UpdateCustomBars = function()
local playerTarget = Lara:GetTarget()
if playerTarget ~= nil and LevelVars.Engine.CustomBars.enemiesHpBar.status then
local playerTargetName = playerTarget:GetName()
local displayName = LevelFuncs.Engine.Node.SplitString(playerTargetName, "_")
local enemytable = playerTargetName .. "_bar_data"
if LevelVars.Engine.CustomBars.bars[enemytable] == nil then
local eB = LevelVars.Engine.CustomBars.enemiesHpBar
local enemyBar = {
barName = playerTargetName,
objectIdBg = eB.objectIdBg,
spriteIdBg = eB.spriteIdBg,
colorBg = eB.colorBg,
posBg = eB.posBg,
rotBg = eB.rotBg,
scaleBg = eB.scaleBg,
alignModeBg = eB.alignModeBg,
scaleModeBg = eB.scaleModeBg,
blendModeBg = eB.blendModeBg,
objectIdBar = eB.objectIdBar,
spriteIdBar = eB.spriteIdBar,
colorBar = eB.colorBar,
posBar = eB.posBar,
rot = eB.rot,
scaleBar = eB.scaleBar,
alignMode = eB.alignMode,
scaleMode = eB.scaleMode,
blendMode = eB.blendMode,
text = displayName[1],
textPos = eB.textPos,
textOptions = eB.textOptions,
textScale = eB.textScale,
textColor = eB.textColor,
hideText = eB.hideText,
alphaBlendSpeed = eB.alphaBlendSpeed,
blink = eB.blink,
blinkLimit = eB.blinkLimit,
showBar = false,
object = playerTargetName
}
CustomBar.CreateEnemyHpBar(enemyBar)
LevelVars.Engine.CustomBars.bars[enemytable].getActionType = 4
end
end
for _, customBar in pairs (LevelVars.Engine.CustomBars.bars) do
if customBar ~= nil then
-- Smoothly transition to target value
local currentValue = customBar.oldValue or 0
local targetValue = customBar.targetValue or 0
local delta = customBar.fixedInterval
if customBar.object ~=nil and (customBar.getActionType == 0 or customBar.getActionType == 4) then
local enemy = GetMoveableByName(customBar.object)
currentValue = enemy:GetHP()
targetValue = currentValue
customBar.progress = math.max(0, math.min(currentValue / customBar.maxValue, 1))
if customBar.showBar == true then
-- If showBar is true, the bar is always visible at full alpha
customBar.targetAlpha = 255
customBar.visible = true
else
-- If showBar is false, only show the bar if the enemy is the player's current target
if playerTarget == enemy then
customBar.targetAlpha = 255 -- Set to full alpha if this enemy is the target
customBar.visible = true
else
customBar.targetAlpha = 0 -- Set to 0 alpha if this enemy is not the target
end
end
if currentValue <= 0 then
customBar.targetAlpha = 0
end
-- When Alpha reaches 0 set visibility to false
if currentValue <= 0 and customBar.currentAlpha == 0 then
customBar.visible = false
LevelVars.Engine.CustomBars.bars[customBar.name] = nil
end
end
if customBar.getActionType == 1 then
currentValue = Lara:GetHP()
targetValue = currentValue
customBar.progress = math.max(0, math.min(currentValue / customBar.maxValue, 1))
-- Check if `hideBar` is true, which overrides all other behaviors
if customBar.showBar == true then
customBar.targetAlpha = 255 -- Bar is always visible
customBar.visible = true
elseif currentValue ~= (customBar.oldValue or currentValue) then
customBar.targetAlpha = 255 -- Show the bar if value changes
customBar.visible = true
customBar.currentTimer = customBar.currentTimer + 1
if customBar.currentTimer >= 90 then
customBar.oldValue = currentValue
customBar.currentTimer = 0
end
elseif Lara:GetHandStatus() == 0 and currentValue >= customBar.blinkLimit*1000 then
-- Hide bar if hands are free and HP is 200 or more
customBar.targetAlpha = 0
customBar.visible = false
elseif Lara:GetHandStatus() == 2 or Lara:GetHandStatus() == 3 or Lara:GetHandStatus() == 4 then
-- Show bar if hand status is 2, 3, or 4 (weapon drawn)
customBar.targetAlpha = 255
customBar.visible = true
elseif Lara:GetHandStatus() == 0 and currentValue < customBar.blinkLimit*1000 then
-- Show bar if hands are free and HP is less than 200
customBar.targetAlpha = 255
customBar.visible = true
end
elseif customBar.getActionType == 2 then
currentValue = Lara:GetAir()
targetValue = currentValue
customBar.progress = math.max(0, math.min(currentValue / customBar.maxValue, 1))
if customBar.showBar == true then
-- If showBar is true, the bar is always visible
customBar.targetAlpha = 255
customBar.visible = true
else
-- If showBar is false, hide the bar when currentValue is at max
if currentValue == customBar.maxValue then
customBar.targetAlpha = 0 -- Hide the bar when at max value
else
customBar.targetAlpha = 255 -- Show the bar if currentValue is not max
customBar.visible = true
end
end
elseif customBar.getActionType == 3 then
currentValue = Lara:GetStamina()
targetValue = currentValue
customBar.progress = math.max(0, math.min(currentValue / customBar.maxValue, 1))
if customBar.showBar == true then
-- If showBar is true, the bar is always visible
customBar.targetAlpha = 255
customBar.visible = true
else
-- If showBar is false, hide the bar when currentValue is at max
if currentValue == customBar.maxValue then
customBar.targetAlpha = 0 -- Hide the bar when at max value
else
customBar.targetAlpha = 255 -- Show the bar if currentValue is not max
customBar.visible = true
end
end
end
if currentValue ~= targetValue then
-- Update current value by delta (increment or decrement)
if currentValue < targetValue then
currentValue = math.min(currentValue + delta, targetValue)
else
currentValue = math.max(currentValue + delta, targetValue)
end
-- Update the bar's progress (0-1 scale)
customBar.oldValue = currentValue
customBar.progress = currentValue / customBar.maxValue
end
-- Smoothly transition alpha
if customBar.currentAlpha ~= customBar.targetAlpha then
local alphaDelta = customBar.alphaBlendSpeed
if customBar.currentAlpha < customBar.targetAlpha then
customBar.currentAlpha = math.floor(math.min(customBar.currentAlpha + alphaDelta, customBar.targetAlpha))
else
customBar.currentAlpha = math.floor(math.max(customBar.currentAlpha - alphaDelta, customBar.targetAlpha))
end
end
-- Set parameters to draw the background
local posBg = customBar.posBg
local scaleBg = customBar.scaleBg
local rotBg = customBar.rotBg
local alignMBg = LevelFuncs.Engine.Node.GetDisplaySpriteAlignMode(customBar.alignModeBg)
local scaleMBg = LevelFuncs.Engine.Node.GetDisplaySpriteScaleMode(customBar.scaleModeBg)
local blendIdBg = LevelFuncs.Engine.Node.GetBlendMode(customBar.blendModeBg)
-- Adjust color with alpha blending
local bgColor = Color(customBar.colorBg.r,customBar.colorBg.g,customBar.colorBg.b,customBar.currentAlpha)
-- Set parameters to draw the bar
local pos = customBar.posBar
local rot = customBar.rot
local alignM = LevelFuncs.Engine.Node.GetDisplaySpriteAlignMode(customBar.alignMode)
local scaleM = LevelFuncs.Engine.Node.GetDisplaySpriteScaleMode(customBar.scaleMode)
local blendID = LevelFuncs.Engine.Node.GetBlendMode(customBar.blendMode)
local barColor = TEN.Color(customBar.colorBar.r,customBar.colorBar.g,customBar.colorBar.b,customBar.currentAlpha)
-- when Alpha reaches 0 set visibility to false
if customBar.currentAlpha > 0 then
customBar.visible = true
elseif customBar.currentAlpha == 0 then
customBar.visible = false
end
--draw bar if alpha is greater than 1 and visibility is true
if customBar.visible and customBar.currentAlpha > 0 then
-- Draw background sprite
local bgSprite = TEN.DisplaySprite(customBar.objectIdBg, customBar.spriteIdBg, posBg, rotBg, scaleBg, bgColor)
bgSprite:Draw(0, alignMBg, scaleMBg, blendIdBg)
-- Draw foreground sprite (the bar itself) proportional to Progress
local barScale = TEN.Vec2(customBar.scaleBar.x * customBar.progress, customBar.scaleBar.y)
local barSprite = TEN.DisplaySprite(customBar.objectIdBar, customBar.spriteIdBar, pos, rot, barScale, barColor)
if customBar.frameCounter == nil then
customBar.frameCounter = 0
end
-- Calculate HP percentage
local Percentage = (currentValue / customBar.maxValue)
-- Update frame counter
customBar.frameCounter = customBar.frameCounter + 1
-- Check if blink is enabled and value is below blinkLimit
if customBar.blink == true and Percentage <= customBar.blinkLimit then
-- Only draw the sprite every other frame
if customBar.frameCounter % (customBar.blinkSpeed * 2) < customBar.blinkSpeed then
barSprite:Draw(1, alignM, scaleM, blendID)
end
else
-- Draw the sprite normally if blink is off or value is above blinkLimit
barSprite:Draw(1, alignM, scaleM, blendID)
end
-- Reset the frame counter if it reaches the blinkSpeed limit to prevent overflow
if customBar.frameCounter >= customBar.blinkSpeed * 2 then
customBar.frameCounter = 0
end
if customBar.hideText == false then
-- Draw text (enemy name and health)
local barText = tostring(customBar.text) --debug text .. " (" .. currentHP .. " / " .. totalHP .. ")"
local textColor = TEN.Color(customBar.textColor.r, customBar.textColor.g, customBar.textColor.b, customBar.currentAlpha)
local posInPixel = TEN.Vec2(TEN.Util.PercentToScreen(customBar.textPos.x, customBar.textPos.y))
local IsString = TEN.Flow.IsStringPresent(barText)
local myText = TEN.Strings.DisplayString(barText, posInPixel, customBar.textScale, textColor, IsString, customBar.textOptions)
TEN.Strings.ShowString(myText, 1/30)
end
end
end
end
end
TEN.Logic.AddCallback(TEN.Logic.CallbackPoint.PRELOOP, LevelFuncs.Engine.CustomBar.UpdateCustomBars)
return CustomBar

File diff suppressed because it is too large Load diff

View file

@ -81,7 +81,7 @@ Timer = {
print("Warning: a timer with name " .. name .. " already exists; overwriting it with a new one...")
end
LevelVars.Engine.Timer.timers[name] ={}
LevelVars.Engine.Timer.timers[name] = {}
local thisTimer = LevelVars.Engine.Timer.timers[name]
thisTimer.name = name
thisTimer.totalTime = totalTime
@ -98,6 +98,14 @@ Timer = {
end
return obj
end;
Delete = function(name)
if LevelVars.Engine.Timer.timers[name] then
LevelVars.Engine.Timer.timers[name] = nil
else
print("Warning: a timer with name " .. name .. " does not exist and can't be deleted.")
end
end;
--- Get a timer by its name.
-- @string name The label that was given to the timer when it was created
@ -194,7 +202,7 @@ Timer = {
str:SetColor(pausedColor)
end
TEN.Strings.ShowString(str, 1)
TEN.Strings.ShowString(str, 1, false)
end
end

211
Scripts/Engine/Type.lua Normal file
View file

@ -0,0 +1,211 @@
-----
--- Type - This molule contains functions that allow to check the data type of a variable. It also contains functions that allow to check if the variable is a TEN primitive class or a LevelFuncs.
--
--
-- To use the functions within the scripts, the module must be called:
-- local Type = require("Engine.Type")
--
--
-- Example usage: check if a variable is of type Vec3()
-- local Type= require("Engine.Type")
--
-- LevelFuncs.SetLaraPos = function (pos)
-- if Type.IsVec3(pos) then
-- Lara:SetPosition(pos)
-- end
-- end
--
--
-- You can use the `not` keyword together with the functions of the Type module.
--
-- Example: checking if variable does not have a null value
-- LevelFuncs.AddProp = function (prop)
-- if not Type.IsNull(prop) then
-- LevelVars.property = prop
-- end
-- end
-- @luautil Type
local color = TEN.Color(0,0,0)
local rotation = TEN.Rotation(0, 0, 0)
local time = TEN.Time()
local vec2 = TEN.Vec2(0,0)
local vec3 = TEN.Vec3(0,0,0)
LevelFuncs.TypeControlLevelFunc = function () end
local Type = {}
--- Check if the variable is a number.
-- @tparam variable variable to be check
-- @treturn boolean *true* if the variable is a number, *false* otherwise
-- @usage
-- --example of use
-- local num = 255
-- if Type.IsNumber(num) then
-- num = num + 1
-- end
Type.IsNumber = function (variable)
return type(variable) == "number"
end
--- Check if the variable is a string.
-- @tparam variable variable to be check
-- @treturn boolean *true* if the variable is a string, *false* otherwise
-- @usage
-- --example of use
-- local str = "Hi"
-- if Type.IsString(str) then
-- TEN.Util.PrintLog(str .. "everyone!", Util.LogLevel.INFO)
-- end
Type.IsString = function (variable)
return type(variable) == "string"
end
--- Check if the variable is a boolean.
-- @tparam variable variable to be check
-- @treturn boolean *true* if the variable is a boolean, *false* otherwise
-- @usage
-- --example of use
-- LevelFuncs.test = function (test)
-- if Type.IsBoolean(test) then
-- LevelVars.test = test
-- else
-- TEN.Util.PrintLog("Error!", Util.LogLevel.ERROR)
-- end
-- end
Type.IsBoolean = function (variable)
return type(variable) == "boolean"
end
--- Check if the variable is a table.
-- @tparam variable variable to be check
-- @treturn boolean *true* if the variable is a table, *false* otherwise
-- @usage
-- --example of use
-- LevelFuncs.PairsTable = function (table)
-- if Type.IsTable(table) then
-- for k, v in pairs(table) do
-- TEN.Util.PrintLog(tostring(k) .. " - " .. tostring(v), Util.LogLevel.INFO)
-- end
-- end
-- end
Type.IsTable = function (variable)
return type(variable) == "table"
end
--- Check if the variable has a null value.
-- @tparam variable variable to be check
-- @treturn boolean *true* if the variable is a null, *false* otherwise
-- @usage
-- --example of use
-- LevelFuncs.AddProp = function (prop)
-- if Type.IsNull(prop) then
-- TEN.Util.PrintLog("Error!", Util.LogLevel.ERROR)
-- else
-- LevelVars.property = prop
-- end
-- end
Type.IsNull = function (variable)
return type(variable) == "nil"
end
--- Check if the variable is a function.
-- @tparam variable variable to be check
-- @treturn boolean *true* if the variable is a function, *false* otherwise
-- @usage
-- --example of use
-- LevelFuncs.RunFunc = function (func)
-- if Type.IsFunction(func) then
-- func()
-- end
-- end
Type.IsFunction = function (variable)
return type(variable) == "function"
end
--- Check if the variable is a @{Color}.
-- @tparam variable variable to be check
-- @treturn boolean *true* if the variable is a Color, *false* otherwise
-- @usage
-- --example of use
-- LevelFuncs.SetColor = function(color)
-- if Type.IsColor(color) then
-- string:SetColor(color)
-- end
-- end
Type.IsColor = function (variable)
return getmetatable(variable) == getmetatable(color)
end
--- Check if the variable is a @{Rotation}.
-- @tparam variable variable to be check
-- @treturn boolean *true* if the variable is a Rotation, *false* otherwise
-- @usage
-- --example of use
-- LevelFuncs.SetRotation = function (rot)
-- if Type.IsRotation(rot) then
-- Lara:SetRotation(rot)
-- end
-- end
Type.IsRotation = function (variable)
return getmetatable(variable) == getmetatable(rotation)
end
--- Check if the variable is a @{Vec2}.
-- @tparam variable variable to be check
-- @treturn boolean *true* if the variable is a Vec2, *false* otherwise
-- @usage
-- --example of use
-- LevelFuncs.SetSpritePos = function (pos)
-- if Type.IsVec2(pos) then
-- sprite:SetPosition(pos)
-- end
-- end
Type.IsVec2 = function (variable)
return getmetatable(variable) == getmetatable(vec2)
end
--- Check if the variable is a @{Vec3}.
-- @tparam variable variable to be check
-- @treturn boolean *true* if the variable is a Vec3, *false* otherwise
-- @usage
-- --example of use
-- LevelFuncs.SetLaraPos = function (pos)
-- if Type.IsVec3(pos) then
-- Lara:SetPosition(pos)
-- end
-- end
Type.IsVec3 = function (variable)
return getmetatable(variable) == getmetatable(vec3)
end
--- Check if the variable is a @{Time} object.
-- @tparam variable variable to be check
-- @treturn boolean *true* if the variable is a Time object, *false* otherwise
-- @usage
-- --example of use
-- LevelFuncs.IncreaseTime = function (time)
-- if Type.IsTime(time) then
-- time + 1
-- end
-- end
Type.IsTime = function (variable)
return getmetatable(variable) == getmetatable(time)
end
--- Check if the variable is a LevelFunc.
-- @tparam variable variable to be check
-- @treturn boolean *true* if the variable is a LevelFunc, *false* otherwise
-- @usage
-- --example of use
-- LevelFuncs.SetCallback = function (func)
-- if Type.IsFunction(func) then
-- TEN.Logic.AddCallback(TEN.Logic.CallbackPoint.PRELOOP, func)
-- end
-- end
Type.IsLevelFunc = function (variable)
return getmetatable(variable) == getmetatable(LevelFuncs.TypeControlLevelFunc)
end
return Type

View file

@ -1,3 +1,4 @@
-- ldignore
local Util = {}
Util.ShortenTENCalls = function()

View file

@ -57,7 +57,7 @@ test = Level.new()
test.nameKey = "level_test"
test.scriptFile = "Scripts\\Levels\\New_Level.lua"
test.ambientTrack = "108"
test.levelFile = "Data\\TestLevel.ten"
test.levelFile = "Data\\Tut1_water.ten"
test.loadScreenFile = "Screens\\rome.jpg"
-- 0 is no weather, 1 is rain, 2 is snow.

View file

@ -4,17 +4,146 @@
local Flow = TEN.Flow
local settings = Flow.Settings.new()
settings.errorMode = Flow.ErrorMode.WARN
Flow.SetSettings(settings)
local anims = Flow.Animations.new()
anims.crawlExtended = true
anims.crouchRoll = true
anims.crawlspaceSwandive = true
anims.monkeyAutoJump = false
anims.overhangClimb = false
anims.slideExtended = false
anims.sprintJump = false
anims.pose = false
anims.ledgeJumps = false
Flow.SetAnimations(anims)
settings.Animations.crouchRoll = true
settings.Animations.crawlspaceSwandive = true
settings.Animations.sprintJump = false
settings.Animations.ledgeJumps = false
settings.Animations.poseTimeout = 0
settings.Camera.binocularLightColor = Color(192, 192, 96)
settings.Camera.lasersightLightColor = Color(255, 0, 0)
settings.Camera.objectCollision = true
settings.Flare.color = Color(128, 64, 0)
settings.Flare.offset = Vec3(0, 0, 41)
settings.Flare.range = 9
settings.Flare.timeout = 60
settings.Flare.lensflareBrightness = 1.0
settings.Flare.sparks = true
settings.Flare.smoke = true
settings.Flare.flicker = true
settings.Flare.pickupCount = 12
settings.Hud.statusBars = true
settings.Hud.loadingBar = true
settings.Hud.speedometer = true
settings.Hud.pickupNotifier = true
settings.Physics.gravity = 6
settings.Physics.swimVelocity = 50
settings.System.errorMode = Flow.ErrorMode.WARN
settings.System.fastReload = true
settings.System.multithreaded = true
-- Hair[1] is normal player hair. Types [2] and [3] are for left and right young Lara hair.
settings.Hair[1].rootMesh = 14
settings.Hair[1].offset = Vec3(-4, -4, -48)
settings.Hair[1].indices = { 37, 39, 40, 38 }
settings.Hair[2].rootMesh = 14
settings.Hair[2].offset = Vec3(-48, -48, -50)
settings.Hair[2].indices = { 79, 78, 76, 77 }
settings.Hair[3].rootMesh = 14
settings.Hair[3].offset = Vec3(48, -48, -50)
settings.Hair[3].indices = { 68, 69, 70, 71 }
-- Not all weapon settings are applicable to every weapon. Those which are not applicable
-- for a particular weapon type are omitted. See documentation for more details.
settings.Weapons[WeaponType.PISTOLS].accuracy = 8
settings.Weapons[WeaponType.PISTOLS].targetingDistance = 8192
settings.Weapons[WeaponType.PISTOLS].interval = 9
settings.Weapons[WeaponType.PISTOLS].waterLevel = 650
settings.Weapons[WeaponType.PISTOLS].flashDuration = 3
settings.Weapons[WeaponType.PISTOLS].flashRange = 9
settings.Weapons[WeaponType.PISTOLS].flashColor = Color(192, 128, 0)
settings.Weapons[WeaponType.PISTOLS].damage = 1
settings.Weapons[WeaponType.PISTOLS].smoke = true
settings.Weapons[WeaponType.PISTOLS].shell = true
settings.Weapons[WeaponType.PISTOLS].muzzleFlash = true
settings.Weapons[WeaponType.PISTOLS].colorizeMuzzleFlash = false
settings.Weapons[WeaponType.PISTOLS].pickupCount = 30
settings.Weapons[WeaponType.REVOLVER].accuracy = 8
settings.Weapons[WeaponType.REVOLVER].targetingDistance = 8192
settings.Weapons[WeaponType.REVOLVER].interval = 16
settings.Weapons[WeaponType.REVOLVER].waterLevel = 650
settings.Weapons[WeaponType.REVOLVER].flashDuration = 3
settings.Weapons[WeaponType.REVOLVER].flashRange = 9
settings.Weapons[WeaponType.REVOLVER].flashColor = Color(192, 128, 0)
settings.Weapons[WeaponType.REVOLVER].damage = 21
settings.Weapons[WeaponType.REVOLVER].alternateDamage = 21
settings.Weapons[WeaponType.REVOLVER].smoke = true
settings.Weapons[WeaponType.REVOLVER].shell = false
settings.Weapons[WeaponType.REVOLVER].muzzleFlash = true
settings.Weapons[WeaponType.REVOLVER].colorizeMuzzleFlash = false
settings.Weapons[WeaponType.REVOLVER].pickupCount = 6
settings.Weapons[WeaponType.UZIS].accuracy = 8
settings.Weapons[WeaponType.UZIS].targetingDistance = 8192
settings.Weapons[WeaponType.UZIS].interval = 3
settings.Weapons[WeaponType.UZIS].waterLevel = 650
settings.Weapons[WeaponType.UZIS].flashDuration = 2
settings.Weapons[WeaponType.UZIS].flashRange = 9
settings.Weapons[WeaponType.UZIS].flashColor = Color(192, 128, 0)
settings.Weapons[WeaponType.UZIS].damage = 1
settings.Weapons[WeaponType.UZIS].smoke = true
settings.Weapons[WeaponType.UZIS].shell = true
settings.Weapons[WeaponType.UZIS].muzzleFlash = true
settings.Weapons[WeaponType.UZIS].colorizeMuzzleFlash = false
settings.Weapons[WeaponType.UZIS].pickupCount = 30
settings.Weapons[WeaponType.SHOTGUN].accuracy = 10
settings.Weapons[WeaponType.SHOTGUN].targetingDistance = 8192
settings.Weapons[WeaponType.SHOTGUN].waterLevel = 500
settings.Weapons[WeaponType.SHOTGUN].flashDuration = 3
settings.Weapons[WeaponType.SHOTGUN].flashRange = 12
settings.Weapons[WeaponType.SHOTGUN].flashColor = Color(192, 128, 0)
settings.Weapons[WeaponType.SHOTGUN].damage = 3
settings.Weapons[WeaponType.SHOTGUN].smoke = true
settings.Weapons[WeaponType.SHOTGUN].shell = true
settings.Weapons[WeaponType.SHOTGUN].muzzleFlash = false
settings.Weapons[WeaponType.SHOTGUN].colorizeMuzzleFlash = false
settings.Weapons[WeaponType.SHOTGUN].pickupCount = 6
settings.Weapons[WeaponType.HK].accuracy = 4
settings.Weapons[WeaponType.HK].targetingDistance = 12288
settings.Weapons[WeaponType.HK].waterLevel = 500
settings.Weapons[WeaponType.HK].flashDuration = 2
settings.Weapons[WeaponType.HK].flashRange = 12
settings.Weapons[WeaponType.HK].flashColor = Color(192, 128, 0)
settings.Weapons[WeaponType.HK].damage = 4
settings.Weapons[WeaponType.HK].alternateDamage = 4
settings.Weapons[WeaponType.HK].smoke = true
settings.Weapons[WeaponType.HK].shell = true
settings.Weapons[WeaponType.HK].muzzleFlash = true
settings.Weapons[WeaponType.HK].colorizeMuzzleFlash = false
settings.Weapons[WeaponType.HK].pickupCount = 30
settings.Weapons[WeaponType.CROSSBOW].targetingDistance = 8192
settings.Weapons[WeaponType.CROSSBOW].waterLevel = 500
settings.Weapons[WeaponType.CROSSBOW].damage = 5
settings.Weapons[WeaponType.CROSSBOW].alternateDamage = 20
settings.Weapons[WeaponType.CROSSBOW].pickupCount = 10
settings.Weapons[WeaponType.GRENADE_LAUNCHER].targetingDistance = 8192
settings.Weapons[WeaponType.GRENADE_LAUNCHER].waterLevel = 500
settings.Weapons[WeaponType.GRENADE_LAUNCHER].damage = 20
settings.Weapons[WeaponType.GRENADE_LAUNCHER].smoke = true
settings.Weapons[WeaponType.GRENADE_LAUNCHER].pickupCount = 10
settings.Weapons[WeaponType.ROCKET_LAUNCHER].targetingDistance = 8192
settings.Weapons[WeaponType.ROCKET_LAUNCHER].waterLevel = 500
settings.Weapons[WeaponType.ROCKET_LAUNCHER].damage = 30
settings.Weapons[WeaponType.ROCKET_LAUNCHER].smoke = true
settings.Weapons[WeaponType.ROCKET_LAUNCHER].pickupCount = 1
settings.Weapons[WeaponType.HARPOON_GUN].targetingDistance = 8192
settings.Weapons[WeaponType.HARPOON_GUN].damage = 6
settings.Weapons[WeaponType.HARPOON_GUN].pickupCount = 10
Flow.SetSettings(settings)

View file

@ -58,7 +58,7 @@ local strings =
-- Level name strings
lara_home = { "Lara's Home" },
home_level = { "Home Level" },
test_level = { "Test Level" },
title = { "Title" },
}

View file

@ -51,7 +51,8 @@ local strings =
ammo_used = { "Ammo Used" },
antialiasing = { "Antialiasing" },
apply = { "Apply" },
automatic_targeting = { "Automatic Targeting" },
auto_monkey_swing_jump = { "Auto Monkey Jump" },
auto_targeting = { "Auto Targeting" },
back = { "Back" },
cancel = { "Cancel" },
caustics = { "Underwater Caustics" },
@ -74,13 +75,17 @@ local strings =
exit_to_title = { "Exit to Title" },
general_actions = { "General Actions" },
high = { "High" },
high_framerate = { "High Framerate" },
level_secrets_found = { "Secrets Found in Level" },
load_game = { "Load Game" },
low = { "Low" },
medium = { "Medium" },
menu_actions = { "Menu Actions" },
menu_option_looping = { "Menu Option Looping" },
menu_option_looping_all_menus = { "All Menus" },
menu_option_looping_disabled = { "Disabled" },
menu_option_looping_save_load_only = { "Save/Load Only" },
mouse_sensitivity = { "Mouse Sensitivity" },
mouse_smoothing = { "Mouse Smoothing" },
music_volume = { "Music Volume" },
new_game = { "New Game" },
none = { "None" },
@ -95,7 +100,7 @@ local strings =
reverb = { "Reverb" },
rumble = { "Rumble" },
save_game = { "Save Game" },
savegame_timestamp = { "%02d Days %02d:%02d:%02d" },
savegame_timestamp = { "%02d:%02d:%02d" },
screen_resolution = { "Screen Resolution" },
select_level = { "Select Level" },
separate = { "Separate" },

BIN
TEN logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

View file

@ -38,10 +38,10 @@ namespace TEN::Gui
{ ID_CROSSBOW_AMMO3_ITEM, 0, 0.5f, EulerAngles(0, ANGLE(-90.0f), 0), OPT_USE, STRING_CROSSBOW_AMMO_3, NO_JOINT_BITS, INV_ROT_Y },
{ ID_HK_ITEM, 0, 0.5f, EulerAngles(ANGLE(280.0f), 0, 0), OPT_EQUIP | OPT_COMBINABLE | OPT_CHOOSE_AMMO_HK, STRING_HK, 0x01, INV_ROT_Y },
{ ID_HK_ITEM, 0, 0.5f, EulerAngles(ANGLE(280.0f), ANGLE(-45.0f), 0), OPT_EQUIP | OPT_SEPERABLE | OPT_CHOOSE_AMMO_HK, STRING_HK_LASERSIGHT, NO_JOINT_BITS, INV_ROT_Y },
{ ID_HK_AMMO_ITEM, 3, 0.5f, EulerAngles(0, ANGLE(90.0f), 0), OPT_USE, STRING_HK_AMMO, 0x02, INV_ROT_Y },
{ ID_HK_AMMO_ITEM, 3, 0.5f, EulerAngles(0, ANGLE(90.0f), 0), OPT_USE, STRING_HK_RAPID_MODE, 0x03, INV_ROT_Y },
{ ID_HK_AMMO_ITEM, 3, 0.5f, EulerAngles(0, ANGLE(90.0f), 0), OPT_USE, STRING_HK_BURST_MODE, 0x04, INV_ROT_Y },
{ ID_HK_AMMO_ITEM, 3, 0.5f, EulerAngles(0, ANGLE(90.0f), 0), OPT_USE, STRING_HK_SNIPER_MODE, 0x05, INV_ROT_Y },
{ ID_HK_AMMO_ITEM, 3, 0.5f, EulerAngles(0, ANGLE(90.0f), 0), OPT_USE, STRING_HK_AMMO, NO_JOINT_BITS, INV_ROT_Y },
{ ID_HK_AMMO_ITEM, 3, 0.5f, EulerAngles(0, ANGLE(90.0f), 0), OPT_USE, STRING_HK_RAPID_MODE, NO_JOINT_BITS, INV_ROT_Y },
{ ID_HK_AMMO_ITEM, 3, 0.5f, EulerAngles(0, ANGLE(90.0f), 0), OPT_USE, STRING_HK_BURST_MODE, NO_JOINT_BITS, INV_ROT_Y },
{ ID_HK_AMMO_ITEM, 3, 0.5f, EulerAngles(0, ANGLE(90.0f), 0), OPT_USE, STRING_HK_SNIPER_MODE, NO_JOINT_BITS, INV_ROT_Y },
{ ID_GRENADE_GUN_ITEM, 0, 0.5f, EulerAngles(0, ANGLE(90.0f), ANGLE(65)), OPT_EQUIP | OPT_COMBINABLE | OPT_CHOOSE_AMMO_GRENADEGUN, STRING_GRENADE_LAUNCHER, NO_JOINT_BITS, INV_ROT_Y },
{ ID_GRENADE_AMMO1_ITEM, 3, 0.5f, EulerAngles(0, ANGLE(-90.0f), 0), OPT_USE, STRING_GRENADE_LAUNCHER_AMMO_1, NO_JOINT_BITS, INV_ROT_Y },
{ ID_GRENADE_AMMO2_ITEM, 3, 0.5f, EulerAngles(0, ANGLE(-90.0f), 0), OPT_USE, STRING_GRENADE_LAUNCHER_AMMO_2, NO_JOINT_BITS, INV_ROT_Y },
@ -58,12 +58,12 @@ namespace TEN::Gui
{ ID_SMALLMEDI_ITEM, 0, 0.7f, EulerAngles(ANGLE(112.0f), ANGLE(180.0f), 0), OPT_USE, STRING_SMALL_MEDIPACK, NO_JOINT_BITS, INV_ROT_Y },
{ ID_BINOCULARS_ITEM, -1, 0.5f, EulerAngles(ANGLE(10.0f), ANGLE(180.0f), 0), OPT_USE, STRING_BINOCULARS, NO_JOINT_BITS, INV_ROT_Y },
{ ID_FLARE_INV_ITEM, 52, 0.8f, EulerAngles::Identity, OPT_USE, STRING_FLARES, NO_JOINT_BITS, INV_ROT_Y },
{ ID_TIMEX_ITEM, 2, 0.4f, EulerAngles::Identity, OPT_STATS, STRING_STATISTICS, NO_JOINT_BITS, INV_ROT_Y },
{ ID_STOPWATCH_ITEM, 2, 0.8f, EulerAngles::Identity, OPT_STATS, STRING_STATISTICS, NO_JOINT_BITS, INV_ROT_Y },
{ ID_PC_LOAD_INV_ITEM, 52, 0.3f, EulerAngles(0, ANGLE(180.0f), 0), OPT_LOAD, STRING_LOAD_GAME, NO_JOINT_BITS, INV_ROT_Y },
{ ID_PC_SAVE_INV_ITEM, 52, 0.3f, EulerAngles(0, ANGLE(180.0f), 0), OPT_SAVE, STRING_SAVE_GAME, NO_JOINT_BITS, INV_ROT_Y },
{ ID_BURNING_TORCH_ITEM, 14, 0.5f, EulerAngles(ANGLE(90.0f), 0, 0), OPT_USE, STRING_TORCH, NO_JOINT_BITS, INV_ROT_Y },
{ ID_CROWBAR_ITEM, 4, 0.5f, EulerAngles(ANGLE(90.0f), 0, 0), OPT_USE, STRING_CROWBAR, NO_JOINT_BITS, INV_ROT_Y },
{ ID_DIARY_ITEM, 0, 0.3f, EulerAngles(0, ANGLE(180.0f), 0), OPT_DIARY, STRING_DIARY, NO_JOINT_BITS, INV_ROT_Y },
{ ID_DIARY_ITEM, 0, 0.3f, EulerAngles(0, ANGLE(180.0f), 0), OPT_USE, STRING_DIARY, NO_JOINT_BITS, INV_ROT_Y },
{ ID_COMPASS_ITEM, -14, 0.5f, EulerAngles(ANGLE(90.0f), ANGLE(180.0f), 0), 0, STRING_LOAD_GAME, NO_JOINT_BITS, INV_ROT_Y },
{ ID_CLOCKWORK_BEETLE, 14, 0.5f, EulerAngles::Identity, OPT_USE, STRING_MECHANICAL_SCARAB, NO_JOINT_BITS, INV_ROT_Y },
{ ID_CLOCKWORK_BEETLE_COMBO1, 18, 0.5f, EulerAngles::Identity, OPT_COMBINABLE, STRING_MECHANICAL_SCARAB_1, NO_JOINT_BITS, INV_ROT_Y },
@ -331,21 +331,21 @@ namespace TEN::Gui
void CombineRevolverLasersight(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
if (flag)
{
lara->Inventory.HasLasersight = true;
lara->Weapons[(int)LaraWeaponType::Revolver].HasLasersight = false;
player.Inventory.HasLasersight = true;
player.Weapons[(int)LaraWeaponType::Revolver].HasLasersight = false;
}
else
{
lara->Inventory.HasLasersight = false;
lara->Weapons[(int)LaraWeaponType::Revolver].HasLasersight = true;
player.Inventory.HasLasersight = false;
player.Weapons[(int)LaraWeaponType::Revolver].HasLasersight = true;
}
if (lara->Control.HandStatus != HandStatus::Free &&
lara->Control.Weapon.GunType == LaraWeaponType::Revolver)
if (player.Control.HandStatus != HandStatus::Free &&
player.Control.Weapon.GunType == LaraWeaponType::Revolver)
{
UndrawPistolMesh(*item, LaraWeaponType::Revolver, true);
DrawPistolMeshes(*item, LaraWeaponType::Revolver);
@ -354,21 +354,21 @@ namespace TEN::Gui
void CombineCrossbowLasersight(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
if (flag)
{
lara->Inventory.HasLasersight = true;
lara->Weapons[(int)LaraWeaponType::Crossbow].HasLasersight = false;
player.Inventory.HasLasersight = true;
player.Weapons[(int)LaraWeaponType::Crossbow].HasLasersight = false;
}
else
{
lara->Inventory.HasLasersight = false;
lara->Weapons[(int)LaraWeaponType::Crossbow].HasLasersight = true;
player.Inventory.HasLasersight = false;
player.Weapons[(int)LaraWeaponType::Crossbow].HasLasersight = true;
}
if (lara->Control.HandStatus != HandStatus::Free &&
lara->Control.Weapon.GunType == LaraWeaponType::Crossbow)
if (player.Control.HandStatus != HandStatus::Free &&
player.Control.Weapon.GunType == LaraWeaponType::Crossbow)
{
UndrawShotgunMeshes(*item, LaraWeaponType::Crossbow);
DrawShotgunMeshes(*item, LaraWeaponType::Crossbow);
@ -377,21 +377,21 @@ namespace TEN::Gui
void CombineHKLasersight(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
if (flag)
{
lara->Inventory.HasLasersight = true;
lara->Weapons[(int)LaraWeaponType::HK].HasLasersight = false;
player.Inventory.HasLasersight = true;
player.Weapons[(int)LaraWeaponType::HK].HasLasersight = false;
}
else
{
lara->Inventory.HasLasersight = false;
lara->Weapons[(int)LaraWeaponType::HK].HasLasersight = true;
player.Inventory.HasLasersight = false;
player.Weapons[(int)LaraWeaponType::HK].HasLasersight = true;
}
if (lara->Control.HandStatus != HandStatus::Free &&
lara->Control.Weapon.GunType == LaraWeaponType::HK)
if (player.Control.HandStatus != HandStatus::Free &&
player.Control.Weapon.GunType == LaraWeaponType::HK)
{
UndrawShotgunMeshes(*item, LaraWeaponType::HK);
DrawShotgunMeshes(*item, LaraWeaponType::HK);
@ -400,514 +400,514 @@ namespace TEN::Gui
void CombinePuzzleItem1(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.PuzzlesCombo[0] = false;
lara->Inventory.PuzzlesCombo[1] = false;
lara->Inventory.Puzzles[0] = true;
player.Inventory.PuzzlesCombo[0] = false;
player.Inventory.PuzzlesCombo[1] = false;
player.Inventory.Puzzles[0] = true;
}
void CombinePuzzleItem2(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.PuzzlesCombo[2] = false;
lara->Inventory.PuzzlesCombo[3] = false;
lara->Inventory.Puzzles[1] = true;
player.Inventory.PuzzlesCombo[2] = false;
player.Inventory.PuzzlesCombo[3] = false;
player.Inventory.Puzzles[1] = true;
}
void CombinePuzzleItem3(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.PuzzlesCombo[4] = false;
lara->Inventory.PuzzlesCombo[5] = false;
lara->Inventory.Puzzles[2] = true;
player.Inventory.PuzzlesCombo[4] = false;
player.Inventory.PuzzlesCombo[5] = false;
player.Inventory.Puzzles[2] = true;
}
void CombinePuzzleItem4(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.PuzzlesCombo[6] = false;
lara->Inventory.PuzzlesCombo[7] = false;
lara->Inventory.Puzzles[3] = true;
player.Inventory.PuzzlesCombo[6] = false;
player.Inventory.PuzzlesCombo[7] = false;
player.Inventory.Puzzles[3] = true;
}
void CombinePuzzleItem5(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.PuzzlesCombo[8] = false;
lara->Inventory.PuzzlesCombo[9] = false;
lara->Inventory.Puzzles[4] = true;
player.Inventory.PuzzlesCombo[8] = false;
player.Inventory.PuzzlesCombo[9] = false;
player.Inventory.Puzzles[4] = true;
}
void CombinePuzzleItem6(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.PuzzlesCombo[10] = false;
lara->Inventory.PuzzlesCombo[11] = false;
lara->Inventory.Puzzles[5] = true;
player.Inventory.PuzzlesCombo[10] = false;
player.Inventory.PuzzlesCombo[11] = false;
player.Inventory.Puzzles[5] = true;
}
void CombinePuzzleItem7(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.PuzzlesCombo[12] = false;
lara->Inventory.PuzzlesCombo[13] = false;
lara->Inventory.Puzzles[6] = true;
player.Inventory.PuzzlesCombo[12] = false;
player.Inventory.PuzzlesCombo[13] = false;
player.Inventory.Puzzles[6] = true;
}
void CombinePuzzleItem8(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.PuzzlesCombo[14] = false;
lara->Inventory.PuzzlesCombo[15] = false;
lara->Inventory.Puzzles[7] = true;
player.Inventory.PuzzlesCombo[14] = false;
player.Inventory.PuzzlesCombo[15] = false;
player.Inventory.Puzzles[7] = true;
}
void CombinePuzzleItem9(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.PuzzlesCombo[16] = false;
lara->Inventory.PuzzlesCombo[17] = false;
lara->Inventory.Puzzles[8] = true;
player.Inventory.PuzzlesCombo[16] = false;
player.Inventory.PuzzlesCombo[17] = false;
player.Inventory.Puzzles[8] = true;
}
void CombinePuzzleItem10(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.PuzzlesCombo[18] = false;
lara->Inventory.PuzzlesCombo[19] = false;
lara->Inventory.Puzzles[9] = true;
player.Inventory.PuzzlesCombo[18] = false;
player.Inventory.PuzzlesCombo[19] = false;
player.Inventory.Puzzles[9] = true;
}
void CombinePuzzleItem11(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.PuzzlesCombo[20] = false;
lara->Inventory.PuzzlesCombo[21] = false;
lara->Inventory.Puzzles[10] = true;
player.Inventory.PuzzlesCombo[20] = false;
player.Inventory.PuzzlesCombo[21] = false;
player.Inventory.Puzzles[10] = true;
}
void CombinePuzzleItem12(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.PuzzlesCombo[22] = false;
lara->Inventory.PuzzlesCombo[23] = false;
lara->Inventory.Puzzles[11] = true;
player.Inventory.PuzzlesCombo[22] = false;
player.Inventory.PuzzlesCombo[23] = false;
player.Inventory.Puzzles[11] = true;
}
void CombinePuzzleItem13(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.PuzzlesCombo[24] = false;
lara->Inventory.PuzzlesCombo[25] = false;
lara->Inventory.Puzzles[12] = true;
player.Inventory.PuzzlesCombo[24] = false;
player.Inventory.PuzzlesCombo[25] = false;
player.Inventory.Puzzles[12] = true;
}
void CombinePuzzleItem14(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.PuzzlesCombo[26] = false;
lara->Inventory.PuzzlesCombo[27] = false;
lara->Inventory.Puzzles[13] = true;
player.Inventory.PuzzlesCombo[26] = false;
player.Inventory.PuzzlesCombo[27] = false;
player.Inventory.Puzzles[13] = true;
}
void CombinePuzzleItem15(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.PuzzlesCombo[28] = false;
lara->Inventory.PuzzlesCombo[29] = false;
lara->Inventory.Puzzles[14] = true;
player.Inventory.PuzzlesCombo[28] = false;
player.Inventory.PuzzlesCombo[29] = false;
player.Inventory.Puzzles[14] = true;
}
void CombinePuzzleItem16(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.PuzzlesCombo[30] = false;
lara->Inventory.PuzzlesCombo[31] = false;
lara->Inventory.Puzzles[15] = true;
player.Inventory.PuzzlesCombo[30] = false;
player.Inventory.PuzzlesCombo[31] = false;
player.Inventory.Puzzles[15] = true;
}
void CombineKeyItem1(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Keys[0] = true;
lara->Inventory.KeysCombo[0] = false;
lara->Inventory.KeysCombo[1] = false;
player.Inventory.Keys[0] = true;
player.Inventory.KeysCombo[0] = false;
player.Inventory.KeysCombo[1] = false;
}
void CombineKeyItem2(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Keys[1] = true;
lara->Inventory.KeysCombo[2] = false;
lara->Inventory.KeysCombo[3] = false;
player.Inventory.Keys[1] = true;
player.Inventory.KeysCombo[2] = false;
player.Inventory.KeysCombo[3] = false;
}
void CombineKeyItem3(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Keys[2] = true;
lara->Inventory.KeysCombo[4] = false;
lara->Inventory.KeysCombo[5] = false;
player.Inventory.Keys[2] = true;
player.Inventory.KeysCombo[4] = false;
player.Inventory.KeysCombo[5] = false;
}
void CombineKeyItem4(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Keys[3] = true;
lara->Inventory.KeysCombo[6] = false;
lara->Inventory.KeysCombo[7] = false;
player.Inventory.Keys[3] = true;
player.Inventory.KeysCombo[6] = false;
player.Inventory.KeysCombo[7] = false;
}
void CombineKeyItem5(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Keys[4] = true;
lara->Inventory.KeysCombo[8] = false;
lara->Inventory.KeysCombo[9] = false;
player.Inventory.Keys[4] = true;
player.Inventory.KeysCombo[8] = false;
player.Inventory.KeysCombo[9] = false;
}
void CombineKeyItem6(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Keys[5] = true;
lara->Inventory.KeysCombo[10] = false;
lara->Inventory.KeysCombo[11] = false;
player.Inventory.Keys[5] = true;
player.Inventory.KeysCombo[10] = false;
player.Inventory.KeysCombo[11] = false;
}
void CombineKeyItem7(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Keys[6] = true;
lara->Inventory.KeysCombo[12] = false;
lara->Inventory.KeysCombo[13] = false;
player.Inventory.Keys[6] = true;
player.Inventory.KeysCombo[12] = false;
player.Inventory.KeysCombo[13] = false;
}
void CombineKeyItem8(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Keys[7] = true;
lara->Inventory.KeysCombo[14] = false;
lara->Inventory.KeysCombo[15] = false;
player.Inventory.Keys[7] = true;
player.Inventory.KeysCombo[14] = false;
player.Inventory.KeysCombo[15] = false;
}
void CombineKeyItem9(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Keys[8] = true;
lara->Inventory.KeysCombo[16] = false;
lara->Inventory.KeysCombo[17] = false;
player.Inventory.Keys[8] = true;
player.Inventory.KeysCombo[16] = false;
player.Inventory.KeysCombo[17] = false;
}
void CombineKeyItem10(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Keys[9] = true;
lara->Inventory.KeysCombo[18] = false;
lara->Inventory.KeysCombo[19] = false;
player.Inventory.Keys[9] = true;
player.Inventory.KeysCombo[18] = false;
player.Inventory.KeysCombo[19] = false;
}
void CombineKeyItem11(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Keys[10] = true;
lara->Inventory.KeysCombo[20] = false;
lara->Inventory.KeysCombo[21] = false;
player.Inventory.Keys[10] = true;
player.Inventory.KeysCombo[20] = false;
player.Inventory.KeysCombo[21] = false;
}
void CombineKeyItem12(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Keys[11] = true;
lara->Inventory.KeysCombo[22] = false;
lara->Inventory.KeysCombo[23] = false;
player.Inventory.Keys[11] = true;
player.Inventory.KeysCombo[22] = false;
player.Inventory.KeysCombo[23] = false;
}
void CombineKeyItem13(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Keys[12] = true;
lara->Inventory.KeysCombo[24] = false;
lara->Inventory.KeysCombo[25] = false;
player.Inventory.Keys[12] = true;
player.Inventory.KeysCombo[24] = false;
player.Inventory.KeysCombo[25] = false;
}
void CombineKeyItem14(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Keys[13] = true;
lara->Inventory.KeysCombo[26] = false;
lara->Inventory.KeysCombo[27] = false;
player.Inventory.Keys[13] = true;
player.Inventory.KeysCombo[26] = false;
player.Inventory.KeysCombo[27] = false;
}
void CombineKeyItem15(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Keys[14] = true;
lara->Inventory.KeysCombo[28] = false;
lara->Inventory.KeysCombo[29] = false;
player.Inventory.Keys[14] = true;
player.Inventory.KeysCombo[28] = false;
player.Inventory.KeysCombo[29] = false;
}
void CombineKeyItem16(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Keys[15] = true;
lara->Inventory.KeysCombo[30] = false;
lara->Inventory.KeysCombo[31] = false;
player.Inventory.Keys[15] = true;
player.Inventory.KeysCombo[30] = false;
player.Inventory.KeysCombo[31] = false;
}
void CombinePickupItem1(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Pickups[0] = true;
lara->Inventory.PickupsCombo[0] = false;
lara->Inventory.PickupsCombo[1] = false;
player.Inventory.Pickups[0] = true;
player.Inventory.PickupsCombo[0] = false;
player.Inventory.PickupsCombo[1] = false;
}
void CombinePickupItem2(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Pickups[1] = true;
lara->Inventory.PickupsCombo[2] = false;
lara->Inventory.PickupsCombo[3] = false;
player.Inventory.Pickups[1] = true;
player.Inventory.PickupsCombo[2] = false;
player.Inventory.PickupsCombo[3] = false;
}
void CombinePickupItem3(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Pickups[2] = true;
lara->Inventory.PickupsCombo[4] = false;
lara->Inventory.PickupsCombo[5] = false;
player.Inventory.Pickups[2] = true;
player.Inventory.PickupsCombo[4] = false;
player.Inventory.PickupsCombo[5] = false;
}
void CombinePickupItem4(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Pickups[3] = true;
lara->Inventory.PickupsCombo[6] = false;
lara->Inventory.PickupsCombo[7] = false;
player.Inventory.Pickups[3] = true;
player.Inventory.PickupsCombo[6] = false;
player.Inventory.PickupsCombo[7] = false;
}
void CombinePickupItem5(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Pickups[4] = true;
lara->Inventory.PickupsCombo[8] = false;
lara->Inventory.PickupsCombo[9] = false;
player.Inventory.Pickups[4] = true;
player.Inventory.PickupsCombo[8] = false;
player.Inventory.PickupsCombo[9] = false;
}
void CombinePickupItem6(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Pickups[5] = true;
lara->Inventory.PickupsCombo[10] = false;
lara->Inventory.PickupsCombo[11] = false;
player.Inventory.Pickups[5] = true;
player.Inventory.PickupsCombo[10] = false;
player.Inventory.PickupsCombo[11] = false;
}
void CombinePickupItem7(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Pickups[6] = true;
lara->Inventory.PickupsCombo[12] = false;
lara->Inventory.PickupsCombo[13] = false;
player.Inventory.Pickups[6] = true;
player.Inventory.PickupsCombo[12] = false;
player.Inventory.PickupsCombo[13] = false;
}
void CombinePickupItem8(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Pickups[7] = true;
lara->Inventory.PickupsCombo[14] = false;
lara->Inventory.PickupsCombo[15] = false;
player.Inventory.Pickups[7] = true;
player.Inventory.PickupsCombo[14] = false;
player.Inventory.PickupsCombo[15] = false;
}
void CombinePickupItem9(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Pickups[8] = true;
lara->Inventory.PickupsCombo[16] = false;
lara->Inventory.PickupsCombo[17] = false;
player.Inventory.Pickups[8] = true;
player.Inventory.PickupsCombo[16] = false;
player.Inventory.PickupsCombo[17] = false;
}
void CombinePickupItem10(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Pickups[9] = true;
lara->Inventory.PickupsCombo[18] = false;
lara->Inventory.PickupsCombo[19] = false;
player.Inventory.Pickups[9] = true;
player.Inventory.PickupsCombo[18] = false;
player.Inventory.PickupsCombo[19] = false;
}
void CombinePickupItem11(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Pickups[10] = true;
lara->Inventory.PickupsCombo[20] = false;
lara->Inventory.PickupsCombo[21] = false;
player.Inventory.Pickups[10] = true;
player.Inventory.PickupsCombo[20] = false;
player.Inventory.PickupsCombo[21] = false;
}
void CombinePickupItem12(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Pickups[11] = true;
lara->Inventory.PickupsCombo[22] = false;
lara->Inventory.PickupsCombo[23] = false;
player.Inventory.Pickups[11] = true;
player.Inventory.PickupsCombo[22] = false;
player.Inventory.PickupsCombo[23] = false;
}
void CombinePickupItem13(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Pickups[12] = true;
lara->Inventory.PickupsCombo[24] = false;
lara->Inventory.PickupsCombo[25] = false;
player.Inventory.Pickups[12] = true;
player.Inventory.PickupsCombo[24] = false;
player.Inventory.PickupsCombo[25] = false;
}
void CombinePickupItem14(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Pickups[13] = true;
lara->Inventory.PickupsCombo[26] = false;
lara->Inventory.PickupsCombo[27] = false;
player.Inventory.Pickups[13] = true;
player.Inventory.PickupsCombo[26] = false;
player.Inventory.PickupsCombo[27] = false;
}
void CombinePickupItem15(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Pickups[14] = true;
lara->Inventory.PickupsCombo[28] = false;
lara->Inventory.PickupsCombo[29] = false;
player.Inventory.Pickups[14] = true;
player.Inventory.PickupsCombo[28] = false;
player.Inventory.PickupsCombo[29] = false;
}
void CombinePickupItem16(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Pickups[15] = true;
lara->Inventory.PickupsCombo[30] = false;
lara->Inventory.PickupsCombo[31] = false;
player.Inventory.Pickups[15] = true;
player.Inventory.PickupsCombo[30] = false;
player.Inventory.PickupsCombo[31] = false;
}
void CombineExamine1(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Examines[0] = true;
lara->Inventory.ExaminesCombo[0] = false;
lara->Inventory.ExaminesCombo[1] = false;
player.Inventory.Examines[0] = true;
player.Inventory.ExaminesCombo[0] = false;
player.Inventory.ExaminesCombo[1] = false;
}
void CombineExamine2(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Examines[1] = true;
lara->Inventory.ExaminesCombo[2] = false;
lara->Inventory.ExaminesCombo[3] = false;
player.Inventory.Examines[1] = true;
player.Inventory.ExaminesCombo[2] = false;
player.Inventory.ExaminesCombo[3] = false;
}
void CombineExamine3(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Examines[2] = true;
lara->Inventory.ExaminesCombo[4] = false;
lara->Inventory.ExaminesCombo[5] = false;
player.Inventory.Examines[2] = true;
player.Inventory.ExaminesCombo[4] = false;
player.Inventory.ExaminesCombo[5] = false;
}
void CombineExamine4(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Examines[3] = true;
lara->Inventory.ExaminesCombo[6] = false;
lara->Inventory.ExaminesCombo[7] = false;
player.Inventory.Examines[3] = true;
player.Inventory.ExaminesCombo[6] = false;
player.Inventory.ExaminesCombo[7] = false;
}
void CombineExamine5(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Examines[4] = true;
lara->Inventory.ExaminesCombo[8] = false;
lara->Inventory.ExaminesCombo[9] = false;
player.Inventory.Examines[4] = true;
player.Inventory.ExaminesCombo[8] = false;
player.Inventory.ExaminesCombo[9] = false;
}
void CombineExamine6(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Examines[5] = true;
lara->Inventory.ExaminesCombo[10] = false;
lara->Inventory.ExaminesCombo[11] = false;
player.Inventory.Examines[5] = true;
player.Inventory.ExaminesCombo[10] = false;
player.Inventory.ExaminesCombo[11] = false;
}
void CombineExamine7(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Examines[6] = true;
lara->Inventory.ExaminesCombo[12] = false;
lara->Inventory.ExaminesCombo[13] = false;
player.Inventory.Examines[6] = true;
player.Inventory.ExaminesCombo[12] = false;
player.Inventory.ExaminesCombo[13] = false;
}
void CombineExamine8(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.Examines[7] = true;
lara->Inventory.ExaminesCombo[14] = false;
lara->Inventory.ExaminesCombo[15] = false;
player.Inventory.Examines[7] = true;
player.Inventory.ExaminesCombo[14] = false;
player.Inventory.ExaminesCombo[15] = false;
}
void CombineClockWorkBeetle(ItemInfo* item, bool flag)
{
auto* lara = GetLaraInfo(item);
auto& player = GetLaraInfo(*item);
lara->Inventory.BeetleComponents |= BEETLECOMP_FLAG_BEETLE; // Get beetle.
lara->Inventory.BeetleComponents &= BEETLECOMP_FLAG_COMBO_1; // Remove combo 1.
lara->Inventory.BeetleComponents &= BEETLECOMP_FLAG_COMBO_2; // Remove combo 2.
player.Inventory.BeetleComponents |= BEETLECOMP_FLAG_BEETLE; // Get beetle.
player.Inventory.BeetleComponents &= BEETLECOMP_FLAG_COMBO_1; // Remove combo 1.
player.Inventory.BeetleComponents &= BEETLECOMP_FLAG_COMBO_2; // Remove combo 2.
}
}

Some files were not shown because too many files have changed in this diff Show more