Commit graph

680 commits

Author SHA1 Message Date
AzaezelX d883575d0f fix compilation flaws 2022-03-17 17:38:41 -05:00
Brian Roberts 3411dab754
Merge pull request #742 from Areloch/invisibleFileFix
Tweaks handling of "invisible" files
2022-03-16 03:30:45 -05:00
JeffR b36776d567 Tweaks handling of "invisible" files, files which start with a ., effectively making them have no filename and only an extension.
This allows the engine to actually process and work with such files.
2022-03-15 21:17:37 -05:00
JeffR 1496ffac6e Adds a systemCommand console utility function, which invokes the standard system() function call, and also has an optional callback return parameter. 2022-03-15 21:10:55 -05:00
JeffR a0f8b29da7 Improves logical checks for the default value so it's more sane and stable
Allows creation of polyhedrons via constructor with a origin and vector format, allowing to have default polyhedron values on triggers and physical zones
2022-02-14 01:07:39 -06:00
JeffR 696c2e2eec Add sanity check for default value results checking when filtering out default values
Add additional utility functions for updating parsed object data in the project importer
Adds logic to find and associate FX materials to their terrainMaterials and adding them to the terrian material asset if found on project importer
2022-02-02 01:11:33 -06:00
JeffR b4e346aa3f Adjustments to save out code when writing fields such that if the TAML writer is marked as not writing defaults, it doesn't. And makes the regular simobject save out not write default values as the default behavior 2022-01-31 20:57:57 -06:00
JeffR 630285def6 Shifts handling of material and terrain material definitions to be written into the asset definition taml file instead of having an extra loose file
Also updates importers to correctly handle this change
Adds ability for taml XML serialization to properly assign array'd fields
Adds 'inheritFrom' field to simobjects for when objects with parent objects are serialized
AssetBase how inherits from SimGroup so it can have objects like material definitions embedded in them for save/load in the taml definition file
Updated loading/handling logic in terrain material asset to be more similar to regular material assets
2022-01-30 11:50:16 -06:00
JeffR ed13bdfdd2 Changes the -> syntax check from exclusively checking simgroups to checking simsets, allowing both to be used 2022-01-21 16:01:44 -06:00
Robert MacGregor 9cf6c42fa1 * Adjustment: Tweak more manual memory management to use dStrcpy and use the VFS for directory queries always now. 2021-12-21 14:52:31 -05:00
Robert MacGregor 0e93373824 * BugFix: When querying against root with Torque::FS::DumpDirectories, correctly return directories with their path.
* Adjustment: Add commenting to some of the new programming.
* Adjustment: Tweak fileCreatedTime and fileModifiedTime functions to use the VFS.
2021-12-20 19:26:32 -05:00
Robert MacGregor 66f9336995 * Adjustment: Tweak the asset importer to use the Torque VFS functions. 2021-12-19 00:28:15 -05:00
Robert MacGregor cbe7ee13d6 * Adjustment: Change several filesystem functions to use the VFS.
* Feature: Initial implementation of a VFS dump directories function.
2021-12-18 23:37:49 -05:00
Robert MacGregor 948bc43d85 * Feature: Augment VFS file information with creation times & update some console functions to use VFS. 2021-12-18 03:56:11 -05:00
Jeff Hutchinson 73b023a4b7 Fix console warning when calling void functions in console
Forgot to add this check when rewriting the interpreter.
2021-12-08 21:00:50 -05:00
Robert MacGregor 5fa7c62ba9 * BugFix: Don't use the register keyword in the console grammar files. 2021-12-03 20:33:02 -05:00
Jeff Hutchinson 7ac62f42a3 Fixed a leak with console stack in the interpreter.
Issue was pushing a new frame in the global scope. Everytime a global scope was called, 1 ConsoleValue got allocated that was never freed. After 4096 'global scope' function calls, the engine would blow. Also cleans up an extra rogue usage of push/pop with the saver helper.
2021-11-20 19:08:02 -05:00
Jeff Hutchinson 2e03108856 Optionally allow to treat script assert as warning
This commit allows us to treat variable use before assign errors and local variables inside of the global scope as warnings instead of asserts. This will allow for easier porting of legacy scripts. It is highly recommended use this as an aid to port scripts, but can be used in production if needbe.
2021-11-17 18:01:35 -05:00
Jeff Hutchinson 949813956d Add Object Inheritence Acceptance Test 2021-11-11 22:57:09 -05:00
Brian Roberts e4428cf75a
Merge pull request #657 from Areloch/SeparateImporterLogFile
Updates asset importer and project importer to output to separate log files into tools/logs
2021-11-03 21:15:51 -05:00
JeffR fda722e355 Updates asset importer and project importer to output to separate log files into tools/logs
Add utility console function for getting current datetime
2021-11-03 00:13:00 -05:00
Robert MacGregor 2b53c065ce * BugFix: Correct an invalid memory access error caused by the tab autocomplete in the console when attempting to tab complete at the start of the input while there is text to the right. 2021-11-02 13:55:57 -04:00
Areloch 0fab2ebf54 Added fallback handling to MaterialAssets if the asset was found but the matDef was not
Added import config handling for prepending Directory to asset name
Added handling for import config of appending a sound suffix
Integrated handling of directory prepend and asset type suffix to rename issue resolution of asset importing
Corrected miswording of warn message for duplicate object names
Correct GUI issues with verve tools
Convert verve tools to utilize assets for their GUI elements
Fix window binding/naming issue depending on window mode for verve
Fix popup menus formatting for verve
WIP fix for material swap in Material editor. Corrects crash, but swap action is unreliable depending on object type
Fix display issue with mission area editor toolbar button image
Fix tooltip display of SFXEmitters in editor tree to correctly show the bound asset
Changed network graph accelerator keybind from just N to Ctrl N to avoid keybind issues when typing
Fixed Create New Emitter button in particle emitter that was showing as no texture
2021-10-28 23:52:58 -05:00
Jeff Hutchinson 4af4d90f4a Get rid of setLocalVariable entirely. 2021-10-19 20:38:13 -04:00
Jeff Hutchinson 4293aef858 This one slipped through - nextToken can't use local variable for its token variable. This was stated as one of the breaking changes in the origional PR. 2021-10-19 20:34:57 -04:00
Robert MacGregor aba091a97a Merge remote-tracking branch 'main/Preview4_0' into bugfix-msvc-compiler-warnings 2021-10-11 19:36:52 -04:00
Jeff Hutchinson 0429b5afa5 Added more tests for torquescript 2021-10-09 18:47:12 -04:00
Robert MacGregor 5d26dba7da * BugFix: Clear some MSVC compiler warnings. 2021-10-07 00:27:39 -04:00
Robert MacGregor 1b6b803a20 * BugFix: Clear a lot of warnings and correct a few actual programming errors along the way. 2021-10-04 20:04:21 -04:00
Jeff Hutchinson 755bbacaa0 Fix specific usage of Con::executef where it was not being assigned to a ConsoleValue before getting it's data out of it. 2021-09-24 19:32:57 -04:00
Jeff Hutchinson 2d50f52cf1 Allow local variables to be used in eval. 2021-09-20 21:00:33 -04:00
Robert MacGregor f9b78597f7 * BugFix: Correct an error that causes the engine to crash when calling non-namespaced engine functions incorrectly. 2021-09-16 21:21:04 -04:00
Jeff Hutchinson a7db690b59 Reimplement object copy failures. 2021-09-13 19:46:21 -04:00
Jeff Hutchinson 7f59bc6350 Forgot to null out the datablock after being deleted when it fails to preload. 2021-09-11 15:16:36 -04:00
Jeff Hutchinson 35b33f1864 various fixes and memory corruption bug. 2021-09-09 19:30:32 -04:00
Jeff Hutchinson 27a4868b6e Fix buffer corruption. 2021-09-07 21:52:36 -04:00
Jeff Hutchinson 6d93e96dc3 NULL out an object variable if it fails to register. 2021-09-07 21:03:57 -04:00
Jeff Hutchinson 55c0a748b4 Don't generate op_inc whenever its used as an expression. 2021-09-07 19:43:39 -04:00
Jeff Hutchinson 9b2f4976c9 small regression fix. 2021-09-04 22:00:32 -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 278bef8d1a Fix if to else if regression. 2021-09-04 16:23:20 -04:00
Jeff Hutchinson 313c069ecb Fix xyz again by reverting previous commit and fixing the local variables from not resetting the object states. 2021-09-03 23:27:39 -04:00
Robert MacGregor 5cce344bb1 * BugFix: Fix a missing <vector> include for GCC.
* BugFix: Correct some globally used local variables in the editor code.
2021-09-03 00:26:48 -04:00
Jeff Hutchinson 7efe72aced More fixes with xyz lookup, and some cleanup and test cases. 2021-09-02 22:21:00 -04:00
Jeff Hutchinson 8d75d60f91 Write out variable mapping table to DSO stream, and fix .dump() 2021-09-01 22:15:37 -04:00
Jeff Hutchinson 9448256422 Fix console garbage error when evaluating strings. 2021-09-01 20:16:08 -04:00
Jeff Hutchinson f04aca9def Fix string stack issue returning from a foreach statement. 2021-08-31 22:18:08 -04:00
Jeff Hutchinson 6e072dbf91 Merge branch 'Preview4_0_DevHead' into tsneo 2021-08-29 22:28:42 -04:00
Brian Roberts c04f3ae166
Merge pull request #533 from Ragora/bugfix-linux-release-builds
Bugfix linux release builds for Clang
2021-08-20 21:55:16 -05:00
Jeff Hutchinson 1b54162580 cleanup todos 2021-08-19 22:25:11 -04:00
Jeff Hutchinson 59312d7d52 debugger support 2021-08-19 22:05:43 -04:00
Jeff Hutchinson 98a2fa0f33 Fix bugs with internalName accessor 2021-08-17 20:52:59 -04:00
Jeff Hutchinson 838395840d script fixes from latest merge and more tests 2021-08-17 20:04:45 -04:00
Jeff Hutchinson ada1c5a021 Merge branch 'Preview4_0_DevHead' into tsneo 2021-08-16 22:50:02 -04:00
Jeff Hutchinson 6ec40e86da Fix bugs with certain properties (and .x .y .z accessors) and add tests. 2021-08-16 22:02:24 -04:00
Areloch 48e994f7bd Shift file handling in importer to a standardized function
Added santizing of strings to filenames, object names and asset names for the importer process
Added sanitizeString console function for above
Added processing of terrainBlock object's fields for importer
Added check to avoid updateTSShapeLoadProgress spam
Adjusted folderPrefix logic to walk up directory to find assetName that isn't already in use.
2021-08-15 03:07:40 -05:00
Robert MacGregor eca3fbfa67 * [UUID] BugFix: Correct a memory mismanagement error in UUID programming due to the way xuuid_t is utilized. 2021-08-14 17:44:17 -04:00
Jeff Hutchinson a449fadde2 hacks to make thedebugger work again. 2021-08-14 01:37:01 -04:00
Jeff Hutchinson 717c7acca9 Merge remote-tracking branch 'devhead/Preview4_0' into tsneo
# Conflicts:
#	Templates/BaseGame/game/data/ui/guis/loadingGui.gui
#	Templates/BaseGame/game/data/ui/guis/mainMenu.gui
#	Templates/BaseGame/game/tools/MainEditor/guis/MainEditorWindow.gui
#	Templates/BaseGame/game/tools/assetBrowser/guis/assetPreviewButtonsTemplate.gui
#	Templates/BaseGame/game/tools/forestEditor/brushes.tscript
2021-08-13 20:14:39 -04:00
AzaezelX 594c4f65c7 bad constructor usage! bad! GCC no like! 2021-08-09 21:34:24 -05:00
Areloch 34f0f01cea Adds console function to compare file modified times
Adds console function to save a scaled image
Improved logic of generating previews for shape, material and image assets to regen if original asset loose file was modified
Added logic to generate scaled preview image for material and image assets to improve load times of AB
2021-08-08 16:20:58 -05:00
AzaezelX c5d0310bc3 Merge branch 'EngineAssetify' of https://github.com/Areloch/Torque3D into EngineAssetify_Followups_XML2Check
# Conflicts:
#	Engine/source/ts/tsShapeConstruct.cpp
2021-08-02 13:54:51 -05:00
Areloch 88ae8a9665 Added getShapeConstructorFilePath console function on shapeAsset
Fixed typo in import config settings for DuplicateAutoResolution
Converted TSShapeConstructor to utilize assets
Updated shape editor to work with assetified constructors
Converted guiBitmapButtonCtrl to use assets
2021-08-02 04:20:27 -05:00
AzaezelX c43cee13ab Merge branch 'task/update-tinyxml' of https://github.com/lukaspj/Torque3D into EngineAssetify_Followups_XML2Check 2021-07-31 17:12:44 -05:00
Lukas Aldershaab 9a795e89f3 Update usage of TinyXML to use TinyXML2 2021-07-31 21:54:19 +02:00
AzaezelX 313466f57c new method from JeffH and Marauder: getClassHierarchy(classname). dumps a list of the class inhericance in reverse ancestor order (so that class first, next parent, *it's* parent, ect 2021-07-22 11:55:34 -05:00
Areloch 5525f8ecdd Converts all game, gui editor, and system classes to utilize assets
Processed core, tools and default modules to utilize assets
Converted all console types that were string based, such as TypeImageFilename to utilize const char*/the string table, which avoids a lot of type swapping shenanigans and avoids string corruption
Removed unneeded MainEditor mockup module
Removed some unused/duplicate image assets from the tools
2021-07-19 01:07:08 -05:00
Areloch 4d40e3cab5
Merge pull request #449 from OTHGMars/Zip_Test2
Loading from zipped game directories.
2021-07-17 11:03:19 -05:00
Robert MacGregor 6ad2876504 * BugFix: Correct 3 missing defines in the GCC types include file.
* BugFix: Move several compiledEval declarations around to resolve ordering issues.
* BugFix: Experimentally remove the reference on an engineAPI template function to allow parameter types to match.
2021-07-09 21:05:55 -04:00
Brian Roberts 5ed7cda822
Merge pull request #492 from Azaezel/alpha40/simSetSupport
report simset names for add/remove errors
2021-06-22 12:04:48 -05:00
Jeff Hutchinson 464cb7ae29 Better error messages when compiling script. 2021-06-19 13:48:32 -04:00
Jeff Hutchinson 085af8e762 fix %obj.field op assign. 2021-06-19 12:28:32 -04:00
Jeff Hutchinson acde0c3f0b Merge branch 'Preview4_0_DevHead' into tsneo
# Conflicts:
#	Engine/source/console/consoleInternal.cpp
2021-06-18 21:13:49 -04:00
Jeff Hutchinson 8fc0db21c1 Small fixes for the script interpreter. 2021-06-18 18:52:41 -04:00
bank 5d1c29f54b
Fix return value conversion when using SimObject::call() method from scripts. 2021-06-15 19:03:43 +03:00
AzaezelX 3caa83284c report simset names for add/remove errors 2021-06-07 17:34:38 -05:00
Jeff Hutchinson e981fd2cc3 Add support for aarch64 / apple silicon 2021-05-10 15:55:56 -04:00
Jeff Hutchinson 6f7fdca87d lotsa fixes. 2021-05-04 21:18:15 -04:00
Jeff Hutchinson db047275f1 add fast int to object lookup. 2021-05-01 02:55:24 -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 dcd01e1231 move parameters instead of copying. 2021-04-30 00:24:03 -04:00
Jeff Hutchinson 964fde8f09 Goodbye String Stack! 2021-04-29 23:11:49 -04:00
Jeff Hutchinson f056e181b7 remove unused code. 2021-04-20 19:55:35 -04:00
Jeff Hutchinson bb12638ea5 Added error checking for using a local variable in global scope, and added optimization to method object parameter. 2021-04-17 14:31:27 -04:00
Jeff Hutchinson bfc0109485 fixes and some minor bc adjustment. 2021-04-16 23:21:39 -04:00
Jeff Hutchinson bc0f5bd3a3 combine numeric stacks into one common stack. 2021-04-16 19:20:15 -04:00
Jeff Hutchinson ef34210fef Implement Unit Test Suite for TorqueScript. 2021-04-12 21:43:57 -04:00
Jeff Hutchinson a2dea07d8b fixed internal types. 2021-04-12 21:42:18 -04:00
Jeff Hutchinson 93500b6ac4 more changes. 2021-04-12 21:26:26 -04:00
Jeff Hutchinson 960db74733 small fix. 2021-04-10 15:52:53 -04:00
Jeff Hutchinson 4e678292e1 fix foreach/foreach$ loops. 2021-04-04 00:50:37 -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
Jeff Hutchinson 35500a87c6 initial port of the new interpreter 2021-03-30 19:33:19 -04:00
Jeff Hutchinson 5d2654b1ba Implement Unit Test Suite for TorqueScript. 2021-03-23 21:35:25 -04:00
Lukas Aldershaab 9ccaa6d3ea Improve handling of non-default script filenames 2021-01-19 21:32:31 +01:00
Lukas Aldershaab 099dd4f1f3 Parametrize script extension, default to 'tscript' 2021-01-19 21:32:31 +01:00
OTHGMars 0ece989560 Updates SimXMLDocument, fsTiXmlDocument, Taml and TamlXmlParser for reading from zip. 2021-01-11 04:57:10 -05:00
OTHGMars 8765d3a46e Con::isBasePath() performs the same path expansion on both input paths. 2021-01-11 04:54:41 -05:00
rextimmy 5a933c00d3 Removed old fixed function code from GFX. 2021-01-05 12:57:17 +10:00
Lukas Aldershaab 9c4191702c Properly specify type of console types with a different native type 2020-11-15 21:32:29 +01:00
Lukas Aldershaab 763c205451 Add type of Children in SimGroup and GuiControl 2020-11-15 21:32:29 +01:00
Lukas Aldershaab 55f459cf2d Add missing call to CInterface::IsMethod 2020-11-15 21:32:29 +01:00
Lukas Aldershaab f4c8e2683e Improve type detection of EngineAPI types 2020-11-15 21:32:29 +01:00
Lukas Aldershaab a7f3724dd1 Handle MatrixF default values 2020-11-15 21:32:29 +01:00
Lukas 90d460d9a4 Remove object and function namespace from argument list 2020-11-15 21:30:45 +01:00
Lukas e69c4f0f6a Remove typename from ArgumentToValue specifier in MethodTrampoline 2020-11-15 21:30:45 +01:00
Lukas 42ca155301 Fix non-mvc compilation in EngineDefaultArguments 2020-11-15 21:30:45 +01:00
Lukas bcb75e21ac Remove typename from ArgumentToValue specifier 2020-11-15 21:30:45 +01:00
Lukas Joergensen c9609fbdbf CInterface integration in CodeInterpreter null ptr fix
mNSEntry can be null if there is no TorqueScript defintion, but there could still be a result from an externally defined source.
´
Furthermore fixes an issue where StringStackConsoleWrapper would die before the value was read.
2020-11-15 21:30:45 +01:00
Lukas Joergensen d567bc9735 Improve Engine API export, robust Default Value logic and allow _ in arg 2020-11-15 21:30:45 +01:00
Lukas Joergensen e95a5bf139 Expose SimPersistID to EngineAPI 2020-11-15 21:30:45 +01:00
Lukas Joergensen fe09d6e125 ModuleSystem: Lookup CInterface methods when calling module create func 2020-11-15 21:30:45 +01:00
Lukas Joergensen 68b6884665 EngineAPI: Expose strings as UTF8 instead of UTF16 2020-11-15 21:30:45 +01:00
Lukas Joergensen 0b5fd8db6e Engine API: Pass structs by reference 2020-11-15 21:30:45 +01:00
Lukas Joergensen 6a9c09f145 Update EngineAPI, use fixed_tuple as main underlying data structure
This also fixes a few issues related to type conversions before data is sent to the engine function.
Squash
2020-11-15 21:30:45 +01:00
Lukas Joergensen a241d27b58 Expand EngineAPI type definitions 2020-11-15 21:30:45 +01:00
Tony a5b31a3cef Added space to append to timestamps if they're used 2020-10-24 20:39:27 -04:00
Tony f7a0047391 Fixed date order to be YYYY/MM/DD 2020-10-24 20:34:03 -04:00
Tony afa8124301 Added date/time stamps option to console log 2020-10-24 05:41:18 -04:00
Areloch 6a3603c737 Overhauls the handling of probes to utilize an active probe list to improve performance and allow a greater total number of active probes in a scene.
Also fixes handling of metal materials during bakes to render properly, and fixes a possible double-up return in findObjectByType, which could cause doubling when getting probes in the scene
2020-10-19 00:53:09 -05:00
AzaezelX eaf814f2e3 EngineExportScope(){} *can't* be initialized by default, aparantly 2020-10-05 13:44:08 -05:00
Brian Roberts d50f1f0b81
Merge pull request #342 from lukaspj/fix/replace-dstrcmp
Replace uses of dStrCmp with new String::compare
2020-10-03 17:01:12 -05:00
Lukas Aldershaab 197a62f6ea Convert dStrcmp to String::compare for more cases 2020-10-04 00:00:01 +02:00
Lukas Aldershaab c999baf7ed Moves from using dStrCmp to the new String::compare static functions. Keeps things cleaner, consistent, and works with intellisense. 2020-10-03 14:37:55 +02:00
Jeff Hutchinson 2bf3c8384c Fix global variables not being able to be used inside of a foreach$ loop. 2020-10-03 00:47:20 +02:00
AzaezelX 1d71ee70e8 memleak fix 2020-09-25 12:25:35 -05:00
Areloch 8956559bfd Various misc. tweaks and fixes based on static code analysis to minimize/fix memleaks, crashes, or other performance impacting code. 2020-09-19 18:25:10 -05:00
Areloch 0b954459a3 Added recursive scanning for utilized assets on any object within the scene, soas to catch objects in simgroups or parented
Disabled initial materialSlot fill-out until logic for looking up assetName from material list name can be done to avoid 'unable to find assetid' spam
Added function to SimGroup to easily acquire child object by index
Some minor cleanup of commented lines in asset browser
Fixed forward/backward navigation arrow behavior in asset browser
Fixed double-click navigation when the AB is in select mode
Fixed erroneous 'could not acquire asset' messages when navigating folders in AB
Added editor setting for UseGroupSnap snap option and integrated it into the UI interface
Removed some duplicate settings from the EditorSettingsWindow
2020-09-02 01:26:43 -05:00
Areloch 2c2c9659e1 Merge branch 'alpha40_HiddenHugs' of https://github.com/Azaezel/Torque3D into Preview4_0_w_alph40_cleanups 2020-05-16 02:17:24 -05:00
AzaezelX 2c1508c169 uninitialized variables-console 2020-05-11 14:40:31 -05:00
AzaezelX bf50af7954 show/hide children automagically for simgroups via inspector
operates by shifting oninspectpostapply callback further down the inheritance hieracrchy and add some scripts to trigger sethidden and setlocked for all sceneobjects in a given simgroup if the states are set for that group
2020-03-29 17:36:33 -05:00
Areloch 7b5e1c3c58 @rextimmy fix for GuiWindowCtrl so they snap correctly again
Added asset loose files for editor and bake level files on level asset
Correct return of ConsoleGetType on TypeShapeAssetPtr
Adds shape asset support to TSStatic, now will support either raw shape file or ShapeAsset
Adds onInspect function behavior, so when object is inspected, it can do special editor behavior
Adds callback for when editTSCtrl is resized
Added editor setting to force the world editor sidebar(scene tree and inspector windows) to resize to fit to the right side of the screen automatically instead of float
If assimp loader encounters error, it's output into the console log
Makes root Data item in folder hierarchy tree in Asset Browser able to support right mouse popup menu action
Material and Shape assets now correctly base on current browsed folder
Material asset generation now more properly fills out common maps, as well as handles skipped dependencies better
More theme corrections
Updated TestGrid images asset defs to have proper loose file handling
2019-11-18 03:30:04 -06:00
AzaezelX 8cb018fb44 from @rextimmy: clamps the vc workaround now that later versions fixed that bug 2019-10-29 06:57:13 -05:00
AzaezelX dd1470202d Merge branch 'development' of https://github.com/GarageGames/Torque3D into PBR_ProbeArrayGLWIP
# Conflicts:
#	Engine/source/gfx/D3D11/gfxD3D11Device.cpp
#	Engine/source/lighting/lightManager.cpp
#	Templates/Full/game/levels/Empty Room.mis
#	Templates/Full/game/levels/Empty Terrain.mis
2019-05-01 23:18:31 -05:00
Areloch 701ae6034d Update simObject.cpp
Accidental redefine
2019-02-23 21:41:22 -06:00
Areloch 173dbc8868 Update simObject.cpp
better way to handle the validity check for const char*
2019-02-23 20:14:10 -06:00
Areloch 728511b137 Sanity check so calling getFieldValue on a blank fieldName doesn't cause a crash. 2019-02-23 16:50:05 -06:00
Marc Chapman e5884c56a7 Sqlite Console refactor, also rename param to make tooltip function more helpful 2019-01-10 21:31:17 +00:00
Azaezel 1eed979a9c Merge branch 'method_Unmangle' into PBR_PR 2018-12-12 14:54:22 -06:00
Areloch 835513b861 Deleting a probe in the editor now automatically does a cleanup of it's baked cubemap files
Also added it to do the prefilter/irrad processing on any StaticCubemap selected.
2018-12-10 00:46:28 -06:00
Areloch cbc09534e4 Merge pull request #2248 from lukaspj/new-cinterface
New cinterface
2018-12-09 15:28:22 -06:00
Areloch 644f4071ed Merge pull request #2246 from lukaspj/update-cinterface
Update CInterface
2018-12-09 15:24:29 -06:00
Areloch ad2493bef2 Merge pull request #2228 from lukaspj/fix-enginexmlexport
Make EngineAPI Export work properly
2018-12-09 14:52:27 -06:00
Areloch 6cf0c9e360 Merge branch 'development' into EngineAPI-Refactor 2018-12-09 14:48:50 -06:00
Areloch 1fc38d496f Added deletion tracking so when we delete a probe, it'll delete the prefilter/irrad bakes if they exist.
WIP of static cubemap bake(not working).
2018-12-07 00:30:08 -06:00
Areloch 5a1af9ccd7 Merge pull request #2236 from Azaezel/memberMess
cleans up all 'hides' warnings (at time of writing)
2018-05-30 20:36:43 -05:00
Areloch 8230f8ed7c Merge pull request #2233 from CouleeApps/better-return-buffer
Use a circular buffer for getReturnBuffer to prevent buffer cloberring
2018-05-01 23:29:25 -05:00
Areloch c44457397f Merge pull request #2234 from Areloch/DeprecatedMSVCFix
Remove a now-unneeded fix for offsetof on new versions of Visual Studio.
2018-04-30 22:52:48 -05:00
Areloch 46a233b3ce Merge pull request #2235 from CouleeApps/fix-dump-console
Fix dumpConsoleClasses / dumpConsoleFunctions
2018-04-30 22:52:30 -05:00
Areloch 21123bdc2f Merge pull request #2237 from JeffProgrammer/codeinterpreter_cleanup
Small Cleanup to CodeInterpreter
2018-04-30 22:52:12 -05:00
Areloch 287586469e Merge pull request #2242 from JeffProgrammer/ts_thisoptimization_hotfix
Interpreter Hotfix: Check for NULL on the thisObject before using it.
2018-04-30 22:51:52 -05:00
Azaezel 13334b4d5c Merge branch 'development' of https://github.com/GarageGames/Torque3D into memberMess
# Conflicts:
#	Engine/source/sfx/sfxSystem.cpp
2018-04-23 10:08:14 -05:00
Lukas Joergensen 6ebb05749e Don't automatically register objects, allow for modifications to the intial fields before register. This is necessary in order to set the fields before initialization such as TorqueScript does 2018-04-21 12:04:15 +02:00
Lukas Joergensen 870ee9fb5b Integrate new CInterface into the engine-console 2018-04-21 12:04:15 +02:00
Lukas Joergensen 2fe623b761 Pass structs by value, not by reference, in EngineAPI. This simplifies call-layout through EngineAPI 2018-04-21 09:23:38 +02:00
Lukas Joergensen 780e1dc73f Use FixedTuple in EngineTrampoline, to make memory-layout consistent 2018-04-21 09:22:12 +02:00
Lukas Joergensen fb412ff108 Add Type information for Properties in EngineXMLExport 2018-04-21 09:08:44 +02:00
Lukas Joergensen c1a234cae6 Fix EngineAPI xml generation, utilizing fixed_tuple for default args 2018-04-21 09:08:38 +02:00
Lukas Joergensen b0be06c33d Add initPersistFields to mPropertyTable 2018-04-21 09:03:04 +02: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
Lukas Joergensen 2bbc716db6 Eliminate unnecessary uses of ConsoleFunction 2018-04-17 21:41:29 +02:00
Lukas Joergensen 6be736ff85 Eliminate DefineConsoleStaticMethod 2018-04-17 21:03:16 +02:00
Lukas Joergensen 76908eae3c Eliminate DefineConsoleMethod 2018-04-17 21:01:50 +02:00
Lukas Joergensen e718841467 Eliminate DefineConsoleFunction 2018-04-17 20:54:08 +02:00
Areloch bc1b506205 Merge pull request #2146 from Azaezel/specializationShenanigans
changes find, swap, for_each, and delete_pointer from global to t3d namespace
2018-04-17 03:02:03 -05:00
Jeff Hutchinson c6ec1f8d86 Added better script interpreter logging. 2018-04-14 10:59:09 -04:00
Jeff Hutchinson c75eecbf53 fix this pointer in op_callfunc_this 2018-04-12 23:14:57 -04:00
Jeff Hutchinson 12134ceb2b Check for NULL on the thisObject before using it. Also cleanup break to goto. 2018-04-10 22:21:40 -04:00
Jeff Hutchinson 5d8b367de8 Remove unused variables and cleanup precision warnings as dSprintf takes a U32 for the size of the buffer to use. 2018-04-02 23:38:17 -04:00
Glenn Smith b486ab73bd CodeBlock::getFunctionArgs used the wrong offsets 2018-03-30 02:28:04 -04:00
Glenn Smith 0ebd75604d Badly sized buffer in dumpConsoleClasses 2018-03-30 02:27:43 -04:00
Areloch ec4043604e Remove a now-unneeded fix for offsetof on new versions of Visual Studio. 2018-03-29 00:44:10 -05:00
Areloch 918509d59a Merge pull request #2225 from Azaezel/defineDistaste
stop linux/mac  undefined MSVC versioncheck spam.
2018-03-28 21:38:40 -05:00
Glenn Smith 18dee487f9 Use a circular buffer for getReturnBuffer because StringStack's would get clobbered too quickly 2018-03-28 20:55:09 -04:00
Glenn Smith 593680fb3f Move StringStack methods into the cpp file 2018-03-28 20:52:10 -04: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 04d767ab9b stop linux/mac undefined MSVC versioncheck spam. 2018-03-19 16:18:57 -05:00
Azaezel cd28a786b4 stop linux/mac undefined MSVC versioncheck spam. 2018-03-18 18:51:10 -05:00
Azaezel 9b8c950701 console membervar cleanup 2018-03-16 20:05:47 -05:00
Azaezel e80b66464e ast shadowvar cleanup 2018-03-16 20:04:14 -05:00
Azaezel 5282b37d9f shadowvar cleanup 2018-03-16 11:13:26 -05:00
Azaezel 46ac677906 local 'duplicates' of scratchbuffer global shifted to varBuffer 2018-03-15 15:36:38 -05:00
Azaezel f36826605f simobject, dictionary, stringtable, and taml clarificationsand cleanups 2018-03-13 17:30:33 -05:00
Azaezel 3c97471630 substitution statements conformed to standard class:mVar standard 2018-03-13 17:27:24 -05:00
Azaezel 2369645a5a simset::objectList to simset::mObjectList 2018-03-12 03:58:19 -05:00
Azaezel 2e7d406860 variable naming cleanup due to locals overriding in multiple places. objectname to mObjectName+ getName() refs in dictionary. 2018-03-12 02:36:52 -05:00
Glenn Smith 47d5b6ead7 As suggested, extract strlen calls from sizes into variables so it isn't called twice 2018-03-08 20:59:40 -05:00
Glenn Smith eab086e184 A buffer overflow in enumerateConsoleClassesByCategory 2018-03-08 00:51:52 -05:00
Glenn Smith d9a723d533 More cats and cpys in files that xcode doesn't see 2018-03-07 01:13:56 -05:00
Glenn Smith e6e97e660c Missed a couple +1s here and there 2018-03-07 00:44:46 -05:00
Glenn Smith c4533b4dc4 Actual buffer overflow bug found because of these fixes 2018-03-06 02:35:46 -05:00
Glenn Smith 79c34c68db Use strncpy instead of strcpy because again, buffer overflows 2018-03-06 02:35:33 -05:00
Glenn Smith 7769da9434 Use strncat instead of strcat to prevent some buffer overflows 2018-03-06 00:48:44 -05:00
Areloch 6497ea5c76 Merge branch 'development' into issue_2115 2018-02-14 01:43:34 -06:00
Areloch 897174f5ea Merge pull request #2159 from Azaezel/veryValid
exposes getters for typevalidators.
2018-02-14 01:40:42 -06:00
Areloch 7e00785b6e Merge branch 'development' into NetworkedFields 2018-02-14 00:11:32 -06:00
Marc Chapman 9d01f7a973 Remove nested CLASSDOC Macro 2018-02-05 23:02:02 +00:00
Bloodknight 20eefee3cd Merge branch 'development' into issue_2115 2018-02-05 15:59:33 +00:00
Jeff Hutchinson abc01fd377 Fix Torque3D 64bit DSOs.
Fix from Torque2D for 64bit string table entries.
2018-02-03 00:32:22 -05:00
Marc Chapman 0c65f9ee8e Phase 1: Add a #define test 2018-01-23 20:24:35 +00:00
Azaezel 3bc15057ed exposes getters for typevalidators.
example usage

FRangeValidator gravCoefFValidator(-10.f, 10.f);
   addFieldV( "gravityCoefficient", TYPEID< F32 >(), Offset(gravityCoefficient, ParticleData), &gravCoefFValidator,
      "Strength of gravity on the particles." ); <- clamps gravity within a -10 to 10 range when evaluating scriptt-set changes

mClamp(gravityCoefficient,gravCoefFValidator.getMin(),gravCoefFValidator.getMax()) for any calculations done on the source side would do the same at the point that is called, with a singularl lookup spot for the range.
2018-01-16 14:14:57 -06:00
Areloch 402ce9b251 Adds a new function for defining static console fields on NetObjects - addNetworkedField()
This lets you attach a 32 bit netMask to the field, so that when it is changed, it automatically flags the associated bitmasks on the netobject as dirty.

This is to shortcut having to flag certain masks being marked as dirty through protected fields and just simplify/streamline the code.
2018-01-16 00:47:53 -06:00
Azaezel 01f0d5cfca tAlgorythm fed namespace T3D for better library interoperability. resulted in the need to specify usage in... a few places. 2017-12-27 22:57:47 -06:00
Lukas Joergensen ae6b035f10 Improve console dump with additional information, such as array sizes and variadic function 2017-12-08 20:50:44 +01:00
Jeff Hutchinson d7287914c7 fix arg corruption on functioncall compilation. 2017-11-12 14:21:49 -05:00
Jeff Hutchinson c7e12d3be7 roll back changes to simFieldDictionary as it doesn't want to play nice and causing corruption 2017-11-12 13:39:14 -05:00
Areloch d666322a1b Merging 2017-11-05 22:33:32 -06:00
Areloch e023cf3a60 Merge pull request #2056 from Bloodknight/afx_merge_main
Afx merge main
2017-10-11 08:47:47 -05:00
Areloch 629a25185d Updates the VariableInspector, VariableGroup and VariableField objects to actually be useful. In addition to the original functionality of being able to have a var name passed in and search for all vars with that in it, it also lets you build out a completely custom Inspector.
Unlike the regular Inspector, which requires a specific object or objects, from which the fields are pulled from, this lets you manually create fields, which can tie into any given object and their fields, global vars, and also not only supports the engine types for fields, but also triggers a callback to script if a field type is not found allowing fully custom fields to be handled as needed.
2017-09-21 02:49:36 -05:00
Areloch 29edbd0cd2 Hotfix to make VS2017 15.3 play nice. Offsetof behavior - specifically buildin - is unreliable(and broken in debug), so explicitly defining it to use a reliable method for now. 2017-08-18 23:28:25 -05:00
rextimmy d617a1f748 Support for VS 15.3 update 2017-08-15 21:39:22 +10:00
Marc Chapman 8436dff732 enhanced-field-mgmt -- Enhancements to dynamic field handling that allow for name filtering and replacement limiting 2017-07-26 21:49:45 +01:00
Marc Chapman 39b62b1461 copy-on-reload -- The datablock copy op, ":" is modified to copy on reload as well as on creation.
reload-reset -- adds virtual method that is called when a datablock is reloaded.
2017-07-26 21:40:27 +01:00
Marc Chapman f9f05f154f datablock-temp-clone -- Implements creation of temporary datablock clones to allow late substitution of datablock fields. 2017-07-26 21:10:43 +01:00
Marc Chapman 0b84fccdd2 substitutions -- Implementation of special substitution statements on datablock fields. 2017-07-26 20:18:27 +01: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
Areloch 0946950fa0 #if cleanup for the VS2017 workaround 2017-07-07 02:12:43 -05:00
Areloch 94f37daa52 Merge pull request #2030 from Areloch/2017TemplateFix
VS2017 compiler workaround
2017-07-05 22:29:23 -05:00
Areloch f1921c26dd Works around the regressive behavior in the VSC++ compiler for VS2017 where the variadic templates would not compile correctly. Issue should be patched in future versions, so for now it'll target the 1910 version specifically. 2017-06-28 23:58:56 -05:00
Areloch 25686ed4be Implementation of sRGB image support. Overhauls the linearization setup to utilize the sRGB image types, as well as refactors the use of ColorF and ColorI to be properly internally consistent. ColorIs are used only for front-facing/editing/UI settings, and ColorFs, now renamed to LinearColorF to reduce confusion of purpose, are used for color info in the engine itself. This avoids confusing and expensive conversions back and forth between types and avoids botches with linearity. Majority work done by @rextimmy 2017-06-23 11:36:20 -05:00
Areloch 2b8532f679 Merge pull request #2004 from Areloch/PragmaPack
Ups the #pragma pack call from 4 to 8 when using 64bit
2017-06-10 01:40:53 -05:00
Areloch d4d78ea5e4 Merge pull request #2008 from Areloch/ConsoleDumpAllocationFix
Console Classes dump allocation fix
2017-05-31 02:30:50 -05:00
Areloch c0f314101d Use the more stable method of checking the string by using the strlen call. 2017-05-31 02:27:28 -05:00
Areloch c05d49058f Cleans up a redundant include. 2017-05-15 01:02:15 -05:00
Areloch 2c5e70b1c9 Console Classes dump fix. It was running aground on having a case where there was a empty value for the 'usage' field in the class header. This would break the allocation because we're allocating nothing. This rejects it if the usage field is an empty string. 2017-05-14 17:51:13 -05:00
Areloch 431f121e35 ups the #pragma pack call from 4 to 8 when using 64bit, as per suggested settings. This shaves off a lot of compatibility warnings. 2017-05-08 19:13:10 -05:00
Phillip Khandeliants 959701208b Fixed V547: Bad C-string comparsion
This comparison of a string to an empty is meaningless, since in fact two pointers will be compared and the expression will always be false.
2017-04-27 12:03:44 +03:00
Areloch 124ecb2fe0 Merge pull request #1984 from FooBarbarians/fix-1912
Reordering initialization methods #1912
2017-04-26 01:11:51 -05:00
Masquara 15f67015d3 Reordering initialization methods #1912 2017-04-19 14:02:45 -04:00
Areloch 214aae7277 Removed the unneeded PPC And Altivec elements, and removed the LOCBUILD flag 2017-04-09 23:26:35 -05:00
Areloch bf229a9c0b Missed a bit. Readded an accidental removal, and cleaned up an extraneous endif 2017-04-08 21:06:47 -05:00
Areloch ed14b6fced Removes bits of code and includes that are based on old 360, xbox and PS3 flags that are no longer needed. 2017-04-08 20:30:57 -05:00
Thomas "elfprince13" Dickerson 849a1c1eb1 merged numerous changes from upstream 2017-03-03 21:17:07 -05:00
Thomas Dickerson 6963d35145 Merge branch 'development' into stringTableEmptyString 2017-01-24 12:35:34 -05:00
Areloch 713c93d328 Merge branch 'splashAndWindowIcons' of https://github.com/Areloch/Torque3D into development 2017-01-15 23:37:06 -06:00
Areloch 0c6174b045 Merge pull request #1920 from elfprince13/variadicConsoleTemplates
Variadic console templates
2017-01-12 23:32:03 -06:00
Thomas "elfprince13" Dickerson 27e2871b01 Replaced StringTable->insert("") with StringTable->EmptyString() 2017-01-11 23:36:04 -05:00
Thomas "elfprince13" Dickerson bcc5459818 whitespace 2017-01-11 23:34:46 -05:00
Thomas "elfprince13" Dickerson 332c06ae82 Replaced StringTable->insert("") with StringTable->EmptyString() 2017-01-11 23:21:29 -05:00
Thomas "elfprince13" Dickerson d64e2a7019 Removed constexpr use to support VS2013 2017-01-10 23:22:05 -05:00
Thomas "elfprince13" Dickerson 6bbb05e60e Removed constexpr use to support VS2013 2017-01-10 23:20:48 -05:00
Thomas "elfprince13" Dickerson 1c2b096a72 Whitespace consistency 2017-01-06 23:10:14 -05:00
Thomas "elfprince13" Dickerson 45ae5e71cb fixed lots of tabs and space 2017-01-06 18:04:28 -05:00