Commit graph

8102 commits

Author SHA1 Message Date
hispidence
89527fcd74 Add ScriptAssert files to vcxproj. 2021-08-04 16:52:50 +01:00
hispidence
aaa905bc5c Make ScriptErrorMode static. 2021-08-04 16:51:58 +01:00
hispidence
1d1653f995 Replace WarningsAsErrors usage with ScriptAssert usage.
For recoverable errors, add some recovery behaviour and logging so a level designer can see in the log what was done as a result of the error.

Warn about default behaviour if no callbacks are added.
2021-08-04 16:51:28 +01:00
hispidence
5929180395 Remove AddLuaId and GetItemById. 2021-08-04 16:21:00 +01:00
hispidence
f71deca16e Add ScriptAssert.
This is to be used when an error is discovered in a Lua Script.

The var ScriptErrorMode refers to the error mode the user has chosen (silent, warn, terminate). At the moment this is hardcoded but will soon become editable to a LD via settings.

ScriptAssert will read this variable and take the appropriate action when an assert is failed.

IGNORE will do nothing (we should make a note in the documentation that this should almost certainly not be used by the LD if they can avoid it).
WARN will call TENLog with LogLevel::Warn.
TERMINATE will throw a TENScriptException, where it will be caught at GameMain, where TENLog will be called.

There are circumstances where we will HAVE to terminate, even if the user has opted not to (i.e. errors where there is nothing sensible that can be done, such as syntax errors that would terminate Lua anyway). For these, we can pass in ERROR_MODE::TERMINATE as the last variable.
2021-08-04 16:18:52 +01:00
Raildex
485638988a Added new Sprite Slots for Bars, Binoculars,(Lasersight) and Caustics 2021-08-04 10:21:45 +02:00
Troye
a5630af88e fix flare cancels (again); use LM_LHAND for torch NodeOffset; remove unused TES_extra_tab; 2021-08-04 01:17:04 -05:00
hispidence
9456f91f98 Fix indentation. 2021-08-03 15:16:55 +01:00
hispidence
7950f7895b Add debug.cpp to the project. 2021-08-03 15:16:23 +01:00
hispidence
82cce55be4 Rename GameScriptSettings to Settings on the Lua side. 2021-08-03 15:16:06 +01:00
hispidence
a637701d63 Replace std::runtime_exception with TENScriptException. 2021-08-03 15:15:42 +01:00
hispidence
dfcbdb753a Wrap GameMain in a try-catch that catches TENScriptException. Any unhandled exception should be caught here and logged. 2021-08-03 15:14:24 +01:00
hispidence
4155d5faa4 Change ExecuteScript and ExecuteString to return void and throw a TENScriptException on error. Remove my old comments which didn't really add info. Implement SetSettings. 2021-08-03 15:12:24 +01:00
hispidence
7ac16ab2d3 Add TENLog and TENScriptException. 2021-08-03 15:08:43 +01:00
Lwmte
e9b78d8919 Fix GetSpheres again, but currently still broken in some cases (eg lever switch) 2021-08-03 14:14:37 +03:00
Lwmte
95d5f5853e Fix GetSpheres some more, fix cameras/sinks/AI objects/sound sources not cleaning on reload 2021-08-03 13:23:51 +03:00
Lwmte
331bafbf5c Fix GetSpheres and probably a lot of collision issues 2021-08-03 12:32:23 +03:00
Lwmte
977aca9b8f Move all textures to /Textures folder 2021-08-03 10:34:01 +03:00
Lwmte
1323a06c8f Fix window stuff, move caustics to subfolder 2021-08-03 10:17:24 +03:00
Lwmte
4dd1557893 Fix icon size 2021-08-03 09:42:15 +03:00
Troye
cdfdeb40b7 Fix Spline 2021-08-03 01:11:42 -05:00
Raildex
b144a763fe Fixed Debris Functions 2021-08-03 06:54:36 +02:00
Raildex
f4622315cf Fixed Climb Out Of Water towards -X 2021-08-03 06:54:26 +02:00
Raildex
81b349dc26 Fixed UpdateDebris 2021-08-03 06:07:51 +02:00
MontyTRC89
486cd5b820 Fixed compilation error in UpdateDebris() 2021-08-03 05:40:25 +02:00
Lwmte
c61b0a0d95 Assign remaining hit effect flags for TR4 2021-08-03 01:43:34 +03:00
Lwmte
57937f1d15 Fix several silly mistakes with std::vector 2021-08-03 01:30:44 +03:00
Lwmte
2bdf90092f Update TR5Main.vcxproj.user 2021-08-02 19:43:15 +03:00
Lwmte
83b1ed8bf0 Fix #273 2021-08-02 19:42:07 +03:00
Lwmte
3e5a75416f Fix crash if meshswap is not present 2021-08-02 19:20:58 +03:00
Lwmte
9797ce8f13 Also rename solution 2021-08-02 18:38:51 +03:00
Lwmte
cf245869b7 Rename project to TEN, add icon 2021-08-02 17:53:44 +03:00
Lwmte
17b7a8f501 Fix #236 2021-08-02 17:16:23 +03:00
Raildex
6856543d0f Putting Light of Lara's burning to Lara's hips 2021-08-02 16:12:15 +02:00
Lwmte
2c64db3e30 Fix demigod fireballs and binoculars zoom 2021-08-02 16:51:36 +03:00
Lwmte
ab1def8cd3 Merge branch 'master' of https://github.com/MontyTRC89/TombEngine 2021-08-02 15:54:18 +03:00
Lwmte
7683cacb3f Fix Lara fire 2021-08-02 15:40:51 +03:00
Raildex
fcae58261f Fixed Debris collision 2021-08-02 14:18:28 +02:00
hispidence
386365ef21 Merge branch 'master' of https://github.com/MontyTRC89/TombEngine 2021-08-02 13:10:34 +01:00
Lwmte
7e37ee8572 Fix some sentry gun bugs 2021-08-02 15:01:28 +03:00
hispidence
818b0f7db2 Merge branch 'master' of https://github.com/MontyTRC89/TombEngine 2021-08-02 12:49:32 +01:00
hispidence
498873bc65 Remove HandleScriptMessage and associated globals - apparently this is no longer supposed to be here. 2021-08-02 12:49:17 +01:00
Lwmte
407373d193 Remove poisoning by medkits 2021-08-02 14:44:28 +03:00
Lwmte
1c4c321e0d Assign hitEffect for most objects 2021-08-02 14:21:41 +03:00
Raildex
915b438f5a Reduced Vertex Count for Bars from 9 to 5
Added define for PI for shaders
Added Primes to Vertex Hash generation
Fixed Debris
2021-08-02 13:16:51 +02:00
Lwmte
e013ed4e24 Fix binoculars mode engaging other states 2021-08-02 12:35:17 +03:00
Lwmte
1317c85bd6 Fix small scorpion poisoning ratio 2021-08-02 12:07:54 +03:00
Lwmte
d24f30452e Remove gnFrameCounter which is seemingly the same as GlobalCounter 2021-08-02 11:25:53 +03:00
Lwmte
551982d453 Fix poisoning 2021-08-01 23:28:54 +03:00
hispidence
f6d1ae0bda Restore original line now that the stack overflow is fixed. 2021-08-01 20:50:41 +01:00