hispidence
e63153cc88
Implement ShowString, HideString, and PrintString.
2021-08-27 18:56:35 +01:00
hispidence
538fe191a8
Add GameScriptDisplayString.h and .cpp.
2021-08-27 18:49:59 +01:00
hispidence
5a5ca519dc
Replace Get*ByName with GetByName, AddLuaName* with AddName, and RemoveLuaName* with RemoveName. Replace m_*MapName with m_nameMap. Use a std::variant for the types that m_nameMap elements could be. Modify SetNameCallbacks params to be variadic. These do make it look more complex, but also make it more generic, and mean that specific parameters do not need to be repeated (which will make it easier if/when we change said parameters).
2021-08-27 18:21:37 +01:00
hispidence
b71555efa8
Add ReservedScriptNames.h. This holds some static const strings to be used as template arguments.
2021-08-27 18:11:59 +01:00
hispidence
b5fe8904c1
Add IdentifierType for named script types. This is in an effort to consolidate a lot of very similar functions into a few templates.
2021-08-27 18:10:19 +01:00
hispidence
f7cff1076e
Add comment for prev commit.
2021-08-27 14:32:00 +01:00
hispidence
824a65e603
Make GameScriptColor able to convert to D3DCOLOR.
2021-08-27 14:30:41 +01:00
hispidence
578724a9c6
Set callbacks to nil and collect garbage when unloading level.
2021-08-27 12:46:01 +01:00
hispidence
770a791c0d
Make ExecuteFunction print a better error message with the name of the function.
2021-08-23 22:07:18 +01:00
hispidence
cb1ad16b2d
Remove more vestiges of old trigger system. Replace TO_LUA_SCRIPT with the enum that used to be there - TO_BODYBAG - so that the following enums still have their same values.
2021-08-23 22:05:58 +01:00
hispidence
5f66005277
Remove j.
2021-08-23 19:22:31 +01:00
hispidence
bc9e863307
Give documentation comments new tag names. Part 2 of making the documentation better.
2021-08-23 19:16:24 +01:00
hispidence
bdbded2221
Rename ItemInfo functions newItem and newItemTemporary to new and newTemporary for consistency.
2021-08-23 02:07:17 +01:00
hispidence
9bf5c361e2
Clean up GameLogicScript.
...
Add some new member functions, ResetLevelTables and GetLevelFunc. The former is called in FreeLevelScripts, which is now called in control.cpp.
Remove AddTrigger, as the LevelFuncs table takes care of triggers.
2021-08-23 02:02:47 +01:00
hispidence
369e4c7562
Add and fix documentation.
2021-08-21 00:29:54 +01:00
hispidence
afdec32c1f
Fix GetFrameNumber, SetFrameNumber, GetAnimNumber and SetAnimNumber.
2021-08-21 00:25:15 +01:00
hispidence
a75b43b7c5
Implement ScriptAssertF and ScriptAssertTerminateF.
...
These are like ScriptAssert, but make use of the fmt library (atm hijacking the version that comes with spdlog). This allows us to pass in a format string and some args, and then only create the format string if there's an actual error. This means we won't waste time doing a ton of std::string concatenations if the assert succeeds.
As these are variadic templates, we can't use a std::optional as the last argument to check if we're forcing a different error mode (we possibly could by assuming the last arg is a std::optional, but that seems unclean), so instead I've just separated them out into two functions.
2021-08-21 00:23:14 +01:00
hispidence
f83add0f4c
Float->short to fix a warning.
2021-08-21 00:16:22 +01:00
hispidence
6c3f2d1673
Update SetScriptErrorMode call.
2021-08-21 00:15:56 +01:00
hispidence
8d84ee6f3f
Rename SetErrorMode to SetScriptErrorMode to avoid VS getting confused by some MS function with the same name. Add GetScriptErrorMode.
2021-08-21 00:13:44 +01:00
hispidence
a20cad7ed6
Remove obsolete class.
2021-08-20 03:01:32 +01:00
hispidence
1d052a73e1
Remove comments; these are technically no longer unused as they're linked up with Lua variables.
2021-08-20 02:43:56 +01:00
hispidence
10419d15a8
Fixed some GameFlowScript.cpp warnings:
...
Remove SkyVelocity1 and SkyVelocity2 - they weren't being used.
Change a loop var to a size_t.
Make GameScriptInventoryObject.yOffset a short.
2021-08-20 02:42:47 +01:00
hispidence
2039df5a27
Add newindex error to SoundSourceInfo.
2021-08-20 01:51:51 +01:00
hispidence
1e2a2bfa63
Fix some documentation.
2021-08-20 01:51:16 +01:00
hispidence
93483e76ef
Add unlimitedAir documentation comment.
2021-08-20 01:48:06 +01:00
hispidence
51c3ffe3d3
Give newindex errors to script classes which already have index errors.
2021-08-20 01:41:14 +01:00
hispidence
178b66978a
Move index_error_maker into new file (ScriptUtil.h). Add newindex_error_maker. Make them call ScriptAssert instead of just throwing an exception so it won't terminate the application on WARN or SILENT error modes.
2021-08-20 01:37:49 +01:00
hispidence
07a756a369
Remove some unused includes.
2021-08-17 14:23:47 +01:00
hispidence
9b4cd106d1
Make some getters const.
2021-08-17 13:37:08 +01:00
hispidence
672f90e238
Add documentation for SetGameFarView, Level.FarView, and Level.UVRotate, as well as some value checking.
2021-08-17 13:36:34 +01:00
hispidence
3a01ec6629
Fix assert error message.
2021-08-17 00:30:21 +01:00
hispidence
b8521b5224
Fail assert if string is not found.
2021-08-16 12:52:45 +01:00
hispidence
af84f318b6
Document errorMode. Make it an enum on the Lua side rather than a string.
2021-08-16 12:52:06 +01:00
hispidence
3f3b259cb9
Make window title a strings.lua string instead.
2021-08-15 23:23:33 +01:00
hispidence
0fd15ad18d
Make AudioTrack documentation stub.
2021-08-15 23:07:22 +01:00
hispidence
813b8bb42a
Add documentation comments in GameFlowScript.cpp.
...
Move windowTitle from GameScriptSettings to GameFlowScript and rename it to SetWindowTitleKey.
2021-08-15 23:04:56 +01:00
hispidence
93117c56a3
Fix some documentation.
2021-08-12 22:11:50 +01:00
hispidence
adcee07c68
Fix some GameLogic documentation.
2021-08-12 20:14:40 +01:00
hispidence
c8de277d44
Remove GetLara as the Lara object is easier to use.
...
Add documentation for the Lara object.
2021-08-12 20:14:02 +01:00
hispidence
cd16268e19
Actually add documentation.
2021-08-12 19:58:22 +01:00
hispidence
3efa8f16b7
Take CalculateDistance and CalculateHorizontalDistance out of header file as they can be static now.
...
Add documentation for said functions.
2021-08-12 19:57:17 +01:00
hispidence
53cd3add4f
Register CalculateDistance and CalculateHorizontalDistance in GameLogicScript.
2021-08-12 19:54:03 +01:00
hispidence
582b000fb9
Make OnControlPhase take a float, representing the delta time.
...
This is not ACTUALLY the amount of time that has passed, since things in the gameplay loop appear to assume they are being called thirty times per second, even if more or less time has passed. Thus to keep the scripts in sync with the the rest of the engine, we force a 1/30 second delta time.
2021-08-12 18:20:14 +01:00
hispidence
196646297b
Amend doc comment.
2021-08-12 17:20:09 +01:00
hispidence
adf1361d99
Fix documentation; Level -> LevelVars.
2021-08-12 02:43:59 +01:00
hispidence
ea1649b7b1
Make "loop" arg to PlayAudioTrack optional; defaulting to false.
2021-08-12 02:39:29 +01:00
hispidence
b708a6068d
Add comments and update documentation for InventoryAdd/InventoryRemove.
2021-08-12 02:38:30 +01:00
hispidence
c1b46afd62
Rename Lua tables Game and Level to GameVars and LevelVars to disambiguate the latter from the Level class.
2021-08-12 00:39:52 +01:00
hispidence
16a605f102
Remove GameScriptLevel members which look superfluous. Mark some others as unused (for now).
2021-08-11 14:51:21 +01:00