Commit graph

251 commits

Author SHA1 Message Date
Jeff Hutchinson 1940becb2d Compilation fixes for C++20 2022-11-28 21:39:06 -05:00
Areloch dbf60a95a2 Adds handling to winVolume's _BuildFileName so if it's a filename-less filename(has only extension but no name) then we process the filename string correctly
Adds logic so when trying to do a path copy, if it's not a valid source filename, we merely fail the copy, rather than crashing due to a nullref
Makes guiPopUpCtrlEx respect the mActive flag so the mouse cannot interact with it if it's inactive
2022-07-24 13:12:46 -05:00
Robert MacGregor 161ffc62fe Merge branch 'Preview4_0' into feature-vfs-security 2022-06-13 08:05:26 -04:00
Robert MacGregor 4ef3f89280 * BugFix: Correct a minor post-merge typo. 2022-06-09 23:10:13 -04:00
Robert MacGregor 1e9aa8b86f Merge branch 'Preview4_0' into str_cpp_memory_experiment 2022-06-09 22:49:43 -04:00
Robert MacGregor 704113577b * Cleanup: Remove leftover comments from str.cpp. 2022-06-09 19:30:25 -04:00
Robert MacGregor 6d0e81763b * BugFix: Correct not setting the string to interned when allocating a StringData with a DataChunker in str.cpp. 2022-06-09 19:26:39 -04:00
Robert MacGregor 2cdfe70e50 * Experiment: Change the way StringData is allocated in the code, experimentally. 2022-06-08 11:27:16 -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
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
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 b63122ea76 * BugFix: Corrections to the VFS dumpDirectories function to properly honor the depth parameter. 2021-12-19 01:51:19 -05:00
Robert MacGregor 46b8c3d15d * BugFix: Correct the VFS dumpDirectories function not honoring noBasePath properly. 2021-12-19 01:18:52 -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
Robert MacGregor 277cdf67b0 * Feature: Initial secure VFS implementation with asset import capability. 2021-12-17 21:16:42 -05:00
Robert MacGregor a6a7d6e1a1 * [Tokenizer] BugFix: Correct a malloc/delete mismatch in the tokenizer programming. 2021-11-06 20:34:12 -04:00
Robert MacGregor 2586e73145 * BugFix: Correct a few memory leaks. 2021-10-14 19:40:16 -04:00
Robert MacGregor c376bc3f9c * [ZIP] BugFix: Correct another codepath that may fail due to case sensitive string searches. 2021-10-11 19:31:37 -04:00
Robert MacGregor 8d0128698a * [ZIPVolume] BugFix: Add the capability of resolving ZIP prefix paths with case insensitivity and a CMake option to control this behavior. 2021-10-11 19:02:58 -04:00
Robert MacGregor 15b946fb35 * Adjustment: Utilize native compiler intrinsics for endian swapping when available. 2021-10-07 09:59:03 -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 c16b88d709 Fix temporary buffer for scripting conversions. 2021-09-04 21:25:11 -04:00
Jeff Hutchinson b0549118b6 various misc fixes from merge. 2021-09-01 22:36:59 -04:00
Jeff Hutchinson 17231ca9fb Merge remote-tracking branch 'devhead/Preview4_0' into tsneo
# Conflicts:
#	Engine/source/platform/types.visualc.h
#	Templates/BaseGame/game/tools/assetBrowser/scripts/assetBrowser.tscript
#	Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/terrain.tscript
#	Templates/BaseGame/game/tools/gui/editorSettingsWindow.ed.tscript
#	Templates/BaseGame/game/tools/gui/scriptEditorDlg.ed.gui
2021-09-01 22:26:23 -04:00
Robert MacGregor 1b55dce613 * Workaround: Implement noinline attributes for problematic functions in str.cpp due to what appears to be GCC compiler bugs. 2021-09-01 21:12:12 -04:00
Jeff Hutchinson 6e072dbf91 Merge branch 'Preview4_0_DevHead' into tsneo 2021-08-29 22:28:42 -04:00
Robert MacGregor 3ecdf292d7 * Adjustment: Remove some unnecessary ifdef logic in UUID headers. 2021-08-20 22:53:45 -04: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 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 59e162abe5 void floating point error clipping courtessy higuy and hutch 2021-07-31 17:05:29 -05:00
Areloch abf5a09bc3 Removed duplicate checkbox image
Added asset import conflict resolution option to prepend folder name
Cleanups of Project Importer and fixed importing of material and terrain materials, specifically, fallbacks in the event they are unnamed to utilize the mapTo and internalName fields, respectively
Fixed typos in guiTerrainMaterialDlg
Added AssetBrowser button to GuiEditor
Improved FileObject's PeekLine function to be able to peek forward further via an optional lineOffset argument
2021-07-28 09:26:13 -05:00
AzaezelX b8eaefc21e refactor new IsScriptFile method to be zip-safe 2021-07-22 20:55:46 -05:00
Areloch 83b0432283
Merge pull request #489 from Azaezel/alpha40/zipPassPunt
expose a zip file password cmake config option
2021-07-17 11:03:26 -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
Brian Roberts 3aa0b8d236
Merge pull request #491 from Azaezel/alpha40/StreamSafetyString
augment bitstream write error reporting
2021-06-22 12:04:31 -05: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 2e8a0185b3 Fix buffer overflow issue in StringUnit::getWords.
getWords("a b c d", 2); // "c d"

that turns into this inside the engine:

getWords("a b c d", 2, 1000000);

that code after parsing d goes string++ which passes over the null character. This now enforces that check. Found this with the new script interpreter...how this wasn't blowing up before is beyond me.
2021-06-18 21:08:03 -04:00
AzaezelX 1da711dc4f augment bitstream write error reporting 2021-06-07 15:07:54 -05:00
AzaezelX a34aea55f7 expose a zip file password cmake config option 2021-06-02 16:08:51 -05:00
Jeff Hutchinson e981fd2cc3 Add support for aarch64 / apple silicon 2021-05-10 15:55:56 -04:00
Jeff Hutchinson 69d7a2f4a1 Merge remote-tracking branch 'devhead/Preview4_0' into tsneo
# Conflicts:
#	Engine/source/console/test/ScriptTest.cpp
#	Engine/source/console/test/consoleTest.cpp
2021-05-06 21:08:53 -04:00
AzaezelX 2e3e4228b2 make string to char* conversion automatic 2021-04-21 14:45:10 -05:00
Jeff Hutchinson 3e04196a53 make tests pass. 2021-04-03 01:53:40 -04:00
Jeff Hutchinson 35500a87c6 initial port of the new interpreter 2021-03-30 19:33:19 -04:00
Lukas Aldershaab 099dd4f1f3 Parametrize script extension, default to 'tscript' 2021-01-19 21:32:31 +01:00
OTHGMars c77be80220 Zip usage notes and defines. 2021-01-11 05:04:36 -05:00
OTHGMars 0484956a1f Enables pattern searches to enter zipped sub-directories. 2021-01-11 04:53:38 -05:00
OTHGMars e808fc4407 Clone file handle for concurrent zip access. 2021-01-11 04:49:43 -05:00
Lukas Joergensen a241d27b58 Expand EngineAPI type definitions 2020-11-15 21:30:45 +01:00