Commit graph

680 commits

Author SHA1 Message Date
marauder2k7 cd7666bf2a rename overloaded function so linux and mac stop bitching 2025-04-09 16:05:22 +01:00
marauder2k7 7c3fbfc9d8 add getter for console get types
templated function for getting data from a field
2025-04-09 15:14:46 +01:00
AzaezelX b886cbb527 on balance we'll want to round instead of truncate 2025-04-08 16:09:54 -05:00
marauder2k7 802f90bf69 init commit
initial commit of templated ParseProperty function
TypePoint and TypeRect consoleSetTypes now use the new templated function
2025-04-08 08:16:09 +01:00
AzaezelX 2d974cebf5 add difFloatPi range validator
player:
apply to player min/max angle
allow fallingspeedthreshold to go negative
splashdata:
velocity, hieght, acceleration and startradius can all be negative
wrap material animation range from -1 to 1
2025-04-03 16:52:49 -05:00
AzaezelX 664e9db571 fix S32Percent type-o 2025-04-02 15:44:49 -05:00
AzaezelX 3d2a923a30 add 0-100 percent ranges
F32 and S32
apply to guibitmapbarctrl
2025-04-02 15:33:39 -05:00
AzaezelX fcd2d38deb further validator cleanups
bump default fidelity from 0,0001 to 0.01
fix F32Range. needs to go from - to +, not smallest to largest positive value
fix several misasigned validator ranges. most of which use some form of -1 default to do a Special Thing
2025-03-18 14:06:33 -05:00
AzaezelX 011a8906ff skip trying to be clever and just report the variable name being checked directly 2025-03-18 03:13:37 -05:00
AzaezelX 55ac453ab9 guiProfile.border has specific usage cases for -2, so use the full negative range
clarify a bit what fieldindex is being asigned
2025-03-18 01:23:33 -05:00
AzaezelX 44b0d896b8 consolidate addfieldV method contents to avoid duplication
report *what* field is an invalid console type
prune down floating point fuzzed validators to 0
default the visual fidelity to POINT_EPSILON (0.0001) rather than 1/FLT_MAX
use the bit(bitcount) macro for legibility
fix breakangle
2025-03-17 22:39:01 -05:00
AzaezelX 40b5b018c7 report what the value is that is out of range 2025-03-11 22:30:18 -05:00
AzaezelX fa760fa746 add numerous new validators
as well as inspector support to treat a significant chunk of the codebase as range-clmped values which can take a guisliderbarctrl with a configurable at the validator level fidelity variable
additionally adds a new addfieldV and addprotetedfieldV for further callback validated slider-presented variables
*also* adds an on additional callbacks to the inspector itself, like onPreinspectobject, onPostinspectObject, and onPostInspectorfieldModified
in addition to *that*, adds a new hidefield command to tag a given specific field not to show in inspector
2025-03-09 11:51:54 -05:00
AzaezelX d8fcbb7863 work towards reflecting the typemask in the checkboxes in a combinatory manner again 2025-03-06 23:37:37 -06:00
AzaezelX 0ac0ee88c2 BitfieldConsoleBaseType::setData definition
also, preserve saved out 0 and -1 numbers to resrver 'none' and 'all'
ditch 'no' materialdefinition::animtype
2025-03-06 20:55:40 -06:00
AzaezelX 64103a58aa enum value listing
show the string value of masked enums in variable entries
also sort the combo case of scrolling and rotating materials
2025-03-06 19:04:22 -06:00
AzaezelX b36ec14194 add typeS16 2025-02-22 18:57:27 -06:00
marauder2k7 142467ccc6 update lib
can use original cmakelists.txt from torque, but update naming to tinyxml2
2025-02-14 19:57:38 +00:00
JeffR 0d338f2d51 * Update levelAsset creation so it can be flagged to be creating a subScene preemptively, improving workflow when creating a SubScene level asset 'in place' via the inspector.
* Fixed issue of creating new SubScene using the full level template instead of a blank level file
* Fixed subScene inspector field handling so clicking the create new will mark the 'in place' created level asset as a subscene appropriately
* Changed up persistenceManager logic when parsing objects out - especially with specialty fields - to use Strings instead of const char* to simplify memory juggling and improve stability
* Rolled back specialty array field outputs for decal roads and convex shapes to have the field names in the output again
* Added sanity check for MeshRoad's when writing out via specialty array field to ensure there are profile nodes before trying to write any
* Added sanity check to avoid pointlessly writing out meshroad and river position field into subScene file as it could cause a transform double-up and cause them to move when loading from a subscene
2025-02-05 22:51:43 -06:00
marauder2k7 a91ddfffa1 fixes for linux
According to doc and man pages we should not be using %Lg for a double as %Lg relates to a long double, F64 in torque is just a double so. This also produces better results when going from colorF to the colorPicker dialogue
2025-01-24 08:44:57 +00:00
marauder2k7 704e304eef display correct values
Few fixes to display float values if the inspector field asks for floats
Split Hsb out from colorI now linearColorF can return HSB from its own color without having to go through the colorI conversion, hopefully gets rid of rounding errors etc since we are only doing the calc once.
2025-01-23 19:06:35 +00:00
marauder2k7 029a495de1 change hsb to doubles internally 2025-01-22 20:12:49 +00:00
marauder2k7 5ca1c37fe9 more fixes for hsb conversion and gui updated 2025-01-22 19:14:40 +00:00
AzaezelX a5583a1d0e typofix 2025-01-21 11:02:16 -06:00
AzaezelX 0e22488434 cleanups and safeties.
had a bunch of dupliated code injectors that are bypassed by the nature of AbstractClassRep::FIELD_SpecialtyArrayField
since those getSpecialFieldOut entries return a const char * from the stringtable, we *don't* want to try and kill those off, since that can lead to trying to delete deleted things from what was designed as a permanent record
2025-01-19 13:31:23 -06:00
AzaezelX d6334f6cca spline objects were mis-saving in submis files
classes using AbstractClassRep::FIELD_SpecialtyArrayField use an explicit-writing mechanism, rather than tying things to a variable 'slot', so don't try and concaenate the two
2025-01-16 15:35:39 -06:00
AzaezelX 385974ab55 fix callonchildren varargs
std::move eats the sent variable, so store off a temp when applying it multiple times
2025-01-06 15:55:53 -06:00
JeffR 81ac23fd35 Merge branch 'SubScenes_Gamemode_PR' of https://github.com/Areloch/Torque3D into development 2024-12-15 18:39:03 -06:00
JeffR 61d9e82ce5 Adds FIELD_SpecialtyArrayField field type and handling for it in PersistenceManager, as well as a use-case of it for the surface field in ConvexShape 2024-12-07 13:20:30 -06:00
Brian Roberts 1be326e0d0
Merge pull request #1297 from marauder2k9-torque/matrix-templated
Template Matrix class
2024-11-07 16:17:38 -06:00
JeffR e2d0cc1981 Fixes issue where Regenerate Bounds button for SceneGroup/SubScenes wasn't displaying by moving it to Editing inspector group
Added mode toggle for if changing the transform influences the child objects of a SubScene or not
Added onSelected/onUnselected callbacks for SimObjects to allow contextual behavior in the editor
Added functionality of programmatic/dynamic Tool Button Palettes
Added logic so when selecting SubScenes the world editor palette has new buttons for letting the move/rotate actions influence the child objects
2024-11-05 20:14:36 -06:00
Areloch 03efedab37 Adds a TORQUE_TOOLS_EXT cmake flag/preprocessor and moves the systemCommand method into that so that one can lock down full shell command execution calls without dropping tools support 2024-09-01 16:55:58 -05:00
AzaezelX 30dcf0bf78 (backup) correct malformed error reporting 2024-08-28 17:22:44 -05:00
AzaezelX 24a1636edd correct malformed error reporting 2024-08-28 17:14:42 -05:00
marauder2k7 888332a85c rest of the implementation
apparently templated classes need all functions to be inline, otherwise unresolved symbols
macro for switching between matrixf and templated
few functions that were missed
2024-07-28 14:35:34 +01:00
AzaezelX eaa09a6db7 corrections:
fill in missing SceneObjectTypes enums.
parity with simobject.cpp and objecttypes.h
correct inspector display
2024-07-24 20:43:36 -05:00
AzaezelX 72c67e196a Merge branch 'development' of https://github.com/TorqueGameEngines/Torque3D into Enumnanigans 2024-07-24 17:58:27 -05:00
marauder2k7 56a89ee0b0 Update consoleFunctions.cpp 2024-07-22 21:20:54 +01:00
marauder2k7 6807abc8b6 ID10T error
no default does not need case -_- id10t error, few other fixes
2024-07-22 21:12:48 +01:00
marauder2k7 a621cc5100 various warnings
warnings cleanup
2024-07-22 20:59:48 +01:00
marauder2k7 b0181cc56a Update astNodes.cpp
missed naming
2024-06-18 15:23:52 +01:00
marauder2k7 fed83cdb8f naming
change enum to OP_JMPIFNOTSTRING (same name as others doing similar for different types)
place case with other ifnot statements
2024-06-18 15:15:25 +01:00
marauder2k7 0d4c335231 test
working test without scanstring changes
2024-06-16 23:05:42 +01:00
marauder2k7 d8411b4a58 Update console.h
case insensitive
2024-06-16 20:02:57 +01:00
marauder2k7 d6a79e4f5b if statement
treat "true" as a bool in getInt check (inside if statements for strings)
no longer convert all "true" and "false" to ints
2024-06-16 20:01:47 +01:00
marauder2k7 e56f4cb6a6 if statements
Changed:
if check on vals now return true if the value has a string value
%val = "test me" if(%val) will now return true since %val is not null

