Commit graph

49 commits

Author SHA1 Message Date
Jeff Hutchinson 1940becb2d Compilation fixes for C++20 2022-11-28 21:39:06 -05:00
Jeff Hutchinson 8f2beb3219 Fix edgecase where empty string was not being explicitly set to 0 in torquescript when used as integers/floats/bools.
We found this in the setInventory standard module. in setInventory, %max was being set to empty string, but being compared to 0 during TorqueScript comparison ops. I knew to look in ConsoleValue's type conversion functions, as the interpreter internally uses ConsoleValues when working with torquescript variables under the hood. ConsoleValue is responsible for handling all type conversions on the fly as needed inside of the core interpreter logic.
2022-05-23 20:25:32 -04:00
Jeff Hutchinson 3988e7baee Better allocator for TorqueScript temp conversions used during interpretation
instead of using a Vector<> that never frees and grows for torquescript temporaries created when doing type conversions)
2022-05-21 21:55:44 -04:00
Jeff Hutchinson 4af4d90f4a Get rid of setLocalVariable entirely. 2021-10-19 20:38:13 -04:00
Jeff Hutchinson c16b88d709 Fix temporary buffer for scripting conversions. 2021-09-04 21:25:11 -04:00
Jeff Hutchinson 478a04bea8 Fix DSOs and bump version! 2021-09-04 16:37:59 -04:00
Jeff Hutchinson 1b54162580 cleanup todos 2021-08-19 22:25:11 -04:00
Jeff Hutchinson 6f7fdca87d lotsa fixes. 2021-05-04 21:18:15 -04:00
Jeff Hutchinson ab4c0f0361 Add fast math optimization 2021-05-01 02:07:54 -04:00
Jeff Hutchinson 55b0ecb487 optimizations 2021-04-30 01:20:01 -04:00
Jeff Hutchinson 964fde8f09 Goodbye String Stack! 2021-04-29 23:11:49 -04:00
Jeff Hutchinson bfc0109485 fixes and some minor bc adjustment. 2021-04-16 23:21:39 -04:00
Jeff Hutchinson 3e04196a53 make tests pass. 2021-04-03 01:53:40 -04:00
Jeff Hutchinson f776e73b04 cleanup 2021-04-02 00:57:49 -04:00
Jeff Hutchinson 02447f0996 compile fixes. 2021-03-31 22:12:58 -04:00
Jeff Hutchinson 50df52ecfc more console refactor. 2021-03-31 21:09:23 -04:00
Jeff Hutchinson 5e81c021f5 start cleaning up ConsoleValueRef's 2021-03-30 23:58:07 -04:00
Lukas Aldershaab 099dd4f1f3 Parametrize script extension, default to 'tscript' 2021-01-19 21:32:31 +01:00
Areloch 6cf0c9e360 Merge branch 'development' into EngineAPI-Refactor 2018-12-09 14:48:50 -06:00
Lukas Joergensen 7d91d0a577 Eliminate ConsoleFunction and ConsoleMethod, replace with DefineEngineStringlyVariadic 2018-04-20 22:09:58 +02:00
Lukas Joergensen 6b524ae58a Eliminate ConsoleStaticMethod 2018-04-20 20:27:09 +02:00
Azaezel cbce2ee805 Merge branch 'development' of https://github.com/GarageGames/Torque3D into memberMess
# Conflicts:
#	Engine/source/console/consoleFunctions.cpp
2018-03-28 15:42:34 -05:00
Azaezel 9b8c950701 console membervar cleanup 2018-03-16 20:05:47 -05:00
Glenn Smith 79c34c68db Use strncpy instead of strcpy because again, buffer overflows 2018-03-06 02:35:33 -05:00
Areloch d666322a1b Merging 2017-11-05 22:33:32 -06:00
Areloch 8c807485b1 Reworks the $Core::commonShaderPath variable usage to be a static variable in ShaderGen for efficiency(only one getVariable when shadergen is initialized), as well as implements the ability to set a default value, and ensures that it tries to set a path even if the pref variable is missing which is important for ported projects from older builds. 2017-07-24 00:40:27 -05:00
Thomas "elfprince13" Dickerson 1c2b096a72 Whitespace consistency 2017-01-06 23:10:14 -05:00
Thomas "elfprince13" Dickerson b215bfb933 executef converted 2017-01-06 17:19:16 -05:00
Areloch 255fec1a9d Make exec() and getDSOPath() proper Con namespace functions.
Moves the console function exec()'s body into an actual function in the Con namespace as the function executeFile() to align with the other execute and eval functions.
Also moved the getDSOPath function(as exec/executeFile requires it) from being local in consoleFunctions.cpp to a Con namespace function as well, furthering the consistency.
2016-04-19 01:35:52 -05:00
Areloch 7a3b40a86d Initial Implementation of the Taml, Asset and Modules systems.
Only has example and shape assets currently.
2015-10-13 15:19:36 -05:00
Raul Ferriz 7e172869a9 Fixed warning.
Sort struct initialization to match fields declaration avoids a warnings on GCC.
2015-07-02 22:06:24 +02:00
Daniel Buckmaster d89c3b7c6f Merge pull request #1333 from Azaezel/PluggingLeaks
Plugging Memory Leaks
2015-06-28 14:41:13 +10:00
Azaezel b1e8a45a48 leak prevention according to: https://vld.codeplex.com/ ConsoleValue() constructors and destructors to handle corner-cases not already addressed via init, and cleanup 2015-06-02 14:25:08 -05:00
James Urquhart d9436e65c5 Add workaround for issue #1292 2015-05-28 20:34:10 +10:00
James Urquhart 15169eab9f Fix issue with registered variables becoming corrupted when string value was accessed. 2015-05-16 14:50:20 +01:00
James Urquhart 12d435c341 Remove value constructors for ConsoleValueRef & fix callbacks which use them. Fixes issue #1289 2015-05-08 09:04:04 +10:00
James Urquhart 942c7a48f4 Fix corruption issue with string iterator was using an absolute pointer. Also adds a special relative pointer type for constructed strings on the stack. 2015-02-16 21:23:42 +00:00
James Urquhart 97ab694af8 Add extra executef by popular demand 2015-02-10 22:36:09 +00:00
James Urquhart 4a97054f02 Workaround for GCC/LLVM 2015-02-08 11:22:17 +00:00
James Urquhart f44a3f27d6 Fix stack balancing problems by refactoring execution calls
- Con::executef now uses a template
- All public execution functions now restore the console stack upon return
- Fixed bad parameters on some callbacks
- Reverts get*Arg behavior
2015-02-08 00:08:18 +00:00
Daniel Buckmaster b507dc9555 Merge branch 'master' into console-func-refactor
Conflicts:
	Engine/source/app/net/net.cpp
	Engine/source/console/astNodes.cpp
	Engine/source/console/compiledEval.cpp
	Engine/source/console/console.h
	Engine/source/console/consoleInternal.h
	Engine/source/console/engineAPI.h
