Compare commits

..

219 commits

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
Stranger1992
b27ba26b6b Update bug_report.yaml 2024-12-27 21:22:13 +00:00
Jakub
7f064da0d6
Merge pull request #1531 from MontyTRC89/develop
Update CHANGELOG.md
2024-12-25 11:14:18 +00:00
Jakub
ff62122c56
Merge pull request #1530 from MontyTRC89/develop
Develop to TEN (new release)
2024-12-25 11:10:59 +00: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
Jakub
1affcce9b9
Update CHANGELOG.md 2024-11-03 14:18:34 +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
Jakub
d81fce22ad Merge branch 'develop' 2024-11-03 12:35:58 +00:00
Nemoel-Tomo
30e053dc93
Update AUTHORS.md
- Tomo (general coding, special FX coding, bug fixing)
2024-10-30 18:00:21 +01: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
331 changed files with 22953 additions and 8076 deletions

View file

@ -1,94 +1,83 @@
name: Bug report
description: Create a report to help us understand and diagnose your issue. Your contribution is welcomed and valued!
title: "[ bug Report ]"
labels: Awaiting Triage
description: Create a report to help us understand and triage your issue.
labels:
- Awaiting Triage
body:
- type: markdown
attributes:
value: |
## Bug Report
- type: markdown
attributes:
value: |
Please follow this document in order to report a bug
Please follow this document carefully to report a bug.
- type: dropdown
attributes:
label: TombEngine version
description: |
Please select the TombEngine Version from the dropdown list.
options:
- v1.5 (development build)
- v1.4
validations:
required: true
> **Important**: It is highly recommended that you use the latest version before submitting a bug report.
- type: dropdown
attributes:
label: Tomb Editor version
description: |
Please select the Tomb Editor version used from the dropdown list.
options:
- v1.7.2 (development version)
- v1.7.1
- v1.7.0
validations:
required: true
- 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: textarea
attributes:
label: Describe the bug
description: |
Please provide A clear and concise description of what the bug is.
placeholder: |
Your bug report here.
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: To Reproduce
description: |
To reproduce the behaviour, please provide detailed steps for the development team to follow. This can be done through screenshots or a written guide
- 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
**If the bug cannot be reproduced, and if the issue is not adequately explained, it will be closed without further investigation**
placeholder: |
Provide detailed reproducible steps 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: |
A clear and concise description of what you expected to happen.
placeholder: |
A description of what should happen here.
validations:
required: true
- type: textarea
attributes:
label: Expected Behaviour
description: |
What did you expect to happen?
- type: textarea
attributes:
label: Additional Content
description: |
Add any other context about the problem here.
**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
* Are you testing an build of a TombEngine that has not yet been released? If so please give some context.
* Did you get any asset from the TombEngine website that has presented a bug?
placeholder: |
A description of any additional content here.
validations:
required: false
- type: textarea
attributes:
label: Minimal reproduction project
description: |
**Please upload a .zip file containing your level and all assets needed to compile the level and a cut-down version of your level where the bug presents itself**
The project can be uploaded as a zip file (10 mb max) or provide a link from google drive, dropbox etc.
**Note** if you do not provide this, your issue may be rejected
placeholder: |
Download link to your project
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

View file

@ -6,7 +6,7 @@ This is the credit list of **all** the people who contributed to TombEngine in a
- MontyTRC (Project Leader)
- Gancian (general coding)
- Gancian (general coding
- Krystian (general coding)
- Kubsy (Some cleanups and fixes)
- l.m. (general coding, Lua enhancements, bug fixing)
@ -17,8 +17,9 @@ This is the credit list of **all** the people who contributed to TombEngine in a
- 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, bug fixing)
- Tomo (general coding, special FX coding, bug fixing)
- Troye (general coding, refactoring)
- Nickelony (general coding)
- JesseG, aka WolfCheese (general coding)
@ -49,5 +50,4 @@ This is the credit list of **all** the people who contributed to TombEngine in a
- JoeyQuint (Standing 180° turn, monkey swing 180° turn)
### TombEngine Marketing
- Kubsy (Twitter and forum posts)
- Stranger1992 (This website, Facebook, Instagram, Youtube and Twitch.
- Stranger1992 (Tomb Engine website, Discord, Facebook, Instagram, Youtube, X, and Twitch)

View file

@ -3,7 +3,81 @@
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.7.1 - xxxx-xx-xx
## [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.
@ -19,7 +93,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
* 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
### 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.
@ -69,7 +143,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
* Fixed spotlight shadows.
* Fixed Skeleton and Mummy not reacting to shotgun hits.
### New Features
### 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.
@ -145,7 +219,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
* 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
### 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
@ -205,7 +279,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
* Fixed bottom collision for solid static meshes.
* Fixed T-Rex's head rotation.
### New Features
### 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:
@ -252,7 +326,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
* Fixed incorrect light collection in some cases.
* Fixed normal mapping for rooms, items, and statics.'
### New Features
### New features
* Added ambient occlusion (SSAO).
* Added new post-process workflow (monochrome, negative, exclusion) with tinting.
* Added SMAA antialiasing instead of MSAA.
@ -311,7 +385,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
* Fix camera snap when disengaging the look-around mode.
* Fix TR4 mapper not being visible.
### New Features
### New features
* Improve head-on wall collision.
* Overhaul pushables:
- Separate climbable and non-climbable pushable object slots.
@ -394,7 +468,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
* Fix incorrect culling for scaled static meshes.
* Fix normal mapping.
### New Features
### 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.
@ -442,7 +516,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
* Fix rendering for static meshes with custom blending modes and alpha transparency.
* Fix inconsistent multiline string spacing on different display modes.
### New Features
### New features
* Remove search object 4 hardcoded meshswap activated with a flipmap.
* Add TR1 cowboy.
* Add TR3 wall mounted blade.
@ -500,7 +574,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
- 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
### New features/Amedments
* Add dedicated WRAITH_TRAP object with enhanced effects.
- OCB 0: Effect disabled.
- OCB 1: Effect enabled.
@ -549,7 +623,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
* 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
### New features
* Add TR3 civvy.
* Add TR3 electric cleaner.
* Add TR3 Sophia Leigh with following OCBs:
@ -601,7 +675,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
* Fix grenade and rocket launcher lighting.
* Fix ceiling trapdoor and floor trapdoor that Lara couldn't open manually.
### New Features
### 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.
@ -653,7 +727,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
* Fix bone rotations of some entities.
* Fix Lara's animation for cog switch release.
### New Features
### 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.
@ -667,7 +741,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
## [Version 1.0.4](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.6.2) - 2022-12-16
### New Features
### 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).
@ -739,7 +813,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
## [Version 1.0.3](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.6.1) - 2022-11-18
### New Features
### 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.
@ -807,7 +881,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
## [Version 1.0.2](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.6) - 2022-09-16
### New Features
### 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.
@ -862,7 +936,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
## [Version 1.0.1](https://github.com/TombEngine/TombEditorReleases/releases/tag/v1.5.2) - 2022-08-16
### New Features
### New features
* Added antialiasing support.
* Added static mesh scaling support.
* Added free rotation for teeth spikes instead of using OCB codes.

View file

@ -12,27 +12,27 @@ new_type("luautil", "5 Lua utility modules", true)
not_luadoc = true
local version = "1.7.1"
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".
Enjoy.
Happy building!
\- _squidshire and the TombEngine development team._
]]

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -116,14 +124,18 @@
<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>
@ -140,6 +152,10 @@
<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>
@ -155,6 +171,17 @@
<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/>
@ -166,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.
@ -175,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>
@ -191,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>
@ -224,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.
@ -239,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>
@ -301,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>
@ -429,7 +513,7 @@
</li>
<li><span class="parameter">dir</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
direction, or a point to which spotlight should be directed to
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>
@ -487,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>
@ -501,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.
@ -515,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>
@ -599,6 +715,250 @@
</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.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -219,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>
@ -868,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>
@ -903,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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -179,29 +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>
PREFREEZE <span class="comment">-- will be called before entering freeze mode
</span>POSTFREEZE <span class="comment">-- will be called immediately after exiting freeze mode
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>PREUSEITEM <span class="comment">-- will be called immediately before OnUseItem
</span>POSTUSEITEM <span class="comment">-- will be called immediately after 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>
@ -278,7 +286,7 @@ SAVE
START
END
LOOP
USEITEM
USE_ITEM
MENU</pre>
@ -508,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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -107,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.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -116,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, fromStart)</a></td>
<td class="summary">Set and play an ambient track</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>
@ -166,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>
@ -195,7 +203,7 @@
<strong>SetAmbientTrack(name, fromStart)</strong>
</dt>
<dd>
Set and play an ambient track
Set and play an ambient track.
@ -203,11 +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
Specifies whether ambient track should play from the start, or crossfade at a random position.
</li>
</ul>
@ -221,7 +229,7 @@
<strong>StopAudioTracks()</strong>
</dt>
<dd>
Stop any audio tracks currently playing
Stop any audio tracks currently playing.
@ -236,7 +244,7 @@
<strong>StopAudioTrack(type)</strong>
</dt>
<dd>
Stop audio track that is currently playing
Stop audio track that is currently playing.
@ -244,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>
@ -258,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.
@ -266,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>
@ -274,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>
@ -283,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>
@ -310,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>
@ -332,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>
@ -357,7 +365,7 @@
<strong>IsAudioTrackPlaying(Track)</strong>
</dt>
<dd>
Check if the audio track is playing
Check if the audio track is playing.
@ -365,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>
@ -380,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.
@ -390,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.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -120,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>
@ -201,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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -164,8 +172,16 @@
<td class="summary">Sets the post-process tint.</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="#PlayFlyby">PlayFlyby(seqID)</a></td>
<td class="summary">Play a flyby sequence.</td>
</tr>
<tr>
<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="#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>
@ -201,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>
@ -223,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>
@ -460,19 +476,19 @@
</dd>
<dt>
<a name = "PlayFlyBy"></a>
<strong>PlayFlyBy(flyby)</strong>
<a name = "PlayFlyby"></a>
<strong>PlayFlyby(seqID)</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>
@ -480,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>
@ -513,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

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</ul>
<h2>2 Classes</h2>
<ul class="nowrap">
<li> <a href="../2 classes/Collision.Probe.html">Collision.Probe</a></li>
<li> <here>Flow.Level</here></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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -135,27 +143,31 @@
</tr>
<tr>
<td class="name" ><a href="#layer1">layer1</a></td>
<td class="summary">(<a href="../3 primitive 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="../3 primitive 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.</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>
<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="../3 primitive 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>
@ -178,20 +190,20 @@
<td class="summary">(bool) Enable occasional screen shake effect.</td>
</tr>
<tr>
<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>
<td class="summary">(bool) Reset hub data.</td>
</tr>
<tr>
<td class="name" ><a href="#objects">objects</a></td>
<td class="summary">(table of <a href="../3 primitive 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>
@ -294,7 +306,7 @@
<strong>layer1</strong>
</dt>
<dd>
(<a href="../3 primitive 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.
@ -309,7 +321,37 @@
<strong>layer2</strong>
</dt>
<dd>
(<a href="../3 primitive 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.
@ -324,7 +366,7 @@
<strong>starfield</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Flow.Starfield.html#">Flow.Starfield</a>) Starfield.
(<a href="../3 primitive classes/Flow.Starfield.html#">Flow.Starfield</a>) Starfield in the sky.
@ -339,7 +381,7 @@
<strong>lensFlare</strong>
</dt>
<dd>
(<a href="../3 primitive classes/Flow.LensFlare.html#">Flow.LensFlare</a>) Global lens flare .
(<a href="../3 primitive classes/Flow.LensFlare.html#">Flow.LensFlare</a>) Global lens flare.
@ -354,24 +396,8 @@
<strong>fog</strong>
</dt>
<dd>
(<a href="../3 primitive 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.
@ -447,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.
@ -472,6 +498,22 @@ Invisible
</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.
</dd>
<dt>
<a name = "resetHub"></a>
@ -494,7 +536,7 @@ Invisible
<strong>objects</strong>
</dt>
<dd>
(table of <a href="../3 primitive 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.
@ -509,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.
@ -556,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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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> <here>Flow.Settings</here></li>
<li> <a href="../2 classes/Flow.Statistics.html">Flow.Statistics</a></li>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -303,6 +311,10 @@
<td class="summary">How should the application respond to script errors?</td>
</tr>
<tr>
<td class="name" ><a href="#multithreaded">multithreaded</a></td>
<td class="summary">Use multithreading in certain calculations.</td>
</tr>
<tr>
<td class="name" ><a href="#fastReload">fastReload</a></td>
<td class="summary">Can the game utilize the fast reload feature?</td>
</tr>
@ -505,7 +517,7 @@
<ul>
<li><span class="parameter">objectCollision</span>
<span class="types"><span class="type">bool</span></span>
when enabled, camera will collide with moveables and statics. Disable or TR4-like camera behaviour.
when enabled, camera will collide with moveables and statics. Disable for TR4-like camera behaviour.
</li>
</ul>
@ -1243,7 +1255,30 @@
<ul>
<li><span class="parameter">errorMode</span>
<span class="types"><a class="type" href="../4 enums/Flow.ErrorMode.html#">ErrorMode</a></span>
error mode to use. */
error mode to use.
</li>
</ul>
</dd>
<dt>
<a name = "multithreaded"></a>
<strong>multithreaded</strong>
</dt>
<dd>
Use multithreading in certain calculations. <br>
When set to <code>true</code>, some performance-critical calculations will be performed in parallel, which can give
a significant performance boost. Don't disable unless you have problems with launching or using TombEngine.
<ul>
<li><span class="parameter">multithreaded</span>
<span class="types"><span class="type">bool</span></span>
determines whether to use multithreading or not.
</li>
</ul>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -138,6 +146,10 @@
<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>
@ -279,6 +291,27 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -107,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>
@ -165,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>
@ -181,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>
@ -210,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>
@ -240,7 +247,7 @@
<strong>LaraObject:GetPoison()</strong>
</dt>
<dd>
Get poison potency of Lara
Get poison potency of Lara.
@ -249,7 +256,7 @@
<ol>
<span class="types"><span class="type">int</span></span>
current poison potency
Current poison potency.
</ol>
@ -262,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>
@ -291,7 +298,7 @@
<strong>LaraObject:GetAir()</strong>
</dt>
<dd>
Get air value of Lara
Get air value of Lara.
@ -300,7 +307,7 @@
<ol>
<span class="types"><span class="type">int</span></span>
current air value
Current air value.
</ol>
@ -313,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>
@ -342,7 +349,7 @@
<strong>LaraObject:GetWet()</strong>
</dt>
<dd>
Get wetness value of Lara
Get wetness value of Lara.
@ -351,7 +358,7 @@
<ol>
<span class="types"><span class="type">int</span></span>
current wetness value
Current wetness value.
</ol>
@ -367,7 +374,7 @@
<strong>LaraObject:SetStamina(stamina)</strong>
</dt>
<dd>
Set sprint energy value of Lara
Set sprint energy value of Lara.
@ -375,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>
@ -393,7 +400,7 @@
<strong>LaraObject:GetStamina()</strong>
</dt>
<dd>
Get stamina value of Lara
Get stamina value of Lara.
@ -402,7 +409,7 @@
<ol>
<span class="types"><span class="type">int</span></span>
current sprint value
Current sprint value.
</ol>
@ -418,7 +425,7 @@
<strong>Moveable:GetAirborne()</strong>
</dt>
<dd>
Get the moveable's airborne status
Get the moveable's airborne status.
@ -426,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>
@ -436,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>
@ -499,7 +506,7 @@
<strong>LaraObject:GetHandStatus()</strong>
</dt>
<dd>
Get actual hand status of Lara
Get actual hand status of Lara.
@ -507,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>
@ -524,7 +531,7 @@
<strong>LaraObject:GetWeaponType()</strong>
</dt>
<dd>
Get actual weapon type of Lara
Get actual weapon type of Lara.
@ -532,8 +539,8 @@
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">Flow.WeaponType</span></span>
current weapon type.
<span class="types"><a class="type" href="../4 enums/Objects.WeaponType.html#">WeaponType</a></span>
Current weapon type.
</ol>
@ -549,21 +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">Flow.WeaponType</span></span>
<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>
if <code>true</code>, also draw the weapons or set torch lit. If <code>false</code>, keep weapons holstered or leave 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>
@ -589,8 +594,8 @@
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">Flow.AmmoType</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>
@ -606,7 +611,7 @@
<strong>LaraObject:GetAmmoCount()</strong>
</dt>
<dd>
Get current weapon's ammo count
Get current weapon's ammo count.
@ -615,7 +620,7 @@
<ol>
<span class="types"><span class="type">int</span></span>
current ammo count (-1 if infinite)
Current ammo count (-1 if infinite).
</ol>
@ -631,7 +636,7 @@
<strong>LaraObject:GetVehicle()</strong>
</dt>
<dd>
Get current vehicle, if it exists
Get current vehicle, if it exists.
@ -640,7 +645,7 @@
<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.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -136,11 +144,11 @@
<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="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:SetFlag">Room:SetFlag(flagID, Boolean)</a></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>
@ -169,7 +177,7 @@
<strong>Room:GetRoomNumber()</strong>
</dt>
<dd>
Get the room's number. ()
Get the room's number.
@ -190,7 +198,7 @@
<strong>Room:GetName()</strong>
</dt>
<dd>
Get the room's unique string identifier. ()
Get the room's unique string identifier.
@ -211,7 +219,7 @@
<strong>Room:GetColor()</strong>
</dt>
<dd>
Get the room's ambient light color. ()
Get the room's ambient light color.
@ -232,7 +240,7 @@
<strong>Room:GetReverbType()</strong>
</dt>
<dd>
Get the room's reverb type. ()
Get the room's reverb type.
@ -253,7 +261,7 @@
<strong>Room:SetName(name)</strong>
</dt>
<dd>
Set the room's unique string identifier. ()
Set the room's unique string identifier.
@ -272,18 +280,18 @@
</dd>
<dt>
<a name = "Room:SetReverbType"></a>
<strong>Room:SetReverbType(Reverb)</strong>
<strong>Room:SetReverbType(reverb)</strong>
</dt>
<dd>
Set the room's reverb type. ()
Set the room's reverb type.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">Reverb</span>
<li><span class="parameter">reverb</span>
<span class="types"><a class="type" href="../4 enums/Objects.RoomReverb.html#">RoomReverb</a></span>
type.
Reverb type.
</li>
</ul>
@ -294,10 +302,10 @@
</dd>
<dt>
<a name = "Room:SetFlag"></a>
<strong>Room:SetFlag(flagID, Boolean)</strong>
<strong>Room:SetFlag(flagID, value)</strong>
</dt>
<dd>
Set the room's specified flag. ()
Set the room's specified flag.
@ -307,9 +315,9 @@
<span class="types"><a class="type" href="../4 enums/Objects.RoomFlagID.html#">RoomFlagID</a></span>
Room flag ID.
</li>
<li><span class="parameter">Boolean</span>
<li><span class="parameter">value</span>
<span class="types"><span class="type">bool</span></span>
to set the flag to.
Boolean to set the flag to.
</li>
</ul>
@ -323,7 +331,7 @@
<strong>Room:GetFlag(flagID)</strong>
</dt>
<dd>
Get the room's specified flag value (true or false). ()
Get the room's specified flag value (true or false).
@ -345,7 +353,7 @@
<strong>Room:IsTagPresent(tag)</strong>
</dt>
<dd>
Check if the specified tag is set for the room. ()
Check if the specified tag is set for the room.
@ -373,7 +381,7 @@
<strong>Room:GetActive()</strong>
</dt>
<dd>
Check if the room is active. ()
Check if the room is active.

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -107,7 +115,7 @@
<div id="content">
<h1>Class <code>Objects.Sink</code></h1>
<p>Sink</p>
<p>Represents a sink object.</p>
<p>
</p>
@ -115,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>
@ -150,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.
@ -208,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>
@ -220,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.
@ -228,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>
@ -238,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>
@ -263,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].
@ -272,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.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -137,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>
@ -262,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.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -192,7 +200,7 @@
<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>
@ -242,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>
@ -360,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.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -108,7 +116,7 @@
<h1>Primitive Class <code>Color</code></h1>
<p>Represents an RGBA or RGB color.</p>
<p> Components are specified in bytes. All values are clamped to the range [0, 255].</p>
<p> Components are specified as values clamped to the range [0, 255].</p>
<h2><a href="#Members">Members</a></h2>
@ -278,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 representing 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.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -107,31 +115,29 @@
<div id="content">
<h1>Primitive Class <code>Flow.Fog</code></h1>
<p>Distance fog.</p>
<p>
</p>
<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>
@ -150,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.
@ -165,8 +171,8 @@
<strong>minDistance</strong>
</dt>
<dd>
(int) min distance.
This is the distance at which the fog starts.*
(float) Minimum distance.
This is the distance at which the fog starts (in sectors).
@ -181,8 +187,8 @@
<strong>maxDistance</strong>
</dt>
<dd>
(int) max distance.
This is the distance at which the fog reaches the maximum strength.
(float) Maximum distance.
This is the distance at which the fog reaches the maximum strength (in sectors).
@ -198,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>
@ -213,13 +219,13 @@
<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>

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.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -108,9 +116,7 @@
<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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -107,87 +115,149 @@
<div id="content">
<h1>Primitive Class <code>Flow.LensFlare</code></h1>
<p>Represents a global lens flare (not to be confused with lensflare object).</p>
<p>
</p>
<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="name" ><a href="#LensFlare">LensFlare(pitch, yaw, color)</a></td>
<td class="summary">Create a LensFlare object.</td>
</tr>
<tr>
<td class="name" ><a href="#LensFlare:GetEnabled">LensFlare:GetEnabled()</a></td>
<td class="summary">Get the lens flare's enabled status.</td>
</tr>
<tr>
<td class="name" ><a href="#LensFlare:GetSunSpriteID">LensFlare:GetSunSpriteID()</a></td>
<td class="summary">Get the sun's sprite ID.</td>
</tr>
<tr>
<td class="name" ><a href="#LensFlare:GetPitch">LensFlare:GetPitch()</a></td>
<td class="summary">Get the lens flare's pitch angle in degrees.</td>
</tr>
<tr>
<td class="name" ><a href="#LensFlare:GetYaw">LensFlare:GetYaw()</a></td>
<td class="summary">Get the lens flare's yaw angle in degrees.</td>
</tr>
<tr>
<td class="name" ><a href="#LensFlare:SetColor">LensFlare:SetColor()</a></td>
<td class="summary">Get the lens flare's color.</td>
</tr>
<tr>
<td class="name" ><a href="#LensFlare:SetSunSpriteID">LensFlare:SetSunSpriteID(New)</a></td>
<td class="summary">Set the lens flare's sun sprite ID.</td>
</tr>
<tr>
<td class="name" ><a href="#LensFlare:SetPitch">LensFlare:SetPitch(New)</a></td>
<td class="summary">Set the lens flare's pitch angle.</td>
</tr>
<tr>
<td class="name" ><a href="#LensFlare:SetYaw">LensFlare:SetYaw(New)</a></td>
<td class="summary">Set the lens flare's yaw angle.</td>
</tr>
<tr>
<td class="name" ><a href="#LensFlare:SetColor">LensFlare:SetColor(New)</a></td>
<td class="summary">Set the lens flare's color.</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>
<strong>LensFlare(pitch, yaw, color)</strong>
</dt>
<dd>
Create a LensFlare object. ()
Create a LensFlare object.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">Pitch</span>
<li><span class="parameter">pitch</span>
<span class="types"><span class="type">float</span></span>
angle in degrees.
Pitch angle in degrees.
</li>
<li><span class="parameter">Yaw</span>
<li><span class="parameter">yaw</span>
<span class="types"><span class="type">float</span></span>
angle in degrees.
Yaw angle in degrees.
</li>
<li><span class="parameter">Color.</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
<li><span class="parameter">color</span>
Color of the lensflare.
</li>
</ul>
@ -201,193 +271,6 @@
</dd>
<dt>
<a name = "LensFlare:GetEnabled"></a>
<strong>LensFlare:GetEnabled()</strong>
</dt>
<dd>
Get the lens flare's enabled status. ()
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Lens flare's enabled status.
</ol>
</dd>
<dt>
<a name = "LensFlare:GetSunSpriteID"></a>
<strong>LensFlare:GetSunSpriteID()</strong>
</dt>
<dd>
Get the sun's sprite ID. ()
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
Sprite ID.
</ol>
</dd>
<dt>
<a name = "LensFlare:GetPitch"></a>
<strong>LensFlare:GetPitch()</strong>
</dt>
<dd>
Get the lens flare's pitch angle in degrees. ()
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">float</span></span>
Pitch angle in degrees.
</ol>
</dd>
<dt>
<a name = "LensFlare:GetYaw"></a>
<strong>LensFlare:GetYaw()</strong>
</dt>
<dd>
Get the lens flare's yaw angle in degrees. ()
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">float</span></span>
Yaw angle in degrees.
</ol>
</dd>
<dt>
<a name = "LensFlare:SetColor"></a>
<strong>LensFlare:SetColor()</strong>
</dt>
<dd>
Get the lens flare's color. ()
</dd>
<dt>
<a name = "LensFlare:SetSunSpriteID"></a>
<strong>LensFlare:SetSunSpriteID(New)</strong>
</dt>
<dd>
Set the lens flare's sun sprite ID. ()
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><span class="type">int</span></span>
sprite ID.
</li>
</ul>
</dd>
<dt>
<a name = "LensFlare:SetPitch"></a>
<strong>LensFlare:SetPitch(New)</strong>
</dt>
<dd>
Set the lens flare's pitch angle. (float)
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><span class="type">float</span></span>
pitch angle in degrees.
</li>
</ul>
</dd>
<dt>
<a name = "LensFlare:SetYaw"></a>
<strong>LensFlare:SetYaw(New)</strong>
</dt>
<dd>
Set the lens flare's yaw angle. (float)
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><span class="type">float</span></span>
yaw angle in degrees.
</li>
</ul>
</dd>
<dt>
<a name = "LensFlare:SetColor"></a>
<strong>LensFlare:SetColor(New)</strong>
</dt>
<dd>
Set the lens flare's color. (Color)
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><a class="type" href="../3 primitive classes/Color.html#">Color</a></span>
color.
</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.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -108,7 +116,7 @@
<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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -107,12 +115,29 @@
<div id="content">
<h1>Primitive Class <code>Flow.Starfield</code></h1>
<p>Represents a starfield.</p>
<p>
</p>
<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>
@ -120,55 +145,79 @@
<td class="summary">Create a starfield object with only stars.</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield">Starfield(starCount, meteorCount)</a></td>
<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>
<tr>
<td class="name" ><a href="#Starfield:GetStarsEnabled">Starfield:GetStarsEnabled()</a></td>
<td class="summary">Get the starfield's enabled status of stars.</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield:GetMeteorsEnabled">Starfield:GetMeteorsEnabled()</a></td>
<td class="summary">Get the starfield's enabled status of meteors.</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield:GetStarCount">Starfield:GetStarCount()</a></td>
<td class="summary">Get the starfield's number of stars.</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield:GetMeteorCount">Starfield:GetMeteorCount()</a></td>
<td class="summary">Get the starfield's number of meteors.</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield:GetMeteorSpawnDensity">Starfield:GetMeteorSpawnDensity()</a></td>
<td class="summary">Get the starfield's meteor spawn density.</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield:GetMeteorVelocity">Starfield:GetMeteorVelocity()</a></td>
<td class="summary">Get the starfield's meteor velocity.</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield:SetStarCount">Starfield:SetStarCount(New)</a></td>
<td class="summary">Set the starfield's number of stars (6000 max).</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield:SetMeteorCount">Starfield:SetMeteorCount(New)</a></td>
<td class="summary">Set the starfield's number of meteors (100 max).</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield:SetMeteorSpawnDensity">Starfield:SetMeteorSpawnDensity(New)</a></td>
<td class="summary">Set the starfield's meteor spawn density.</td>
</tr>
<tr>
<td class="name" ><a href="#Starfield:SetMeteorVelocity">Starfield:SetMeteorVelocity(New)</a></td>
<td class="summary">Set the starfield's meteor velocity.</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">
@ -177,7 +226,7 @@
<strong>Starfield(starCount)</strong>
</dt>
<dd>
Create a starfield object with only stars. ()
Create a starfield object with only stars.
@ -202,10 +251,10 @@
</dd>
<dt>
<a name = "Starfield"></a>
<strong>Starfield(starCount, meteorCount)</strong>
<strong>Starfield(starCount, meteorCount, meteorSpawnDensity, meteorVel)</strong>
</dt>
<dd>
Create a starfield object with stars and meteors. ()
Create a starfield object with stars and meteors.
@ -213,238 +262,32 @@
<ul>
<li><span class="parameter">starCount</span>
<span class="types"><span class="type">int</span></span>
Star count (6000 max).
Star count. <strong>Max: 6000</strong>
</li>
<li><span class="parameter">meteorCount</span>
<span class="types"><span class="type">int</span></span>
Meteor count (100 max).
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"><a class="type" href="../3 primitive classes/Flow.Starfield.html#Starfield">Starfield</a></span>
<span class="types"><span class="type">StarField</span></span>
A new Starfield object.
</ol>
</dd>
<dt>
<a name = "Starfield:GetStarsEnabled"></a>
<strong>Starfield:GetStarsEnabled()</strong>
</dt>
<dd>
Get the starfield's enabled status of stars. ()
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Stars enabled status.
</ol>
</dd>
<dt>
<a name = "Starfield:GetMeteorsEnabled"></a>
<strong>Starfield:GetMeteorsEnabled()</strong>
</dt>
<dd>
Get the starfield's enabled status of meteors. ()
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">bool</span></span>
Meteors enabled status.
</ol>
</dd>
<dt>
<a name = "Starfield:GetStarCount"></a>
<strong>Starfield:GetStarCount()</strong>
</dt>
<dd>
Get the starfield's number of stars. ()
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
Count.
</ol>
</dd>
<dt>
<a name = "Starfield:GetMeteorCount"></a>
<strong>Starfield:GetMeteorCount()</strong>
</dt>
<dd>
Get the starfield's number of meteors. ()
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
Count.
</ol>
</dd>
<dt>
<a name = "Starfield:GetMeteorSpawnDensity"></a>
<strong>Starfield:GetMeteorSpawnDensity()</strong>
</dt>
<dd>
Get the starfield's meteor spawn density. ()
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
Spawn density.
</ol>
</dd>
<dt>
<a name = "Starfield:GetMeteorVelocity"></a>
<strong>Starfield:GetMeteorVelocity()</strong>
</dt>
<dd>
Get the starfield's meteor velocity. ()
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">float</span></span>
Velocity.
</ol>
</dd>
<dt>
<a name = "Starfield:SetStarCount"></a>
<strong>Starfield:SetStarCount(New)</strong>
</dt>
<dd>
Set the starfield's number of stars (6000 max). (int)
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><span class="type">int</span></span>
count.
</li>
</ul>
</dd>
<dt>
<a name = "Starfield:SetMeteorCount"></a>
<strong>Starfield:SetMeteorCount(New)</strong>
</dt>
<dd>
Set the starfield's number of meteors (100 max). (int)
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><span class="type">int</span></span>
count.
</li>
</ul>
</dd>
<dt>
<a name = "Starfield:SetMeteorSpawnDensity"></a>
<strong>Starfield:SetMeteorSpawnDensity(New)</strong>
</dt>
<dd>
Set the starfield's meteor spawn density. (int)
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><span class="type">int</span></span>
spawn density.
</li>
</ul>
</dd>
<dt>
<a name = "Starfield:SetMeteorVelocity"></a>
<strong>Starfield:SetMeteorVelocity(New)</strong>
</dt>
<dd>
Set the starfield's meteor velocity. (float)
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">New</span>
<span class="types"><span class="type">int</span></span>
velocity.
</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.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -107,39 +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="#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">Converts rotation to a direction normal.</td>
<td class="summary">Get the normalized direction vector of this Rotation.</td>
</tr>
<tr>
<td class="name" ><a href="#__tostring">__tostring(rotation)</a></td>
<td class="name" ><a href="#__tostring">__tostring(rot)</a></td>
<td class="summary">
</td>
@ -158,7 +168,7 @@
<strong>x</strong>
</dt>
<dd>
(float) X angle component.
(float) X angle component in degrees.
@ -173,7 +183,7 @@
<strong>y</strong>
</dt>
<dd>
(float) Y angle component.
(float) Y angle component in degrees.
@ -188,7 +198,7 @@
<strong>z</strong>
</dt>
<dd>
(float) Z angle component.
(float) Z angle component in degrees.
@ -207,9 +217,7 @@
<strong>Rotation(x, y, z)</strong>
</dt>
<dd>
Create a Rotation object.
@ -217,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>
@ -233,7 +241,39 @@
<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>
@ -245,7 +285,7 @@
<strong>Direction()</strong>
</dt>
<dd>
Converts rotation to a direction normal.
Get the normalized direction vector of this Rotation.
@ -254,7 +294,7 @@
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec3.html#">Vec3</a></span>
resulting normal calculated from this rotation.
Normalized direction vector.
</ol>
@ -263,7 +303,7 @@
</dd>
<dt>
<a name = "__tostring"></a>
<strong>__tostring(rotation)</strong>
<strong>__tostring(rot)</strong>
</dt>
<dd>
@ -274,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>
@ -284,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

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -135,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>
@ -166,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/>
@ -268,34 +288,6 @@
</dd>
<dt>
<a name = "__tostring"></a>
<strong>__tostring(This)</strong>
</dt>
<dd>
Metafunction. Use tostring(vector).
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">This</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Vec2.
</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 the X and Y components of the Vec2.
</ol>
</dd>
<dt>
<a name = "Vec2:Normalize"></a>
@ -317,6 +309,102 @@
</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>
@ -359,7 +447,7 @@
<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.
Interpolation target.
</li>
<li><span class="parameter">alpha</span>
<span class="types"><span class="type">float</span></span>
@ -371,7 +459,7 @@
<ol>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Linearly interpolated vector
Linearly interpolated vector.
</ol>
@ -482,6 +570,34 @@
</dd>
<dt>
<a name = "__tostring"></a>
<strong>__tostring(This)</strong>
</dt>
<dd>
Metafunction. Use tostring(vector).
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">This</span>
<span class="types"><a class="type" href="../3 primitive classes/Vec2.html#">Vec2</a></span>
Vec2.
</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 the X and Y components of the Vec2.
</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.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -143,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>
@ -312,6 +332,102 @@
</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>
@ -354,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>
@ -366,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>

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.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -117,7 +125,7 @@
<table class="function_list">
<tr>
<td class="name" ><a href="#Effects.BlendID">Effects.BlendID</a></td>
<td class="summary">Table of Effects.BlendID constants (for use with particles).</td>
<td class="summary">Table of Effects.BlendID constants.</td>
</tr>
</table>
@ -134,17 +142,18 @@
</dt>
<dd>
<p>Table of Effects.BlendID constants (for use with particles). </p>
<p>Table of Effects.BlendID constants. </p>
<ul>
<li><code>OPAQUE</code></li>
<li><code>ALPHATEST</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>ALPHABLEND</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.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -135,15 +143,15 @@
<dd>
<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>
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>ELECTRICIGNITE</code></li>
<li><code>REDIGNITE</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

@ -0,0 +1,175 @@
<!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> <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>
<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.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" -->
</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.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -135,7 +143,7 @@
<dd>
<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>
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>

View file

@ -0,0 +1,176 @@
<!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> <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>
<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.HandStatus</code></h1>
<p>Constants for player hand statuses.</p>
<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" -->
</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.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -136,13 +144,13 @@
<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>
<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> - object was never activated.</li>
<li><code>ACTIVE</code> - object is active.</li>
<li><code>DEACTIVATED</code> - object was active before and was deactivated.</li>
<li><code>INVISIBLE</code> - object is invisible.</li>
<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.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -123,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/>
@ -137,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>
@ -290,6 +303,7 @@ GLADIATOR
CYBORG
SNIPER
CHEF
KOLD
WINGED_MUMMY
CENTAUR_MUTANT
DOPPELGANGER
@ -314,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
@ -353,7 +367,7 @@ ATTACK_SUB
IMP
IMP_ROCK
GUNSHIP
AUTOGUN
AUTO_GUN_VCI
ROMAN_GOD1
ROMAN_GOD2
LAGOON_WITCH
@ -362,6 +376,7 @@ BOSS_EXPLOSION_SHOCKWAVE
BOSS_EXPLOSION_RING
CLAW_MUTANT
WASP_MUTANT
TWIN_AUTO_GUN
SKATEBOARD
SKATEBOARD_KID
WINSTON
@ -497,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
@ -729,7 +749,6 @@ BURNING_TORCH_ITEM
CLOCKWORK_BEETLE
CLOCKWORK_BEETLE_COMBO1
CLOCKWORK_BEETLE_COMBO2
SWITCH_TYPE1
SWITCH_TYPE2
SWITCH_TYPE3
@ -751,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
@ -901,7 +920,7 @@ FLOOR_LASERS
KILL_ALL_TRIGGERS
TRIGGER_TRIGGERER
HIGH_OBJECT1
HIGH_OBJECT2
EMBER_EMITTER
SMASH_OBJECT1
SMASH_OBJECT2
SMASH_OBJECT3
@ -932,6 +951,8 @@ FISHTANK
DOPPELGANGER_ORIGIN
CORPSE
WRAITH_TRAP
WATERFALL_EMITTER
FIREFLY_EMITTER
MESHSWAP1
MESHSWAP2
MESHSWAP3
@ -1089,8 +1110,6 @@ BRIDGE_TILT3
BRIDGE_TILT4
BRIDGE_CUSTOM
HORIZON
BINOCULAR_GRAPHICS
TARGET_GRAPHICS
SKY_GRAPHICS
DEFAULT_SPRITES
MISC_SPRITES
@ -1105,28 +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
SPEEDOMETER
CUSTOM_BAR_GRAPHIC
CUSTOM_AMMO_GRAPHIC
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.
@ -1141,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>
@ -1289,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
@ -1326,10 +1366,61 @@ FLARE_INV_ITEM
COMPASS_ITEM
DIARY_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.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -117,7 +125,7 @@
<table class="function_list">
<tr>
<td class="name" ><a href="#Objects.WeaponType">Objects.WeaponType</a></td>
<td class="summary">Objects.WeaponType constants.</td>
<td class="summary">Table of Objects.WeaponType constants.</td>
</tr>
</table>
@ -134,10 +142,10 @@
</dt>
<dd>
<p>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>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 enumeration also contains flare and torch - these are counted as "weapon" internally by the engine, and indicate
an object that is currently in Lara's hands.</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

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.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -225,7 +233,7 @@ LevelFuncs.AddProp = <span class="keyword">function</span> (prop)
<ol>
<span class="types"><span class="type">boolean</span></span>
true if the variable is a number, false if it isn't a number
<em>true</em> if the variable is a number, <em>false</em> otherwise
</ol>
@ -261,7 +269,7 @@ LevelFuncs.AddProp = <span class="keyword">function</span> (prop)
<ol>
<span class="types"><span class="type">boolean</span></span>
true if the variable is a string, false if it isn't a string
<em>true</em> if the variable is a string, <em>false</em> otherwise
</ol>
@ -297,7 +305,7 @@ LevelFuncs.AddProp = <span class="keyword">function</span> (prop)
<ol>
<span class="types"><span class="type">boolean</span></span>
true if the variable is a boolean, false if it isn't a boolean
<em>true</em> if the variable is a boolean, <em>false</em> otherwise
</ol>
@ -336,7 +344,7 @@ LevelFuncs.AddProp = <span class="keyword">function</span> (prop)
<ol>
<span class="types"><span class="type">boolean</span></span>
true if the variable is a table, false if it isn't a table
<em>true</em> if the variable is a table, <em>false</em> otherwise
</ol>
@ -375,7 +383,7 @@ LevelFuncs.AddProp = <span class="keyword">function</span> (prop)
<ol>
<span class="types"><span class="type">boolean</span></span>
true if the variable is a null, false if it isn't a null
<em>true</em> if the variable is a null, <em>false</em> otherwise
</ol>
@ -414,7 +422,7 @@ LevelFuncs.AddProp = <span class="keyword">function</span> (prop)
<ol>
<span class="types"><span class="type">boolean</span></span>
true if the variable is a function, false if it isn't a function
<em>true</em> if the variable is a function, <em>false</em> otherwise
</ol>
@ -451,7 +459,7 @@ LevelFuncs.AddProp = <span class="keyword">function</span> (prop)
<ol>
<span class="types"><span class="type">boolean</span></span>
true if the variable is a color, false if it isn't a color
<em>true</em> if the variable is a Color, <em>false</em> otherwise
</ol>
@ -488,7 +496,7 @@ LevelFuncs.AddProp = <span class="keyword">function</span> (prop)
<ol>
<span class="types"><span class="type">boolean</span></span>
true if the variable is a rotation, false if it isn't a rotation
<em>true</em> if the variable is a Rotation, <em>false</em> otherwise
</ol>
@ -525,7 +533,7 @@ LevelFuncs.AddProp = <span class="keyword">function</span> (prop)
<ol>
<span class="types"><span class="type">boolean</span></span>
true if the variable is a vec2, false if it isn't a vec2
<em>true</em> if the variable is a Vec2, <em>false</em> otherwise
</ol>
@ -562,7 +570,7 @@ LevelFuncs.AddProp = <span class="keyword">function</span> (prop)
<ol>
<span class="types"><span class="type">boolean</span></span>
true if the variable is a vec3, false if it isn't a vec3
<em>true</em> if the variable is a Vec3, <em>false</em> otherwise
</ol>
@ -599,7 +607,7 @@ LevelFuncs.AddProp = <span class="keyword">function</span> (prop)
<ol>
<span class="types"><span class="type">boolean</span></span>
true if the variable is a Time object, false if it isn't a Time object
<em>true</em> if the variable is a Time object, <em>false</em> otherwise
</ol>
@ -636,7 +644,7 @@ LevelFuncs.AddProp = <span class="keyword">function</span> (prop)
<ol>
<span class="types"><span class="type">boolean</span></span>
true if the variable is a LevelFunc, false if it isn't a IsLevelFunc
<em>true</em> if the variable is a LevelFunc, <em>false</em> otherwise
</ol>

View file

@ -3,7 +3,7 @@
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>TombEngine 1.7.1 Lua API</title>
<title>TombEngine 1.8.1 Lua API</title>
<link rel="stylesheet" href="ldoc.css" type="text/css" />
</head>
<body>
@ -45,6 +45,7 @@
</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>
@ -63,6 +64,7 @@
<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>
@ -75,13 +77,17 @@
</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>
@ -97,6 +103,8 @@
</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>
@ -107,25 +115,25 @@
<div id="content">
<h2>TombEngine 1.7.1 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>Enjoy.</p>
<p>Happy building!</p>
<p>- <em>squidshire and the TombEngine development team.</em></p>
@ -153,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>
@ -174,6 +182,10 @@ local door = GetMoveableByName("door_type4_14")
</table>
<h2>2 Classes</h2>
<table class="module_list">
<tr>
<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>
@ -196,11 +208,11 @@ 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>
@ -208,7 +220,7 @@ local door = GetMoveableByName("door_type4_14")
</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>
@ -216,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>
@ -235,7 +247,11 @@ local door = GetMoveableByName("door_type4_14")
<table class="module_list">
<tr>
<td class="name" ><a href="3 primitive classes/Flow.Fog.html">Flow.Fog</a></td>
<td class="summary">Distance fog.</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>
@ -243,7 +259,7 @@ local door = GetMoveableByName("door_type4_14")
</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 lensflare object).</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>
@ -251,7 +267,7 @@ local door = GetMoveableByName("door_type4_14")
</tr>
<tr>
<td class="name" ><a href="3 primitive classes/Flow.Starfield.html">Flow.Starfield</a></td>
<td class="summary">Represents a starfield.</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>
@ -259,7 +275,7 @@ local door = GetMoveableByName("door_type4_14")
</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>
@ -276,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>
@ -284,6 +304,14 @@ 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>
@ -304,6 +332,10 @@ 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>
@ -355,6 +387,14 @@ local door = GetMoveableByName("door_type4_14")
</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>

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,7 +147,6 @@ table.index td { text-align: left; vertical-align: top; }
}
#content {
margin-left: 18em;
padding: 2em;
width: 900px;
border-left: 2px solid #cccccc;

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,7 +147,6 @@ table.index td { text-align: left; vertical-align: top; }
}
#content {
margin-left: 18em;
padding: 2em;
width: 900px;
border-left: 2px solid #cccccc;

25
LICENSE
View file

@ -1,16 +1,23 @@
MIT License
Modified MIT License (for non-commercial use only)
Copyright (c) 2024 TombEngine Team
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 deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
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:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
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,

View file

@ -1,41 +1,42 @@
# TombEngine
# Tomb Engine
![Logo](https://github.com/MontyTRC89/TombEngine/blob/7c50d26ca898c74978336d41e16ce3ce0c8ecacd/TEN%20logo.png)
TombEngine (TEN) is an open-source, custom level engine which aims to abolish limits and fix bugs of the classic Tomb Raider games, introduce new features while refining old ones, and provide 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
*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
- Tomb Editor (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) Open TombEngine.sln
4) Compile the solution
5) Once compiled, create a separate folder to serve as your main TEN directory (or create 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 as well
8) 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) If it doesn't help, manually install `directxtk_desktop_2019` and `Microsoft.XAudio2.Redist` packages via NuGet Package Manager
*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 TombEditor and run it in TEN.
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
This is a community project which is not affiliated with Core Design, Eidos Interactive, or Embracer Group AB. Tomb Raider is a registered trademark of Embracer Group AB. 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.
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