Script side:
string checks for "true" and "false" will now be parsed as integer values of 1 and 0.

TEST VIGOUROUSLY
2024-06-16 15:04:20 +01:00
marauder2k7 1c43959c07 multiline eval support 2024-06-07 20:44:44 +01:00
marauder2k7 8140ed9b64 clear
clear lines, and dont try to print lines when there is no file.
2024-06-07 20:13:56 +01:00
marauder2k7 b338458a1d possible fix for torsion lineno 2024-05-24 09:48:42 +01:00
Areloch b77911bdcd Exposes the SceneObjectTypeMasks as an enum type, allowing it to be utilized in inspectors.
Updated Trigger triggeredBy field to utilize new enum type for editing
Updated MaterialDefinition's animFlags field to utilize appropriate enum type for editing
Fixed image reference in bitmask inspectorField type to use correct image asset name
2024-05-04 09:56:04 -05:00
AzaezelX 1ea74bf8c6 enhanced argc reporting
in a method argc out of bounds scenario, report how many it got, and what range it expected
2024-05-01 18:20:14 -05:00
marauder2k7 baa977eed8 missed change
missed explicit value
2024-04-27 23:40:35 +01:00
marauder2k7 8cf5fac497 Improved error printing torquescript
Added a vector that can lookback across x number of lines in a file, if not a file just print out the error.
2024-04-27 21:19:56 +01:00
marauder2k7 6966d20104 Error printing
now torquescript will print out a more modern error message with a pointer to the offending character.
Multi line error outputs to be added to this for context
2024-04-24 06:42:25 +01:00
marauder2k7 4f3a1f395c Merge remote-tracking branch 'upstream/development' into torquescript-generateCompiler 2024-04-20 06:21:05 +01:00
Areloch 51c1ab6b83 Adds a sanity check to SimObject's setFieldValue console method so if you pass in a blank field name it doesn't crash, instead asserting in debug, and logging the error in release 2024-04-19 00:00:37 -05:00
marauder2k7 587f80da91 Update bison.bat
make it output the header file, this way the linkage should always work..... "should"
2024-04-15 00:33:04 +01:00
marauder2k7 77eec75bed Update astNodes.cpp
typo
2024-04-14 22:52:32 +01:00
marauder2k7 856d3bc901 fix for linux
linux case sensitivity
2024-04-14 22:47:55 +01:00
marauder2k7 83b3f01928 update bison flex
-Updated bison flex exe files to the latest windows version i could find
-Regenned the compiler..... alot of changes.....
2024-04-14 22:17:41 +01:00
marauder2k7 0954b081d0 GenerateCompiler
-ReAdded generateCompiler.bat
-Fixed paths in bat filse
-Fixed paths for includes
2024-04-14 07:08:17 +01:00
Triston a2cdbebfa1 removes a use after freed in consoleInternal 2024-03-24 18:36:42 -05:00
marauder2k7 f00d53f1d4 Revert "Update engineAPI.h"
This reverts commit a3742d26fb.
2024-03-19 22:32:25 +00:00
marauder2k7 a3742d26fb Update engineAPI.h
remove static inline and replace for static.

