hispidence
88c31503ca
Add this comment to remind myself to think about stuff when implementing loading/saving.
2021-08-31 13:25:42 +01:00
hispidence
70cc036605
Make SetLevelFunc and GetLevelFunc only store the function in m_levelFuncs.
...
Store the function in m_levelFuncs instead of the table itself.
2021-08-30 18:21:42 +01:00
hispidence
b5d8fe06ad
Fix wrong function name.
2021-08-29 21:08:20 +01:00
hispidence
a2303d022f
Add the functions/properties SetPos, GetPos, col and key to DisplayString.
...
Add documentation too.
2021-08-29 20:28:40 +01:00
hispidence
fa5a6fd443
Add DisplayString "flags" and "translated" support, as well as some things I forgot to commit earlier.
2021-08-29 20:25:54 +01:00
hispidence
9a1831bc8f
Remove PrintString; it has been "replaced" with DisplayString/AddString.
2021-08-29 20:11:29 +01:00
hispidence
8c1e290683
Rename AddDisplayString to SetDisplayString. Make it call insert_or_assign instead of just insert.
...
Add GetDisplayString and assorted types/static functions.
2021-08-29 20:09:59 +01:00
hispidence
3d1f2abd0b
Add ScreenToPercent and PercentToScreen.
2021-08-29 20:03:51 +01:00
hispidence
dde17f88cd
Make MakeReadOnlyTable give the metatable its own metatable with an __index metamethod which raises an error (for now) when you use a variable that doesn't exist.
2021-08-29 17:07:19 +01:00
hispidence
e834d38522
Fix GameScriptColor's D3DCOLOR operator and __tostring, and add a converting constructor.
2021-08-29 17:05:06 +01:00
hispidence
d946f4c118
Add more reserved script names.
2021-08-29 17:03:51 +01:00
hispidence
434b1f146e
Change PrintString arg names to better reflect what it does.
2021-08-27 19:08:28 +01:00
hispidence
96441572bf
Make default s_callbackRemoveName not throw.
2021-08-27 19:07:55 +01:00
hispidence
6bc5a561a0
Make variables an unordered_map for consistency and speed.
2021-08-27 19:04:03 +01:00
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