@ -26,180 +26,186 @@
-- 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 if it isn't a number
-- @usage
-- --example of use
-- local num = 255
-- if Type.IsNumber(num) then
-- num = num + 1
-- end
--- 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 if it isn't a string
-- @usage
-- --example of use
-- local str = "Hi"
-- if Type.IsString(str) then
-- TEN.Util.PrintLog(str .. "everyone!", Util.LogLevel.INFO)
-- 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 if it isn't a boolean
-- @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
--- 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 if it isn't a table
-- @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
--- 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 if it isn't a null
-- @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
--- 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 if it isn't a function
-- @usage
-- --example of use
-- LevelFuncs.RunFunc = function (func)
-- if Type.IsFunction(func) then
-- func()
-- end
-- 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 if it isn't a color
-- @usage
-- --example of use
-- LevelFuncs.SetColor = function(color)
-- if Type.IsColor(color) then
-- string:SetColor(color)
-- end
-- 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 variable ~= nil and type(variable) == "userdata" and variable.__type.name == "ScriptColor"
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 if it isn't a rotation
-- @usage
-- --example of use
-- LevelFuncs.SetRotation = function (rot)
-- if Type.IsRotation(rot) then
-- Lara:SetRotation(rot)
-- end
-- 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 variable ~= nil and type(variable) == "userdata" and variable.__type.name == "Rotation"
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 if it isn't a vec2
-- @usage
-- --example of use
-- LevelFuncs.SetSpritePos = function (pos)
-- if Type.IsVec2(pos) then
-- sprite:SetPosition(pos)
-- end
-- 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 variable ~= nil and type(variable) == "userdata" and variable.__type.name == "Vec2"
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 if it isn't a vec3
-- @usage
-- --example of use
-- LevelFuncs.SetLaraPos = function (pos)
-- if Type.IsVec3(pos) then
-- Lara:SetPosition(pos)
-- end
-- 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 variable ~= nil and type(variable) == "userdata" and variable.__type.name == "Vec3"
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 if it isn't a Time object
-- @usage
-- --example of use
-- LevelFuncs.IncreaseTime = function (time)
-- if Type.IsTime(time) then
-- time + 1
-- end
-- 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 variable ~= nil and type(variable) == "userdata" and variable.__type.name == "TEN::Scripting::Time"
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 if it isn't a IsLevelFunc
-- @usage
-- --example of use
-- LevelFuncs.SetCallback = function (func)
-- if Type.IsFunction(func) then
-- TEN.Logic.AddCallback(TEN.Logic.CallbackPoint.PRELOOP, func)
-- end
-- 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 variable ~= nil and type(variable) == "userdata" and variable.__type.name == "LevelFunc"
return getmetatable(variable) == getmetatable(LevelFuncs.TypeControlLevelFunc)
end
return Type

View file

@ -19,7 +19,7 @@ local settings = Flow.Settings.new()
settings.Flare.offset = Vec3(0, 0, 41)
settings.Flare.range = 9
settings.Flare.timeout = 60
settings.Flare.lensflareBrightness = 0.5
settings.Flare.lensflareBrightness = 1.0
settings.Flare.sparks = true
settings.Flare.smoke = true
settings.Flare.flicker = true
@ -35,6 +35,7 @@ local settings = Flow.Settings.new()
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.

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,7 +58,7 @@ 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_STOPWATCH_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 },

View file

@ -11,13 +11,15 @@ namespace TEN::Hud
class HudController
{
public:
// Members
// Fields
StatusBarsController StatusBars = {};
PickupSummaryController PickupSummary = {};
SpeedometerController Speedometer = {};
TargetHighlighterController TargetHighlighter = {};
// Utilities
void Update(const ItemInfo& playerItem);
void Draw(const ItemInfo& playerItem) const;
void Clear();

View file

@ -50,7 +50,7 @@ namespace TEN::Hud
static constexpr auto DISPLAY_PICKUP_COUNT_MAX = 64;
static constexpr auto DISPLAY_PICKUP_COUNT_ARG_DEFAULT = 1;
// Members
// Fields
std::vector<DisplayPickup> _displayPickups = {};

View file

@ -70,14 +70,14 @@ namespace TEN::Hud
// Draw dial.
AddDisplaySprite(
ID_SPEEDOMETER, DIAL_ELEMENT_SPRITE_ID,
ID_SPEEDOMETER_GRAPHICS, DIAL_ELEMENT_SPRITE_ID,
POS, 0, SCALE, color,
DIAL_PRIORITY, DisplaySpriteAlignMode::Center, DisplaySpriteScaleMode::Fit, BlendMode::AlphaBlend,
DisplaySpritePhase::Draw);
// Draw pointer.
AddDisplaySprite(
ID_SPEEDOMETER, POINTER_ELEMENT_SPRITE_ID,
ID_SPEEDOMETER_GRAPHICS, POINTER_ELEMENT_SPRITE_ID,
POS, pointerAngle + POINTER_ANGLE_OFFSET, SCALE, color,
POINTER_PRIORITY, DisplaySpriteAlignMode::Center, DisplaySpriteScaleMode::Fit, BlendMode::AlphaBlend,
DisplaySpritePhase::Draw);

View file

@ -9,7 +9,7 @@ namespace TEN::Hud
static constexpr auto LIFE_MAX = 0.75f;
// Members
// Fields
bool _hasValueUpdated = false;

View file

@ -25,7 +25,7 @@ namespace TEN::Hud
class StatusBarsController
{
private:
// Members
// Fields
StatusBar _airBar = {};
StatusBar _exposureBar = {};

View file

@ -132,7 +132,7 @@ namespace TEN::Hud
void CrosshairData::Draw() const
{
constexpr auto SPRITE_SEQUENCE_OBJECT_ID = ID_CROSSHAIR;
constexpr auto SPRITE_SEQUENCE_OBJECT_ID = ID_CROSSHAIR_GRAPHICS;
constexpr auto STATIC_ELEMENT_SPRITE_ID = 0;
constexpr auto SEGMENT_ELEMENT_SPRITE_ID = 1;
constexpr auto PRIORITY = 0; // TODO: Check later. May interfere with Lua display sprites. -- Sezz 2023.10.06

View file

@ -20,7 +20,7 @@ namespace TEN::Hud
static constexpr auto COLOR_GRAY = Color(0.7f, 0.7f, 0.7f, 0.7f);
static constexpr auto SEGMENT_COUNT = 4;
// Members
// Fields
bool IsActive = false;
bool IsPrimary = false;

View file

@ -1,25 +1,6 @@
#include "framework.h"
#include "Game/Lara/lara.h"
#include "Game/Lara/lara_basic.h"
#include "Game/Lara/lara_cheat.h"
#include "Game/Lara/lara_climb.h"
#include "Game/Lara/lara_collide.h"
#include "Game/Lara/lara_crawl.h"
#include "Game/Lara/lara_fire.h"
#include "Game/Lara/lara_hang.h"
#include "Game/Lara/lara_helpers.h"
#include "Game/Lara/lara_helpers.h"
#include "Game/Lara/lara_initialise.h"
#include "Game/Lara/lara_jump.h"
#include "Game/Lara/lara_monkey.h"
#include "Game/Lara/lara_objects.h"
#include "Game/Lara/lara_one_gun.h"
#include "Game/Lara/lara_overhang.h"
#include "Game/Lara/lara_slide.h"
#include "Game/Lara/lara_surface.h"
#include "Game/Lara/lara_swim.h"
#include "Game/Lara/lara_tests.h"
#include "Game/animation.h"
#include "Game/camera.h"
#include "Game/collision/collide_item.h"
@ -32,11 +13,24 @@
#include "Game/effects/tomb4fx.h"
#include "Game/Gui.h"
#include "Game/items.h"
#include "Game/Lara/lara_basic.h"
#include "Game/Lara/lara_cheat.h"
#include "Game/Lara/lara_climb.h"
#include "Game/Lara/lara_collide.h"
#include "Game/Lara/lara_crawl.h"
#include "Game/Lara/lara_fire.h"
#include "Game/Lara/lara_hang.h"
#include "Game/Lara/lara_helpers.h"
#include "Game/Lara/lara_initialise.h"
#include "Game/Lara/lara_jump.h"
#include "Game/Lara/lara_monkey.h"
#include "Game/Lara/lara_objects.h"
#include "Game/Lara/lara_one_gun.h"
#include "Game/Lara/lara_overhang.h"
#include "Game/Lara/lara_slide.h"
#include "Game/Lara/lara_surface.h"
#include "Game/Lara/lara_swim.h"
#include "Game/Lara/lara_tests.h"
#include "Game/Lara/PlayerStateMachine.h"
#include "Game/misc.h"
#include "Game/savegame.h"

View file

@ -46,6 +46,7 @@ constexpr auto LARA_HEIGHT_TREAD = 700; // Height in water tread states.
constexpr auto LARA_HEIGHT_STRETCH = 870; // Height in jump up and ledge hang states.
constexpr auto LARA_HEIGHT_REACH = 820; // Height in reach state.
constexpr auto LARA_HEIGHT_SURFACE = 800; // Height when resurfacing water.
constexpr auto LARA_HEIGHT_UNDERWATER = 254; // Minimum height underwater.
constexpr auto LARA_HEADROOM = 160; // Reasonable space above head.
constexpr auto LARA_RADIUS = 100;
constexpr auto LARA_RADIUS_CRAWL = 200;

View file

@ -540,13 +540,9 @@ void LaraSwimCollision(ItemInfo* item, CollisionInfo* coll)
coll->Setup.ForwardAngle = item->Pose.Orientation.y;
}
int height = abs(LARA_HEIGHT * phd_sin(item->Pose.Orientation.x));
int height = std::max((int)abs(LARA_HEIGHT * phd_sin(item->Pose.Orientation.x)), LARA_HEIGHT_UNDERWATER);
auto offset = Vector3i(0, height / 2, 0);
auto level = g_GameFlow->GetLevel(CurrentLevel);
if (height < ((level->GetLaraType() == LaraType::Divesuit) << 6) + 200)
height = ((level->GetLaraType() == LaraType::Divesuit) << 6) + 200;
coll->Setup.UpperFloorBound = -CLICK(0.25f);
coll->Setup.Height = height;

View file

@ -421,8 +421,8 @@ void lara_as_crawl_idle(ItemInfo* item, CollisionInfo* coll)
}
if ((IsHeld(In::Sprint) && CanCrouchRoll(*item, *coll)) ||
((IsHeld(In::Draw) || IsHeld(In::Flare)) &&
!IsStandingWeapon(item, player.Control.Weapon.GunType) && HasStateDispatch(item, LS_CROUCH_IDLE)))
((IsHeld(In::Draw) || (IsHeld(In::Flare) && player.Inventory.TotalFlares)) &&
!IsStandingWeapon(item, player.Control.Weapon.GunType) && HasStateDispatch(item, LS_CROUCH_IDLE)))
{
item->Animation.TargetState = LS_CROUCH_IDLE;
player.Control.HandStatus = HandStatus::Free;

View file

@ -574,7 +574,7 @@ void HandleWeapon(ItemInfo& laraItem)
}
else if (player.Inventory.TotalFlares && !player.Control.Look.IsUsingBinoculars)
{
if (player.Inventory.TotalFlares != -1)
if (player.Inventory.TotalFlares != NO_VALUE)
player.Inventory.TotalFlares--;
player.Control.Weapon.RequestGunType = LaraWeaponType::Flare;
@ -648,7 +648,13 @@ void HandleWeapon(ItemInfo& laraItem)
laraItem.Animation.ActiveState == LS_CRAWL_IDLE &&
laraItem.Animation.AnimNumber == LA_CRAWL_IDLE)
{
player.Control.Weapon.RequestGunType = LaraWeaponType::Flare;
if (player.Inventory.TotalFlares)
{
if (player.Inventory.TotalFlares != NO_VALUE)
player.Inventory.TotalFlares--;
player.Control.Weapon.RequestGunType = LaraWeaponType::Flare;
}
}
switch (player.Control.HandStatus)