static inline is not C compliant.
2024-03-19 22:20:48 +00:00
AzaezelX 2e25059b27 fix inheritance conflict loop by declaring a singular root for class EngineObject : public StrongRefBase 2024-03-18 22:39:18 -05:00
marauder2k7 815832152d changes on macosx
mac picked up a couple of left over issues.
2024-03-18 19:58:47 +00:00
marauder2k7 2b295fb7f0 rest of virtuals removed
virtuals removed and replaced with override where necessary on the rest of the code base, clang-tidy to the rescue.
2024-03-18 18:40:22 +00:00
marauder2k7 efbe5e90f5 virtuals removed
virtuals removed and replaced with override where necessary, clang-tidy to the rescue.
2024-03-18 18:13:00 +00:00
AzaezelX 07ed59a872 TORQUE_TOOLS off compile fix
fix a cornercase for when TORQUE_TOOLS is #undef at the torqueconfig.h level
2024-03-10 14:29:17 -05:00
AzaezelX 24562e6758 aug ArrayObject to have a uniquePair command
like uniqueket and uniquevalue, removes duplicate entries, but only if *both* match
also, use that for the populateAllFonts() cache generator
2024-03-03 22:04:09 -06:00
Jeff Hutchinson 0d743c8bb9 TScript Bugfix
If the statement is a terminating statement on slot assignment (such as %var[%i]++;), the stack has to be popped everytime slot arrays are used regardless of the expression type.
2024-01-30 18:24:48 -05:00
AzaezelX 36c1e928ca don't allow setting a key or value on -1 index 2024-01-15 17:04:25 -06:00
AzaezelX 30e67694e8 arrayobject helper commands
getValueFromKey and getKeyFromValue.
both look to the left or right hand entry for the other one
example:
%array.add("startPos","0 0 0 ");
echo(">".%array.getValueFromKey("startPos"));
> 0 0 0
2024-01-10 16:20:08 -06:00
AzaezelX 2a2348b62c don't delete loaded dso code
unlike in the straight compile it now case it does in fact need to stick around. read injects the CodeBlock into a management system, so no worries about cleanup
2024-01-03 17:29:51 -06:00
AzaezelX e8210c8447 Merge branch 'development' of https://github.com/TorqueGameEngines/Torque3D into alpha41/scriptStability 2024-01-02 18:57:27 -06:00
AzaezelX b366ff9b1c script stabilization tweaks
Con::EvalResult CodeBlock::exec -
 objectCreationStackIndex needs to be signed as we test if it goes sub-zero