2014-10-14 15:09:11 +11:00
Daniel Buckmaster 6fdebd16f6 Merge remote-tracking branch 'jamesu/simplify_compiler_ast' into x64
Conflicts:
	Engine/source/console/compiler.cpp
	Engine/source/console/compiler.h
2014-09-15 11:50:32 +10:00
LuisAntonRebollo fcf7bee64a Fix x64 problems for WIN64. 2014-09-14 21:42:51 +02:00
James Urquhart 1e3db968ac Update console.h
Fix typo in version command
2014-09-13 09:02:57 +01:00
James Urquhart 1e44586606 Refactor TS compiler to not use the precompile step & also 64bit support
- Reduces headaches
- Expands STE entry size to allow for 64bit values
- Bonus: Adds in function lookup optimization from T2D
2014-09-07 21:43:56 +01:00
jamesu 98b92360f9 Signed values now set/get from the float value. Also add a bool helper. 2012-11-09 23:00:46 +00:00
jamesu 08d4f6ebc0 Improvements to console refactor code
- Prevent stack corruption in a few places
- Use correct type in printfs
- Reduce type conversions in EngineApi & dAto*
- Fix compilation on GCC
- Tidy up code
2012-10-12 19:12:06 +01:00
James Urquhart 38c8e52c1d Beginnings of the "pass everything using a native type wrapper" console code.
- ConsoleValue class is now the base value class.
- ConsoleValueRef is now used to supply function parameters. Values are disposable.
- Script functions return values instead of just strings where possible.
- Variables can be disposable strings
- Bytecode changed

Fix the issues with console method parameters and fields which prevented missions from loading.
2012-10-12 18:56:17 +01:00
DavidWyand-GG 7dbfe6994d Engine directory for ticket #1 2012-09-19 11:15:01 -04:00