Commit graph

1059 commits

Author SHA1 Message Date
AzaezelX 4fd8436911 targeted fix for #45
as there was no consensus on conversion to explosions from the RFA, holding 7a88b2d489 on back untill we adress that in the ECS pass with 4.1
2022-07-31 13:24:01 -05:00
Brian Roberts 332193b53a
Merge pull request #835 from Azaezel/alpha40/pathShapeSillies
pathshape cleanups and callbacks
2022-07-29 17:22:46 -05:00
Brian Roberts 14d1b16892
Merge pull request #833 from Azaezel/alpha40/particlePainPunt
particle emission safeties
2022-07-29 17:22:35 -05:00
AzaezelX f4e6060b52 pathshape cleanups and callbacks
sceneObject:
   UpdateXformChange(mat); operates on the parent object, so made no sense to shove it in void SceneObject::PerformUpdatesForChildren(MatrixF mat){
provide callbacks for when the parent/child relationship changes

simpath+camerapline+pathshape
provide a mechanism to embed a callback for a pathshape defined on a path node. example:

            new Marker() {
               seqNum = "7";
               hitCommand = "TheCommand" // <------------------------------;
               position = "-17.0856 -92.2349 4.00051";
               rotation = "0.0334943 -0.254411 0.966516 179.495";
            };

function PathShapeData::TheCommand(%this,%obj)
{
    echo("Do the thing");
}
2022-07-27 16:35:09 -05:00
Brian Roberts c8db2ea955
Merge pull request #834 from Azaezel/Preview4_0
soundAsset profile and description getter fixes
2022-07-27 16:29:06 -05:00
AzaezelX f59c5f152f soundAsset profile and description getter fixes 2022-07-27 16:28:07 -05:00
AzaezelX 77ef842670 particle emission safeties
both for player specifically, and emission in general
2022-07-27 16:26:58 -05:00
JeffR 305e4851e0 Fixes issue with using Edit Asset in RMB menu in AB on datablocks where it wouldn't correctly recognize the datablock
Fixes issue where the local sfxProfile in a sfxEmitter would share pointer reference to the utilized shapeAsset's sound buffer, so when it's deleted it would nuke the soundAsset's buffer, causing reference exceptions
Adds includes to torqueConfig.h in several files that are blocked out with TORQUE_TOOLS to ensure that if the flag is on in the config file, the files are loaded/compiled as expected
Add sanity check to AssetManager::unloadAsset to ensure that the assetDef being unloaded was actually correctly loaded/registered into the console in the first place
2022-07-02 23:27:18 -05:00
AzaezelX f0b218f1e2 fix shape errorcodes
corrects out of bounds flaw
2022-06-16 22:07:45 -05:00
Brian Roberts b753c9d91c
Merge pull request #713 from Ragora/feature-vfs-security
Feature: VFS Security
2022-06-16 21:23:49 -05:00
Brian Roberts 41f5350173
Merge pull request #815 from Azaezel/alpha40/TORQUE_TOOLS
fix TORQUE_TOOLS = off compilation
2022-06-16 21:23:38 -05:00
Robert MacGregor 2b8f9e3999 Merge https://github.com/TorqueGameEngines/Torque3D into feature-vfs-security 2022-06-15 18:12:39 -04:00
AzaezelX 4a7104e5ea fix TORQUE_TOOLS = off compilation 2022-06-13 12:38:08 -05:00
Robert MacGregor 0a45fac224 * BugFix: Switch a few raw platform calls in reflectionProbe.cpp to the VFS. 2022-06-13 12:02:58 -04:00
Robert MacGregor 93a4f8780c * BugFix: Correct simple incorrect references after changing Platform::isFile to Torque::FS::isFile in the asset importer. 2022-06-13 08:20:46 -04:00
Robert MacGregor 161ffc62fe Merge branch 'Preview4_0' into feature-vfs-security 2022-06-13 08:05:26 -04:00
JeffR 7cdace8da3 Fixes bounds scaling issue making the object box in the editor be double the convex's size
Fixes loading of modified surfaceTextures by properly inserting into stringtable
Fixes display of the active and default material previews in the ConvexShape editor
Adds buttons to hollow and recenter selected convex to tool window
2022-06-12 04:27:32 -05:00
AzaezelX 66820fee90 let me underscore this is painfully incorrect and we'll want to revisit it when we have more time, but... this seems to fix mangled decal and decalroad rendering 2022-06-07 22:06:48 -05:00
JeffR 834116c513 Uncomments networking lines that ensure client has the particle's textures 2022-06-04 21:53:12 -05:00
JeffR 7efab038d1 Adjusts handling for special-case networking of sound assets where we may need to account for stuff like SFXPlaylists. DB names aren't transported, so we need to do Id lookups 2022-06-04 00:59:06 -05:00
JeffR 448a453e51 Fixes logic check for sound asset macros so if the defined field value is an object, we consider it valid, as it's almost certainly an SFXPlaylist or track. This removes some unneeded error spam 2022-06-03 03:23:27 -05:00
JeffR 943cf8351b Adds safety check to SoundAsset's playSound so if we don't have a source, it doesn't crash
Adds logic to SoundAsset's load sound to 'nudge' the SFX system to load the required data for first use
Shifts SimSoundAssetEvent constructor to utilize assetId instead of raw asset so we can safely fail if for whatever reason we end up default constructor'ing blanks
Standardizes the shapeImage playList lookup a bit into a common function and ensures that on packet receive we force an update of the state's sound
2022-06-03 02:04:39 -05:00
AzaezelX bba3b1a8d6 proper player head rot clamp 2022-06-01 10:30:45 -05:00
AzaezelX c3eb5e028b constrain player mRot.z reguardless of translation 2022-05-31 22:00:15 -05:00
Brian Roberts 925f6ebe41
Merge pull request #794 from Azaezel/alpha40/convexShapeShaderStandardization
set convexshape to use a standard vertex type
2022-05-29 22:53:13 -05:00
AzaezelX dd920bb537 set convexshape to use a standard vertex type
we were seeing vert type vs shadergen mismatches. this is a route to conform the former to the latter, which avoids generating a unique shader/processedmaterial combo
2022-05-29 13:18:01 -05:00
AzaezelX c47cb54702 fix on-RPC-command explosion sounds not playing the first time 2022-05-26 18:04:37 -05:00
Brian Roberts 13a296aae8
Merge pull request #783 from Azaezel/alpha40/ambeintOrderOps
fix sDefaultAmbience intialization.
2022-05-25 00:26:27 -05:00
JeffR 70a9666cc3 Removes erroneous assignment of loaded state onto fallback assets when we fail to find an assetId by filename for image and shape assets
Fixed handling of TSStatics' materialSlot fields, where if the field has been changed, it properly loads the modified field and ensures the reskin action happens correctly.
Changed text on some context popup menu to better indicate the action Views loose files, not imports them
Makes the Loose File Viewer skip cached.dts files.
2022-05-25 00:12:12 -05:00
AzaezelX ff0e418132 fix sDefaultAmbience intialization.
we don't want to spool that up before the SFX subsystem has kicked in
2022-05-16 19:22:25 -05:00
Robert MacGregor 39952a490f * Cleanup: Resolve several compiler warnings associated with TORQUE_DEBUG. 2022-04-25 18:23:15 -04:00
JeffR 1c7c32baa6 Separates out acquireAsset call for importing assets until after all assets have been imported, then runs it as a post step to ensure all assets are properly loaded before they're used 2022-04-10 19:41:37 -05:00
JeffR 50973b7f6f Merge branch 'Preview4_0' of https://github.com/TorqueGameEngines/Torque3D into MiscFixes2022049 2022-04-10 18:54:33 -05:00
AzaezelX 0136af477f getAssetIdByFilename loaded state fix
getAssetIdByFilename should set the <type>Asset->mLoadedState = AssetErrCode::BadFileReference; so we know we're using a fallback
2022-04-10 17:29:55 -05:00
JeffR 5c8d8fab00 Changes behavior with suffix appending of asset importer so it doesn't contaminate the original "clean" name, which is used for setting the mapTo value of material definitions
Also adds a sanity check when applying the type suffix to see if it's already there to avoid needless doubleups
Fixes offsetting/positioning behavior on icon buttons to actually respect the icon position variable
Adds sanity checks to ensure we're not trying to utilize a in-process-of-deleting decoy dummy
Fixes handling of sliders in option menus to properly store and test unapplied values
Fixes handling of display device setting to properly store and test unapplied values
Adds additional logic to creation of shape and material asset previews to attempt to force-load dependencies to improve likelihood that they'll actually be loaded when we go to generate the preview.
Temp disables creating cubemap 'assets' via the RMB context menu in the AB
2022-04-10 01:40:15 -05:00
Brian Roberts 67b5afcfbe
Merge pull request #758 from Azaezel/alpha40/spawnDisplayAug
display the item to be spawned
2022-04-07 11:48:20 -05:00
JeffR 976c0bca79 Fixed uninitialized values for renderMeshExample and renderShapeExample which would cause a crash on creation
Added utility method to prefab to be able to get the internal simGroup that contains it's children
Adjusted logic for mounting items in GuiShapeEdPreview to utilize assetIds for the shapes
Moved the Asset and AssetBrowser editor settings populate functions to the AssetBrowser script to better organize things
Fixed command usage for General, Player and Observer spawn point creator entries to use the correct callback commands
Fixed logic for creator callback commands that don't just route through the class name based structure
Added RMB context menu actions for opening asset file or folder locations in OS file explorer
Fixed lookup of animation assets when editing a shape's animations in the shape editor so it provides the assetId of the anim if it exists
Fixes handling of mounting in the shape editor so it utilizes assets and the asset browser like everything else
2022-04-06 01:08:20 -05:00
AzaezelX e1a127715e sanity checks 2022-04-05 20:17:51 -05:00
AzaezelX ed33c70a23 display the item to be spawned
given a valid datablock name, use that meshes shape to display the spawnsphere mesh, rather than the default one
2022-04-05 18:54:09 -05:00
JeffR 6b28f1f151 Fleshes out remaining missing editor settings entries/categories
Makes GUIAssets exec scripts before the gui file to allow onAdd methods to work
Adds missing getForestPath and getNavmeshPath methods and updates asset move logic to utilize them
2022-04-05 00:29:58 -05:00
JeffR d044ae0702 Removed unneeded default irradiance and prefilter cubemaps, and their convars
Added getGUIPath console function to guiAsset
Corrected console function documentation for getScriptPath in MaterialAsset
Added getter console functions to PostEffectAsset
Added getAnimationPath console function to PostEffectAsset
Fixes handling of mapto with the reskin usage when generating preview renders for ShapeAssets
Standardizes getShapeFile to getShapePath on ShapeAsset to better match formatting of other getters on assets
Adds sanity checking for getStringWidth to prevent crash if there's an issue with the font being ready at time of request(from Az)
Earlies out on rendering of impostors if it's the deferred bin to prevent unneeded duplicate rendering messing up results(from Az)
Fixed duplicate naming of quality levels on LightingQualityList
Added check so if _makePrettyResString is handed a 'human formatted' resolution string(as in, has <width> x <height> it can handle that properly
Shifted yes/no and on/off option lists to globals for ease and consistency of handling on options menu
Improves check for unapplied graphics options on options menu and applies them all at once
Add sanitizing of variable names so getVariable doesn't have issues when looking up array variables in optionsMenu logic
Adds better tracking of what options menu category is shown so refreshes don't reset it
Add better handling for changing resolution in options menu and getting it to apply properly
Adds better utility functions for setting bools vs optionsLists vs quality lists and updates options fields to use the most appropriate
Removes redundant setting of $pref::SFX::channelVolume vars in defaults.tscript
Removed unneeded extra logging from asset browser drag-n-drop actions
Adds item to RMB context menu in AB to regenerate preview images
Fixes move command for asset types(needed to properly reference the full path of the associated files) and added it for shapes, animations and terrains
Added logic so when the dropdown for selecting a target module on the Create New Asset window is changed, it forcefully updates the target path to point to the module to avoid erroneous paths being provided
Adds proper clamping of values to Forest Editor's brush size in the editor bar. Could be set to below 1 even though it would visually clamp to 1.
Temporarily disables fields and handling of 'open in Torsion'.
Fixes bad pixel in gui/images/tab_border.png which was causing it to fail to generate bitmap array properly
Makes the New GUI option from menubar in GUI Editor use same Create New Asset method as everything else
Disables access to the CubemapDesc reflector field in the material editor as it's not nominally used now in favor of probes
Adds proper loading of roughness and metalness fields in material editor
Fixes the default ReflectProbePreviewMat to use a better base DiffuseMap (No Material) rather than the occluder
Fixes disable display for some options in the advanced panel in the shape editor so they look more fitting to everything else
Adds check to avoid spam of markItem errors in the event requested tree item is invalid
Fixed remove material button and command in TerrainMaterial Editor
2022-04-03 20:00:30 -05:00
JeffR 81aa43a4bd Fixed formatting to match the standard for TerrainMaterialAsset inspector fields
Added utility functions to TerrainMaterialAsset for getting the material and fx material definitions
Fixed logical flaw with the initialization code that could cause the materialDefinition to be nulled in terrainmaterialassets
Fixed layer handling in GroundCover to properly work with TerrainMaterialAssets
Added logic to properly exit out of the onAdd in the event no internal name is assigned or if there is a collision. This prevents duplicates from appearing in the terr mat editor when creating a new material
Fixed issue where going from a creator item in the AB to selecting a particular asset type would break the filtering because select mode removed collections and creator items, changing all the item ids and breaking references.
Added sanity check to prevent attempting to acquire non-assets in the AB, such as creator entries, which would cause console spam
Added optional field to provide an override new asset name to the New Asset window
Added logic so in the event no FX Material is found when importing a terrain material, it will create a stub entry so it always has one defined
Added logic to handle situations where a terrain has a reference to an assetId, but the asset does not exist for whatever reason. Will prompt to create the missing asset, then continue on with the regular saving/editing process as normal
Fixed issue where the terrain material editor would try and reference the preview images being used in the display on the editor instead of the proper assetId itself
2022-03-29 01:40:07 -05:00
Brian Roberts 05a6a249ea
Merge pull request #748 from Areloch/MiscImportAndToolFixes
Misc Tool and Asset Import fixes and improvements
2022-03-20 18:49:36 -05:00
JeffR cf8659735b Adjusts handling so if a file being processed for importing is not actually imported as a new, successful asset it does not return an id, allowing tooling to only worry about actual new assets.
Adds utility functions to TerrainBlock to be able to replace names of materials in the terrain file, mostly used for importing legacy files
Adjusts terrainblock save asset logic to be able to save on a non-networked terrainblock such as when loaded temporarily on the server, for tooling purposes.
Changes handling of not-found terrain materials when loading a terrain block so it will create a dummy terrain material with the same name as the not-found, but set the texture as the Warning image, instead of thrashing the original material names data
Adds logic for testing newly imported terrain files' materials and if needbe, replacing them with the new terrain material asset ids.
Adds logic in the project importer for if a would-be level asset's name already exists, we attempt to slap a "Level" suffix onto it to sidestep collisions.
Changed LegacyImport config to try always adding shape suffix to help minimize probable naming collisions.
Fixed handling of mission file's MissionGroup defines by specially checking for MissionGroup objects and processing the line into a Scene() declaration instead.
2022-03-20 16:17:06 -05:00
JeffR b3342ff7e6 Adds handling for import of files marked as ShapeAnimationAsset
Adds filetype handling of dsqs for importing
Improves logic checks to prevent incorrectly redundantly processing incoming assets for collisions, which could mark all assets as colliding instead of all but the first.
Adds better handling for assets marked as for dependency usage when importing
Improves rules for writing originalFilePath only if it's actually from an external directory, and the file actually exists to prevent polluting in redundant or garbage data
Fixes issue where MaterialEditor was not tracking the currently material assetId if the material was changed via the dropdown selector
Adds a sanity check to shapeAnimationAsset load so if the resource does not load properly it doesn't hard crash but instead logs the error and returns safely.
2022-03-20 03:17:31 -05:00
Brian Roberts b9cd83a898
Merge pull request #726 from Areloch/DefaultValueSaveFix
Improves logical checks for the default value so it's more sane and stable
2022-02-14 01:11:56 -06: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 e04f844240 Scaling correction to probes in deferred mode to improve parallax adjustment
Ensure that probes are masked to be rendered during bake passes so they can contribute during a bake allowing multibakes
Adjusted order of the connect data for the forward shaders to fix a mis-port issue
2022-02-13 19:24:01 -06:00
JeffR 79eebdd5f3 Cleaned and repacked work to update the probe bin and reflection probe behavior to clean and standardize it. 2022-02-12 15:53:40 -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