View file

@ -476,14 +476,14 @@ void HandlePlayerLookAround(ItemInfo& item, bool invertXAxis)
if ((IsHeld(In::Forward) || IsHeld(In::Back)) &&
(player.Control.Look.Mode == LookMode::Free || player.Control.Look.Mode == LookMode::Vertical))
{
axisCoeff.x = AxisMap[(int)InputAxis::Move].y;
axisCoeff.x = AxisMap[InputAxisID::Move].y;
}
// Determine Y axis coefficient.
if ((IsHeld(In::Left) || IsHeld(In::Right)) &&
(player.Control.Look.Mode == LookMode::Free || player.Control.Look.Mode == LookMode::Horizontal))
{
axisCoeff.y = AxisMap[(int)InputAxis::Move].x;
axisCoeff.y = AxisMap[InputAxisID::Move].x;
}
// Determine turn rate base values.
@ -583,7 +583,7 @@ void HandlePlayerLean(ItemInfo* item, CollisionInfo* coll, short baseRate, short
if (!item->Animation.Velocity.z)
return;
float axisCoeff = AxisMap[(int)InputAxis::Move].x;
float axisCoeff = AxisMap[InputAxisID::Move].x;
int sign = copysign(1, axisCoeff);
short maxAngleNormalized = maxAngle * axisCoeff;
@ -604,7 +604,7 @@ void HandlePlayerCrawlFlex(ItemInfo& item)
if (item.Animation.Velocity.z == 0.0f)
return;
float axisCoeff = AxisMap[(int)InputAxis::Move].x;
float axisCoeff = AxisMap[InputAxisID::Move].x;
int sign = copysign(1, axisCoeff);
short maxAngleNormalized = FLEX_ANGLE_MAX * axisCoeff;
@ -802,6 +802,7 @@ void HandlePlayerFlyCheat(ItemInfo& item)
item.Animation.Velocity = Vector3::Zero;
item.Animation.IsAirborne = true;
item.Pose.Position.y -= CLICK(0.5f);
item.Pose.Scale = Vector3::One;
item.HitPoints = LARA_HEALTH_MAX;
player.Control.WaterStatus = WaterStatus::FlyCheat;
@ -1230,7 +1231,7 @@ void ModulateLaraTurnRateY(ItemInfo* item, short accelRate, short minTurnRate, s
{
auto* lara = GetLaraInfo(item);
float axisCoeff = AxisMap[(int)InputAxis::Move].x;
float axisCoeff = AxisMap[InputAxisID::Move].x;
if (item->Animation.IsAirborne)
{
int sign = std::copysign(1, axisCoeff);

View file

@ -14,6 +14,7 @@
#include "Game/effects/effects.h"
#include "Game/effects/item_fx.h"
#include "Game/effects/Ripple.h"
#include "Game/effects/Splash.h"
#include "Game/effects/tomb4fx.h"
#include "Game/effects/weather.h"
#include "Game/items.h"
@ -38,6 +39,7 @@ using namespace TEN::Effects::Drip;
using namespace TEN::Effects::Environment;
using namespace TEN::Effects::Items;
using namespace TEN::Effects::Ripple;
using namespace TEN::Effects::Splash;
using namespace TEN::Entities::Switches;
using namespace TEN::Input;
using namespace TEN::Math;
@ -1084,7 +1086,7 @@ void FireCrossbow(ItemInfo& laraItem, const std::optional<Pose>& pose)
void FireCrossBowFromLaserSight(ItemInfo& laraItem, GameVector* origin, GameVector* target)
{
auto orient = Geometry::GetOrientToPoint(origin->ToVector3(), target->ToVector3());
auto boltPose = Pose(origin->x, origin->y, origin->z, orient);
auto boltPose = Pose(origin->ToVector3i(), orient);
FireCrossbow(laraItem, boltPose);
}
@ -1337,8 +1339,8 @@ void DoExplosiveDamage(ItemInfo& emitter, ItemInfo& target, ItemInfo& projectile
SaveGame::Statistics.Level.AmmoHits++;
if (target.HitPoints <= 0)
{
SaveGame::Statistics.Level.Kills++;
SaveGame::Statistics.Game.Kills++;
SaveGame::Statistics.Level.Kills++;
CreatureDie(target.Index, true);
}
}
@ -1584,7 +1586,7 @@ void HandleProjectile(ItemInfo& projectile, ItemInfo& emitter, const Vector3i& p
continue;
TriggerExplosionSparks(staticPtr->pos.Position.x, staticPtr->pos.Position.y, staticPtr->pos.Position.z, 3, -2, 0, projectile.RoomNumber);
auto pose = Pose(staticPtr->pos.Position.x, staticPtr->pos.Position.y - 128, staticPtr->pos.Position.z, 0, staticPtr->pos.Orientation.y, 0);
auto pose = Pose(Vector3i(staticPtr->pos.Position.x, staticPtr->pos.Position.y - 128, staticPtr->pos.Position.z), EulerAngles(0, staticPtr->pos.Orientation.y, 0));
TriggerShockwave(&pose, 40, 176, 64, 0, 96, 128, 16, EulerAngles::Identity, 0, true, false, false, (int)ShockwaveStyle::Normal);
}

View file

@ -520,7 +520,7 @@ enum LaraAnim
LA_CRAWL_BACK_TO_IDLE_RIGHT = 277, // Crawl back > crawl idle, right foot first
LA_REMOVE_PUZZLE = 278, // Remove puzzle item > idle
LA_CRAWL_BACK_TO_IDLE_LEFT = 279, // Crawl back > crawl idle, left foot first
LA_CRAWL_BACK_TO_IDLE_LEFT_END = 280, // Unused.
LA_REMOVE_PUZZLE_UNDERWATER = 280, // Remove puzzle item > underwater idle
LA_CRAWL_TURN_LEFT_TO_IDLE_EARLY = 281, // Crawl rotate left > crawl idle, early opportunity
LA_CRAWL_TURN_RIGHT_TO_IDLE_EARLY = 282, // Crawl rotate right > crawl idle, early opportunity
LA_MONKEY_TURN_LEFT_TO_IDLE_EARLY = 283, // Turn left on monkey swing > monkey swing idle, 1st opportunity
@ -611,7 +611,7 @@ enum LaraAnim
LA_LADDER_RIGHT_CORNER_OUTER_START = 365, // Ladder around outer right corner
LA_PUSHABLE_BLOCK_PUSH_EDGE_SLIP = 366,
LA_LADDER_LEFT_CORNER_INNER_START = 367, // Ladder around inner left corner
LA_LADDER_LEFT_CORNER_INNER_END = 368, // TODO: Remove.
LA_LADDER_LEFT_CORNER_INNER_END = 368,
LA_LADDER_RIGHT_CORNER_INNER_START = 369, // Ladder around inner right corner
LA_LADDER_RIGHT_CORNER_INNER_END = 370, // TODO: Remove.
LA_JUMP_UP_TO_ROPE_START = 371, // Jump up > rope idle (1/2)
@ -688,7 +688,7 @@ enum LaraAnim
LA_PICKUP_SARCOPHAGUS = 439, // Pickup from sarcophagus
LA_DRAG_BODY = 440, // Drag dead body
LA_BINOCULARS_IDLE = 441, // Stand, looking through binoculars
LA_UNUSED_442 = 442, // Formelly, LA_BIG_SCORPION_DEATH, but that animation is now in LARA EXTRA ANIMS so this slot is unused.
LA_UNDERWATER_FLOOR_TRAPDOOR = 442, // Underwater floor trapdoor
LA_ELEVATOR_RECOVER = 443, // Recover from elevator crash
LA_MECHANICAL_BEETLE_USE = 444, // Wind mechanical beetle, place on floor
LA_FLY_CHEAT = 445, // Fly cheat
@ -828,8 +828,7 @@ enum LaraAnim
NUM_LARA_ANIMS
// TRASHED ANIMS (reuse slots before going any higher and remove entries from this list when you do):
// 280,
// 368, 370,
// 370,
// 442
};

View file

@ -27,6 +27,7 @@
#include "Objects/TR4/Entity/tr4_beetle_swarm.h"
#include "Objects/Utils/object_helper.h"
#include "Specific/level.h"
#include "Objects/Effects/Fireflies.h"
using namespace TEN::Effects::Hair;
using namespace TEN::Entities;
@ -78,38 +79,38 @@ ObjectInfo& ObjectHandler::GetFirstAvailableObject()
void StaticHandler::Initialize()
{
_lookupTable.resize(0);
_lookupTable.reserve(_defaultLUTSize);
_lut.resize(0);
_lut.reserve(LUT_SIZE);
_statics.resize(0);
}
int StaticHandler::GetIndex(int staticID)
{
if (staticID < 0 || staticID >= _lookupTable.size())
if (staticID < 0 || staticID >= _lut.size())
{
TENLog("Attempt to get nonexistent static mesh ID slot index (" + std::to_string(staticID) + ")", LogLevel::Warning);
return _lookupTable.front();
TENLog("Attempted to get index of missing static object " + std::to_string(staticID) + ".", LogLevel::Warning);
return _lut.front();
}
return _lookupTable[staticID];
return _lut[staticID];
}
StaticInfo& StaticHandler::operator [](int staticID)
{
if (staticID < 0)
{
TENLog("Attempt to access illegal static mesh ID slot info", LogLevel::Warning);
TENLog("Attempted to access missing static object " + std::to_string(staticID) + ".", LogLevel::Warning);
return _statics.front();
}
if (staticID >= _lookupTable.size())
_lookupTable.resize(staticID + 1, NO_VALUE);
if (staticID >= _lut.size())
_lut.resize(staticID + 1, NO_VALUE);
if (_lookupTable[staticID] != NO_VALUE)
return _statics[_lookupTable[staticID]];
if (_lut[staticID] != NO_VALUE)
return _statics[_lut[staticID]];
_statics.emplace_back();
_lookupTable[staticID] = (int)_statics.size() - 1;
_lut[staticID] = (int)_statics.size() - 1;
return _statics.back();
}
@ -174,6 +175,7 @@ void InitializeGameFlags()
FlipEffect = NO_VALUE;
FlipStatus = false;
NumRPickups = 0;
Camera.underwater = false;
}
@ -183,7 +185,6 @@ void InitializeSpecialEffects()
memset(&SmokeSparks, 0, MAX_SPARKS_SMOKE * sizeof(SMOKE_SPARKS));
memset(&Gunshells, 0, MAX_GUNSHELL * sizeof(GUNSHELL_STRUCT));
memset(&Blood, 0, MAX_SPARKS_BLOOD * sizeof(BLOOD_STRUCT));
memset(&Splashes, 0, MAX_SPLASHES * sizeof(SPLASH_STRUCT));
memset(&ShockWaves, 0, MAX_SHOCKWAVE * sizeof(SHOCKWAVE_STRUCT));
memset(&Particles, 0, MAX_PARTICLES * sizeof(Particle));
@ -200,6 +201,7 @@ void InitializeSpecialEffects()
TEN::Entities::TR4::ClearBeetleSwarm();
TEN::Entities::Creatures::TR3::ClearFishSwarm();
TEN::Effects::Fireflies::ClearFireflySwarm();
}
void CustomObjects()
@ -209,6 +211,8 @@ void CustomObjects()
void InitializeObjects()
{
TENLog("Initializing objects...", LogLevel::Info);
AllocTR4Objects();
AllocTR5Objects();
@ -251,10 +255,6 @@ void InitializeObjects()
// User defined objects
CustomObjects();
HairEffect.Initialize();
InitializeSpecialEffects();
NumRPickups = 0;
CurrentSequence = 0;
SequenceResults[0][1][2] = 0;
SequenceResults[0][2][1] = 1;

View file

@ -135,10 +135,10 @@ struct StaticInfo
class StaticHandler
{
private:
static const int _defaultLUTSize = 256;
static constexpr auto LUT_SIZE = 256;
std::vector<StaticInfo> _statics = {};
std::vector<int> _lookupTable = {};
std::vector<int> _lut = {};
public:
void Initialize();
@ -147,6 +147,7 @@ public:
StaticInfo& operator [](int staticID);
// Iterators
auto begin() { return _statics.begin(); } // Non-const begin
auto end() { return _statics.end(); } // Non-const end
auto begin() const { return _statics.cbegin(); } // Const begin

View file

@ -711,6 +711,10 @@ Vector3i GetJointPosition(const ItemInfo& item, const CreatureBiteInfo& bite)
Vector3 GetJointOffset(GAME_OBJECT_ID objectID, int jointIndex)
{
const auto& object = Objects[objectID];
int boneIndex = object.boneIndex + (jointIndex * 4);
if (g_Level.Bones.size() <= boneIndex)
return Vector3::Zero;
int* bonePtr = &g_Level.Bones[object.boneIndex + (jointIndex * 4)];
return Vector3(*(bonePtr + 1), *(bonePtr + 2), *(bonePtr + 3));

View file

@ -93,7 +93,7 @@ void DoThumbstickCamera()
if (Camera.laraNode == -1 && Camera.target.ToVector3i() == OldCam.target)
{
const auto& axisCoeff = AxisMap[(int)InputAxis::Camera];
const auto& axisCoeff = AxisMap[InputAxisID::Camera];
if (abs(axisCoeff.x) > EPSILON && abs(Camera.targetAngle) == 0)
Camera.targetAngle = ANGLE(VERTICAL_CONSTRAINT_ANGLE * axisCoeff.x);
@ -659,7 +659,7 @@ void CombatCamera(ItemInfo* item)
auto pointColl = GetPointCollision(Vector3i(Camera.target.x, Camera.target.y + CLICK(1), Camera.target.z), Camera.target.RoomNumber);
if (TestEnvironment(ENV_FLAG_SWAMP, pointColl.GetRoomNumber()))
Camera.target.y = g_Level.Rooms[pointColl.GetRoomNumber()].Position.y - CLICK(1);
Camera.target.y = g_Level.Rooms[pointColl.GetRoomNumber()].TopHeight - CLICK(1);
pointColl = GetPointCollision(Camera.target.ToVector3i(), Camera.target.RoomNumber);
Camera.target.RoomNumber = pointColl.GetRoomNumber();

View file

@ -10,6 +10,7 @@
#include "Game/effects/debris.h"
#include "Game/effects/effects.h"
#include "Game/effects/simple_particle.h"
#include "Game/effects/Splash.h"
#include "Game/effects/tomb4fx.h"
#include "Game/items.h"
#include "Game/Lara/lara.h"
@ -25,6 +26,7 @@
using namespace TEN::Collision::Floordata;
using namespace TEN::Collision::Point;
using namespace TEN::Collision::Sphere;
using namespace TEN::Effects::Splash;
using namespace TEN::Math;
constexpr auto ANIMATED_ALIGNMENT_FRAME_COUNT_THRESHOLD = 6;
@ -890,7 +892,8 @@ void CollideBridgeItems(ItemInfo& item, CollisionInfo& coll, PointCollisionData&
auto deltaPose = Pose(deltaPos, deltaOrient);
// Item is grounded and bridge position changed; set shift.
if (deltaPose != Pose::Zero && !item.Animation.IsAirborne)
if (deltaPose != Pose::Zero && !item.Animation.IsAirborne &&
item.IsLara() ? (GetLaraInfo(item).Control.WaterStatus != WaterStatus::Underwater && GetLaraInfo(item).Control.WaterStatus != WaterStatus::FlyCheat) : true)
{
const auto& bridgePos = bridgeItem.Pose.Position;
@ -943,6 +946,10 @@ void CollideSolidStatics(ItemInfo* item, CollisionInfo* coll)
if (!(mesh.flags & StaticMeshFlags::SM_VISIBLE))
continue;
// Bypass static meshes which are marked as non-collidable.
if (!(mesh.flags & StaticMeshFlags::SM_COLLISION))
continue;
// Only process meshes which are solid, or if solid mode is set by the setup.
if (!coll->Setup.ForceSolidStatics && !(mesh.flags & StaticMeshFlags::SM_SOLID))
continue;
@ -1891,9 +1898,14 @@ void DoObjectCollision(ItemInfo* item, CollisionInfo* coll)
for (auto& staticObject : neighborRoom.mesh)
{
// Check if static is visible.
if (!(staticObject.flags & StaticMeshFlags::SM_VISIBLE))
continue;
// Check if static is collidable.
if (!(staticObject.flags & StaticMeshFlags::SM_COLLISION))
continue;
// For Lara, solid static mesh collisions are directly managed by GetCollisionInfo,
// so we bypass them here to avoid interference.
if (isPlayer && (staticObject.flags & StaticMeshFlags::SM_SOLID))

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