1) we do *not* in fact want to early out in the presence of MFT_ImposterVert. it mangles the position-send.
2) dx sucessfuly handles the if ( !fd.features[MFT_NormalMap] ) case, so use the same for gl
Can't have a soundAsset inside a struct. If we could this might work better.
PrevState needs to be kept track of for clearing looping sounds before the next state is loaded in. This might cause issues when switching weapons.
Adds handler modes for keyboard translations and native accelerators. This is needed so APIs that provide software keyboards can be notified when controls that require text input become active. This was previously hardcoded in OpenVROverlay, but is also needed by Steam Input and Big Picture so moving to GuiCanvas will make it accessible there as well.
Handler mode for both settings default to "Platform" so there is no change to the default behavior. If the setting is changed to "Callback", callbacks will be triggered to allow script to determine if the request should fall through to the platform window. The script callback is also the appropriate place to display a software keyboard and attach it to the input control.
Methods to simplify managing localized option lists.
Adds a text key to each option in an option row.
Adds methods for getting the current selections index or key value.
Adds methods for setting the current selection by index or key value.
This change is backward compatible. If the new methods are not called, the control behavior is unaffected.
misc dupe code cleanup bits.
safeties for the varous flavors of void ParticleEmitter::setup
ideally we circle back to break some of that logic on out to shared steps
Fixed String -> StringTableEntry conversion in prefab file to correct corruption when setting the filename
Cleaned up message spam from the MaterialSlot fields on TSStatics
Added getter/setters for terrain file and assets
Removed unneeded exec of tools profiles for MainMenuGUI
Add logic to remove creators section of AB if in select mode
Fixed misc. messageBox invokes that were erroneously converted to 'toolsMessageBox'
Fix classname for NotesObject in AB Creator Entry
Fix issue where ConvexShapeEditor toolbar would hide after being seen once
Changed keybind for quick AB access from 'space' to 'shift space' to avoid input issues when typing in fields in some cases
Fixed default image assignments for River objects on foam/ripple/depth
Added handling for Material, Sound and Shape asset fields in Object Builder, and updated various objectBuilder class entries to utilize them now.
Updated various fields' defaults for ObjectBuilder to utilize correct assetId's
Fixed editor SceneTree tooltips for TSShape and GroundCovert to correctly reference assets as needed
Added logic to properly check terrain asset validity when prompting to save changes, which would break saving actions before
Added menubar items in the Object category to take control and release control of control objects quickly for testing
augments $Video::forceDisplayAdapter = -1; to force usage of GFXAdapterType::NullDevice
skips trying to open a splash window for dedicated servers
bypasses guicanvas window display if window does not exist
Shifted tracking of importing asset status to an enum for more robust handling
Added logic to properly init freshly created shapeConstructors with the newly imported shapeAsset
Fixed handling of assets that have been marked to be skipped, but needed to fill in the parent's dependencies(UseForDependencies enum value)
Cleaned up redundant recursive logic for importing assets
Disable Create Game Objects button in inspector
Fixed material assignment for convex proxies
Updated asset icons for AB with WIP images to be more clear
Fixed issue where type-generic icons in the creator items in the AB weren't showing correctly.
Force AB to show creator entries in list mode for efficiency and avoid icon scaling issues
Moved creator functions for AB to separate file for convenience
Filled out GUIControls in the AB's creator mode, and context world editor and GUI creator entries based on active editor
Added drag-n-drop handling for guiControls via AB creator in guiEditor mode
Added more types' profiles in the AB gui profiles to give more unique border colors for better visual clarity of asset type
Added editor setting to indicate if the editor should load into the last edited level, or the editor default scene
Fixed setting of highlight material overlay in shapeEditor
Added global keybind for GUIEditor so space also toggles assetbrowser
Fixed up binding/finding of shapeConstructor by assetId, which also fixed displaying of shape's material listing
Streamlined the toolbar for the gui and world editors to utilize a stack, making the behavior and manipulation of toolbar elements significantly more consistent.
Added Settings and Asset Browser buttons to both gui and world editor toolbars for easier access.
Moved all tool toolbars over to work with the stack system to make them more consistent and better formatting
Added saving of asset browser's last position and extent so it remembers it on load.
Added editor setting to close the asset browser after completing a drag-n-drop action.
Added keybind to editor keybind list, making space toggle the asset browser
Added handling for if preview images on image assets fails to generate, will fallback to using the full image
Added handling for double clicking or drag-n-dropping terrain assets to create them
Improved handling of field labels in variable inspector by making the stringtable be case sensitive.
Added editor settings for handling of asset double click behavior. Can now select between Edit Asset and Spawn Asset. Support is asset type dependent.
Added editor setting for auto-importing loose files when navigating to a folder. If on and the user has flagged to also enable auto-import generally, will auto import all unaffiliated loose files in as assets.
Added editor setting for default module to use when creating new assets. Updated various tooling logic so when creating a new material, if this and the 'Always Prompt Module Target' setting is off, it will fill in the target module and target asset path info based on the default module.
Fixed issue with editors that use managedData scripts where if the path didn't exist, the script file wouldn't be made.
Fixed display issue in terrain editor where if you clear the detail map, the normal/macro/orm maps would disable, but not also clear.
Fixed handling of cleared maps in terrain editor so it no longer fills empty maps in with the no image image.
Fixed handling of creating new material where it would fill in the diffuse with a no texture image as the default.
Fixed issue where canceling out of creating a module would still prompt to create the common default folders.
Fixed issue where the Select Module window couldn't be closed via the cancel or x buttons.
Based on feedback, reduced default size of the Text Pad window.
Fixed issue where the Drop At menu list wouldn't correctly display which item was marked after it was changed.
Fixed spawning shape asset handling so it uses whatever the editor's Drop At setting is.
Improved themeing of regular bitmap buttons in the editor.
Based on feedback, flipped layout of Target Module and Target Path in the Create New Asset window.
Improved handling of setting up the Target Path for when creating new assets. If a path is not set, and the user has a Default Module, it will default the path to that module.
This fixes an issue where Con::getVariable can't be used in the global scope before the console system is initialized. I'm honestly surprised this error didn't happen on any other platform.
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.
* [UI Module] BugFix: Change module directory name to uppercase for matching the declared module name in its module file for asset tree browsing to work correctly on case sensitive systems.
Uncommented line in preview build function for material assets so they generate the reduced preview image
Added cubeFace to cubemapData import processing vars checked
Updated ShapeBaseImageData convert vars to properly use asset var names
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
Fixed handling of convex shape editor's active and default materials
Fixed assignment of material for convex shapes via editor
Fixed material editor map assignment logic
Added utility function to detect possible duplicate files in project to ProjectImporter
Added conversion of legacy sky and water classes to importer
Fixed bufferLen issue with guiTreeViewCtrl
Fixed creation of materialAsset from AB to properly generate companion script file
Fixed logic in project import that if we import in a legacy module script, we get rid of the newly generated one in favor of the old one
Fixed various inspector field editor button icons
Fixed drag-n-drop apply logic for material assets
Fixed up some convex shape editor material references
Fixed tools overlay gui profile opaqueness flag
Fixed uvEditor image asset binding/lookups
Fixed decal editor preview display
Fixed shape editor would you like to save your changes prompt
Added additional sanity check for bad material reference in tsMesh
Fixed saving of terrain asset when working in editor default level
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
Fixed modulePath not setting in some cases for project importer
Fixed not assigning drop and splash textures in precipitation
Fixed stringtable insert for sfxProfile
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
as discussed in the followup conversation to #500, seems like there's been a bit of command-drift since the writeup we were referencing to attempt consistentcy, so back to treating mac and nix differently on this front, looks like
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
* 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.
compresses void tc_spinloop() for both unix derivatives and apples to utilize pthread_yield_np();
mac only tweaks to Platform::getUserHomeDirectory() to return the ~/documents directory for parity with windows results
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.
set the minimum range to draw a shadow to 25 units, and the max to 10k (context, default draw distance is 1k)
'double' the max texture size allowed to 8192^2 (was 4096^2) to allow folks to throw more machine at it if they really *really* wish to