mirror of
https://github.com/TombEngine/TombEngine.git
synced 2025-04-28 15:57:59 +03:00
Added ability to perform Lua commands in the console window in realtime
This commit is contained in:
parent
8c26702678
commit
b1ee6a190e
2 changed files with 56 additions and 19 deletions
37
CHANGELOG.md
37
CHANGELOG.md
|
@ -5,6 +5,9 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
|
||||||
|
|
||||||
## [Version 1.8.1](link to release) - yyyy-mm-dd
|
## [Version 1.8.1](link to release) - yyyy-mm-dd
|
||||||
|
|
||||||
|
### New features
|
||||||
|
* Added ability to perform Lua commands in the console window in realtime.
|
||||||
|
|
||||||
### Bug fixes
|
### Bug fixes
|
||||||
* Fixed particles remaining in the level after reloading from the savegame.
|
* Fixed particles remaining in the level after reloading from the savegame.
|
||||||
* Fixed particles being canceled by fog bulbs.
|
* Fixed particles being canceled by fog bulbs.
|
||||||
|
@ -35,7 +38,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
|
||||||
* Fixed custom shatter sounds with custom sound IDs not playing correctly.
|
* Fixed custom shatter sounds with custom sound IDs not playing correctly.
|
||||||
* Fixed crashes with sound samples larger than 2 megabytes.
|
* Fixed crashes with sound samples larger than 2 megabytes.
|
||||||
|
|
||||||
### New Features
|
### New features
|
||||||
* Added multithreading and an option for it to flow system settings.
|
* Added multithreading and an option for it to flow system settings.
|
||||||
* Added ability to use floor trapdoors, keys and puzzle items underwater.
|
* 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
|
- You must update your Lara object: https://github.com/TombEngine/Resources/raw/main/Wad2%20Objects/Lara/TEN_Lara.wad2
|
||||||
|
@ -84,7 +87,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 underwater when exiting the fly cheat.
|
||||||
* Fixed gravity being applied when vaulting on the same frame as the player lands.
|
* 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 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.
|
* 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.
|
* Increased particle limit from 1024 to 4096.
|
||||||
|
@ -134,7 +137,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
|
||||||
* Fixed spotlight shadows.
|
* Fixed spotlight shadows.
|
||||||
* Fixed Skeleton and Mummy not reacting to shotgun hits.
|
* 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 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 ability to customize many hardcoded parameters, such as flare, weapon, and hair settings.
|
||||||
* Added dynamic shadow casting on objects and static meshes.
|
* Added dynamic shadow casting on objects and static meshes.
|
||||||
|
@ -210,7 +213,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
|
||||||
* Fixed display sprites and display strings rendering in the inventory background.
|
* Fixed display sprites and display strings rendering in the inventory background.
|
||||||
* Fixed young Lara hair drawing. https://tombengine.com/docs/level-settings/#young_lara
|
* 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 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 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
|
* Added a customisable starry sky and meteor effect. https://tombengine.com/docs/level-settings/#stars
|
||||||
|
@ -270,7 +273,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
|
||||||
* Fixed bottom collision for solid static meshes.
|
* Fixed bottom collision for solid static meshes.
|
||||||
* Fixed T-Rex's head rotation.
|
* Fixed T-Rex's head rotation.
|
||||||
|
|
||||||
### New Features
|
### New features
|
||||||
* Auto-switch to a crawl state if player start position is in a crawlspace.
|
* 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.
|
* Allow directional flame emitter (negative OCBs) to be rotated at any angle.
|
||||||
* Revise wall spikes:
|
* Revise wall spikes:
|
||||||
|
@ -317,7 +320,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
|
||||||
* Fixed incorrect light collection in some cases.
|
* Fixed incorrect light collection in some cases.
|
||||||
* Fixed normal mapping for rooms, items, and statics.'
|
* Fixed normal mapping for rooms, items, and statics.'
|
||||||
|
|
||||||
### New Features
|
### New features
|
||||||
* Added ambient occlusion (SSAO).
|
* Added ambient occlusion (SSAO).
|
||||||
* Added new post-process workflow (monochrome, negative, exclusion) with tinting.
|
* Added new post-process workflow (monochrome, negative, exclusion) with tinting.
|
||||||
* Added SMAA antialiasing instead of MSAA.
|
* Added SMAA antialiasing instead of MSAA.
|
||||||
|
@ -376,7 +379,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
|
||||||
* Fix camera snap when disengaging the look-around mode.
|
* Fix camera snap when disengaging the look-around mode.
|
||||||
* Fix TR4 mapper not being visible.
|
* Fix TR4 mapper not being visible.
|
||||||
|
|
||||||
### New Features
|
### New features
|
||||||
* Improve head-on wall collision.
|
* Improve head-on wall collision.
|
||||||
* Overhaul pushables:
|
* Overhaul pushables:
|
||||||
- Separate climbable and non-climbable pushable object slots.
|
- Separate climbable and non-climbable pushable object slots.
|
||||||
|
@ -459,7 +462,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
|
||||||
* Fix incorrect culling for scaled static meshes.
|
* Fix incorrect culling for scaled static meshes.
|
||||||
* Fix normal mapping.
|
* Fix normal mapping.
|
||||||
|
|
||||||
### New Features
|
### New features
|
||||||
* Add ability to save screenshot in the "Screenshots" subfolder by pressing the "Print screen" key.
|
* 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.
|
* Implement separate audio track channel for playing voiceovers with subtitles in .srt format.
|
||||||
* Don't stop ambience when Lara dies.
|
* Don't stop ambience when Lara dies.
|
||||||
|
@ -507,7 +510,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 rendering for static meshes with custom blending modes and alpha transparency.
|
||||||
* Fix inconsistent multiline string spacing on different display modes.
|
* Fix inconsistent multiline string spacing on different display modes.
|
||||||
|
|
||||||
### New Features
|
### New features
|
||||||
* Remove search object 4 hardcoded meshswap activated with a flipmap.
|
* Remove search object 4 hardcoded meshswap activated with a flipmap.
|
||||||
* Add TR1 cowboy.
|
* Add TR1 cowboy.
|
||||||
* Add TR3 wall mounted blade.
|
* Add TR3 wall mounted blade.
|
||||||
|
@ -565,7 +568,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
|
- 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.
|
* Fix and improve wraith tails.
|
||||||
|
|
||||||
### New Features/Amedments
|
### New features/Amedments
|
||||||
* Add dedicated WRAITH_TRAP object with enhanced effects.
|
* Add dedicated WRAITH_TRAP object with enhanced effects.
|
||||||
- OCB 0: Effect disabled.
|
- OCB 0: Effect disabled.
|
||||||
- OCB 1: Effect enabled.
|
- OCB 1: Effect enabled.
|
||||||
|
@ -614,7 +617,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 big gun spawning rocket with 0 life which caused an immediate explosion.
|
||||||
* Fix TR3 Tony and add boss effect for him.
|
* Fix TR3 Tony and add boss effect for him.
|
||||||
|
|
||||||
### New Features
|
### New features
|
||||||
* Add TR3 civvy.
|
* Add TR3 civvy.
|
||||||
* Add TR3 electric cleaner.
|
* Add TR3 electric cleaner.
|
||||||
* Add TR3 Sophia Leigh with following OCBs:
|
* Add TR3 Sophia Leigh with following OCBs:
|
||||||
|
@ -666,7 +669,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
|
||||||
* Fix grenade and rocket launcher lighting.
|
* Fix grenade and rocket launcher lighting.
|
||||||
* Fix ceiling trapdoor and floor trapdoor that Lara couldn't open manually.
|
* 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.
|
* Make enemies drop pickups at first available bounding box corner point, not centerpoint.
|
||||||
* Restore original volumetric explosion effects.
|
* Restore original volumetric explosion effects.
|
||||||
* Add TR3 lizard and Puna.
|
* Add TR3 lizard and Puna.
|
||||||
|
@ -718,7 +721,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
|
||||||
* Fix bone rotations of some entities.
|
* Fix bone rotations of some entities.
|
||||||
* Fix Lara's animation for cog switch release.
|
* Fix Lara's animation for cog switch release.
|
||||||
|
|
||||||
### New Features
|
### New features
|
||||||
* Added new OCB to cog switch object:
|
* Added new OCB to cog switch object:
|
||||||
- Use OCB 0 to have the traditional behaviour.
|
- Use OCB 0 to have the traditional behaviour.
|
||||||
- Use any other OCB to can use the Cog Switch without need of any door linked.
|
- Use any other OCB to can use the Cog Switch without need of any door linked.
|
||||||
|
@ -732,7 +735,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
|
## [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 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 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).
|
* Add wireframe mode and other visual debug information (switch by F10/F11 debug page scroll hotkeys).
|
||||||
|
@ -804,7 +807,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
|
## [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).
|
* 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.
|
* Allow any object slot to be used as a meshswap.
|
||||||
* Add OCB 1 for rollingball to make it silent.
|
* Add OCB 1 for rollingball to make it silent.
|
||||||
|
@ -872,7 +875,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
|
## [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.
|
* Fix removing Pistols with TakeItem and SetItemCount.
|
||||||
* Allow saving and loading of Vec3s in LevelVars and GameVars.
|
* Allow saving and loading of Vec3s in LevelVars and GameVars.
|
||||||
* Support volume triggers made with node editor.
|
* Support volume triggers made with node editor.
|
||||||
|
@ -927,7 +930,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
|
## [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 antialiasing support.
|
||||||
* Added static mesh scaling support.
|
* Added static mesh scaling support.
|
||||||
* Added free rotation for teeth spikes instead of using OCB codes.
|
* Added free rotation for teeth spikes instead of using OCB codes.
|
||||||
|
|
|
@ -30,8 +30,8 @@ using std::cout;
|
||||||
using std::endl;
|
using std::endl;
|
||||||
|
|
||||||
WINAPP App;
|
WINAPP App;
|
||||||
unsigned int ThreadID;
|
unsigned int ThreadID, ConsoleThreadID;
|
||||||
uintptr_t ThreadHandle;
|
uintptr_t ThreadHandle, ConsoleThreadHandle;
|
||||||
HACCEL hAccTable;
|
HACCEL hAccTable;
|
||||||
bool DebugMode = false;
|
bool DebugMode = false;
|
||||||
HWND WindowsHandle;
|
HWND WindowsHandle;
|
||||||
|
@ -242,6 +242,37 @@ bool GenerateDummyLevel(const std::string& levelPath)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsigned CALLBACK ConsoleInput(void*)
|
||||||
|
{
|
||||||
|
std::string input;
|
||||||
|
|
||||||
|
while (!ThreadEnded)
|
||||||
|
{
|
||||||
|
if (!std::getline(std::cin, input))
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (g_GameScript == nullptr)
|
||||||
|
{
|
||||||
|
TENLog("Scripting engine not initialized.", LogLevel::Error);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
g_GameScript->ExecuteString(input);
|
||||||
|
}
|
||||||
|
catch (const exception& ex)
|
||||||
|
{
|
||||||
|
std::string error = ex.what();
|
||||||
|
TENLog("Error executing " + input + ": " + error.substr(error.find(":1: ") + 4), LogLevel::Error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
void WinProcMsg()
|
void WinProcMsg()
|
||||||
{
|
{
|
||||||
MSG msg;
|
MSG msg;
|
||||||
|
@ -406,7 +437,9 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
|
||||||
#ifndef _DEBUG
|
#ifndef _DEBUG
|
||||||
if (!DebugMode)
|
if (!DebugMode)
|
||||||
ShowWindow(GetConsoleWindow(), 0);
|
ShowWindow(GetConsoleWindow(), 0);
|
||||||
|
else
|
||||||
#endif
|
#endif
|
||||||
|
ConsoleThreadHandle = BeginThread(ConsoleInput, ConsoleThreadID);
|
||||||
|
|
||||||
// Clear application structure.
|
// Clear application structure.
|
||||||
memset(&App, 0, sizeof(WINAPP));
|
memset(&App, 0, sizeof(WINAPP));
|
||||||
|
@ -615,6 +648,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
|
||||||
|
|
||||||
void WinClose()
|
void WinClose()
|
||||||
{
|
{
|
||||||
|
CloseHandle((HANDLE)ConsoleThreadHandle);
|
||||||
WaitForSingleObject((HANDLE)ThreadHandle, 5000);
|
WaitForSingleObject((HANDLE)ThreadHandle, 5000);
|
||||||
|
|
||||||
DestroyAcceleratorTable(hAccTable);
|
DestroyAcceleratorTable(hAccTable);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue