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.
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.
Make all GameScript maps unordered_maps, as these are supposed to be more suitable for cases where we don't need the data to be sorted.
Add default member initialisers to GameScript.
Rework Level and Game tables as they weren't entirely working before. These correspond to m_locals and m_globals, which hold the level-specific and game-spanning data that will go into save files.
Make GetVariable and SetVariable take sol::table args. Sol seems to require this in order to use them as metamethods of a table (it doesn't require them for usertypes, but it seems more logical from the API point of view for Level and Game to be tables).
Add documentation for the above tables.
Move several functions out of the GameScript class in order to simplify its interface, and make them static functions that only live in GameLogicScript.cpp.
Remove g_GameScript from GameLogicScript.cpp as it's not used there; let winmain.cpp deal with it instead.
Make a template that all GetXByName member functions work off, to reduce copypasted functions.
For consistency, rename RemoveLuaName and AddLuaName to RemoveLuaNameItem and AddLuaNameItem.
Fix some documentation comments, order function documentation into sections.
Make «Add/Remove»LuaName return a bool for future error checking, and pass them via lambdas to GameScriptItemInfo, allowing it to call them whenever an object is added or removed (they would not have access to the m_itemsMapName otherwise).
* Starting Reformat the project
- New Import Method, no more "../../" in import,
- New Entity Folder Structure, less compile time
* Refactoring the Project
- added precompiled header with default import like microsoft or directx.
- fix many double import.
- fix math.h confliting math.h from
microsoft.
- fix effects.h confliting Effects.h from DirectX.
- refactored TR4 entity folder and how it's loaded.
* Update Some Code Before Switching to Master
* Finished the NewProjectFormat Template
- need to finish entity in the master later.
* Added Monty NewFileFormat
* Fixed Monty NewFileFormat Include
* Revert "Fixed Monty NewFileFormat Include"
This reverts commit ebf0afca10.
* Trying to fix conflits for NewFileFormat
* Fixed .filters
* Last Commit in NewProjectFormat