ConsoleValue Namespace::Entry::execute -
compiler yells about returning a temp via std::move
bool TorqueScriptRuntime::executeFile -
report the name of the dso output file, not the source scxript input file
2024-01-02 18:15:21 -06:00
AzaezelX 5791ee68a7 adds a getFieldCountNS and getFieldNS method to allow field lookup by namespace 2023-12-24 03:15:56 -06:00
AzaezelX b03cb4c49b add a getMethodSigsNS
takes a namespace as an explici value fed to it as oposed to inferring from an passed object
2023-12-24 02:46:26 -06:00
AzaezelX 428f22d728 Merge branch 'development' of https://github.com/TorqueGameEngines/Torque3D into classPrototypingPresenter 2023-12-23 21:29:17 -06:00
AzaezelX 78147821a0 filter inspector buttons out of the following:
PersistenceManager::updateObject
SimObject::writeFields
SimObject::assignFieldsFrom
DefineEngineMethod( SimObject, getFieldCount, S32, (),,
DefineEngineMethod( SimObject, getField, const char*, ( S32 index ),,
SimObject::writeObject

do not do so for
SimObject::setDataField
DefineEngineMethod( SimObject, dump, void, ( bool detailed ), ( false ),
2023-12-19 23:29:46 -06:00
AzaezelX 045c15fd26 Merge branch 'development' of https://github.com/TorqueGameEngines/Torque3D into classPrototypingPresenter 2023-11-29 14:16:37 -06:00
AzaezelX c1e81e0327 stop spamming the console every spawnObject call
assuming there was a spawnscript, the eval was also dumping that to the log
2023-11-27 21:10:39 -06:00
AzaezelX c10808873d hook PrototypeClass(%objectName) on up to inspector
fix dialog close, fix dynamic variable gui element alignment
2023-11-24 15:44:54 -06:00
AzaezelX fbcfe02098 clean up "Add" menubar categoes on the 3d object side via the following:
SceneObject now defaults to a category of "misc"
getCategoryOfClass now checks parent classes for what categories they hold so that variants can inherit
categories are in one of a few rough groups and subgroups depending on actual mapper needs/usages
2023-11-08 20:42:47 -06:00
JeffR 92743f6fd8 Adjusts the logic for when creating a simObject from a taml so that array elements(like material slots or sound asset slots) properly can handle prefixed field values, such as referencing loose asset files. 2023-10-20 17:51:49 -05:00
marauder2k7 e6ead9f268 Update console.cpp 2023-10-15 15:14:58 -05:00
Lukas Aldershaab 8748a2cac8 Expose some information in EngineFunction exports for better interop capabilities 2023-10-08 17:36:51 -05:00
Lukas Aldershaab ee93dc3b57 Ensure that getGlobalScope always returns the same object 2023-10-08 17:36:51 -05:00
Lukas Aldershaab 2c9f6a5350 Remove EngineXMLExport filtering 2023-10-08 17:36:51 -05:00
Lukas Aldershaab 27b6973da0 Reintroduce getFileLine for Console Modules 2023-09-27 14:58:44 -05:00
Lukas Aldershaab 01cfa4a604 Add sensible defaults for Console Module interface 2023-09-27 14:58:44 -05:00
Lukas Aldershaab 5615cc33d8 Remove CInterface script hooks, superseded by console refactor 2023-09-27 14:11:13 -05:00
Lukas Aldershaab c6047b24eb Fix foreach over non-existant objects 2023-09-24 14:36:56 -05:00
Lukas Aldershaab 6de2b455c4 Fix evaluatef argument handling and add regression test 2023-09-17 00:22:44 +02:00
Lukas Aldershaab e7d17e5453 Fix error in DB substitution logic and add regressiontest 2023-09-16 23:29:13 +02:00
AzaezelX a746957cd9 Merge branch 'development' into weirdtsbug 2023-09-13 08:46:47 -05:00
Lukas Aldershaab 83ea6cd0df Improvements based on experience from implementing Python runtime 2023-09-13 10:33:28 +02:00
Lukas Aldershaab e28e24a802 ConsoleValue improvements 2023-09-13 10:33:28 +02:00
Lukas Aldershaab 89b0c7f73b Console Refactor 2023-09-13 10:33:20 +02:00
Jeff Hutchinson 5d842fc79f TScript - Fix Type Bug
The compiler was found to have a bug where the variable type cannot ever change, causing issues.
2023-09-12 22:07:28 -04:00