Commit Graph

103 Commits (d15cbdbbc84d35fb6b6f02fdedb87d0967e19c2b)

Author SHA1 Message Date
Benjamin Jillich 36c23b5d1a
[LYN-2522] Filtering for gem catalog (#867)
* Added sort filter proxy model for gem model that can filter based on name, gem origin, supported platform, features and/or types.
* Added new filter pane on the left with several filter categories for gem origin, type, platform and feature.
* Added filter category widget which is a collapsable generalized checkbox group that can interact with the proxy model and thus control filtering.
* Removed fixed size of the project manager. The application should always be resizable.
5 years ago
AMZN-stankowi b37be6cdbf
New AssImp build, just for Windows. This has the crash fix with bones. (#875) 5 years ago
AMZN-stankowi 58adcf168f
FBX settings can be opened again: g_fbxImporter is set, and if the ex… (#878)
* FBX settings can be opened again: g_fbxImporter is set, and if the extension list is empty, it is reloaded.

* auto -> auto*, .size() == 0 -> .empty()
5 years ago
Alex Peterson d112ae403b
Engine settings UX update and basic functionality 5 years ago
AMZN-stankowi ead54c85d7
Helios - SPEC-6963 - Fixed unused variables in release builds (#856) 5 years ago
Alex Peterson cfbae9a18b
add/remove gem python bindings 5 years ago
Benjamin Jillich 03b41b620d
[LYN-2522] Preparation work for the filter pane (#799)
* [LYN-2522] Preparation work for the filter pane

* Added arrow up/down icons.
* Extended the gem info with the type (Asset, Code, Tool).
* Extended the model with the type and a helper for converting gem uuids into display names.
* Extended the link widget to be clickable with a custom action, needed for the "Show all/less" for the filters.
* Converting the uuids we get from Python to AZ::Uuids and then back to strings to have them all in the same format.
5 years ago
amzn-mike 798d96f1a2
Merge pull request #753 from aws-lumberyard-dev/Helios_DataDrivenAssetImporter
[LYN-3689] AssImp: Data driven supported filetypes
5 years ago
amzn-mike ca94c59e28 Switch FbxImportRequestHandler to inherit from AZ::Component instead of BehaviorComponent
Previously FbxImportRequestHandler used to be activated as part of DllMain init and never had CreateDescriptor called, which meant reflect was not called.  BehaviorComponents get created and Activated as part of special SceneCore logic.  Since this component now needs to be activated as part of the normal flow, reflecting it caused it to be picked up by the SceneCore activate logic, causing it to be created/activated twice
5 years ago
AMZN-stankowi f779821ac0
Helios - LYN-3250 - Fixed morph targets for meshes that had multiple … (#696)
* Helios - LYN-3250 - Fixed morph targets for meshes that had multiple materials (#374)

Fixed morph targets for meshes that had multiple materials and were split by AssImp: Recombined them into one mesh in the O3DE scene graph, so the behavior would match FBX SDK.
5 years ago
AMZN-nggieber 25e811ff6c
Completed FirstTimeUseScreen with Final UX Look (#812)
* Forced Project Manager window to 1200x800

* Final look for FirstTimeUseScreen, essentially complete

* Remove margins on screens

* Added License info for image
5 years ago
bosnichd 7a557c05ac
Remove or update some remaining non-inclusive terms. (#793) 5 years ago
Aaron Ruiz Mora 87ec96fbf4
Fix compilation errors in windows release 5 years ago
Alex Peterson 2d54275cc6
Initial project creation logic
* Add GetProjects, GetProjectTemplates, GetGems
* Redirect python output to AZ_TracePrintf
* Allow creating projects in empty folders
* Enable project creation
5 years ago
bosnichd e2f5677bbc
Remove a number of unused CryCommon interfaces and docs related folders. (#788) 5 years ago
Mike Balfour d084027b6e
Bugfixes to enable slice-to-prefab conversion to run with less warnings/errors/crashes (#768)
While trying to process all slices and levels in Automated Testing, a few bugs came up that needed to be addressed:
- [LYN-3832] TransformComponent had a field removed without updating the version number and converter, which caused a lot of excessive warnings
- SliceComponent would crash in debug builds on instantiation failures due to a null dereference that was guarded against in most but not all places
- SliceConverter now detects when nested slices exist and gracefully warns about it.
- InstanceUpdateExecutor / TemplateInstanceMapper will now immediately remove instances that are unregistered, so that any in the queue don't get processed on a subsequent tick.  This was causing crashes when the instance was destroyed before the processing occurred.  It also has a side benefit of preventing the same instance from executing multiple times.
- Minor logic bugfix to the pack close warning, the boolean check was flipped.

Also added an early-out on SetTemplateId, since this was causing some unnecessary instance queue entries.
5 years ago
amzn-mike f5fab7e974 Merge branch 'main' into Helios_DataDrivenAssetImporter 5 years ago
Benjamin Jillich 6ebea13783
[LYN-2520] Gem Catalog - Gem Inspector / Info Panel (#718)
* [LYN-2520] Gem Catalog - Gem Inspector / Info Panel

* Extended the gem info with a directory and documentation link, binary size in bytes and added some helper functions.
* Added the gem inspector widget that hooks into the selection model.
* Info panel is vertically scrollable and based on the UX designs.
* Added a gem sub widget which holds several gem tags, a title and a description and is reused for the depending and conflicting gems.
* Extended the gem model with several new roles and data elements.
* Added more gem info test data before we got access to the real data.
5 years ago
amzn-mike ee4e9af465 Rename AssetImporterSettings to SceneImporterSettings 5 years ago
Alex Peterson 9b9ae22d23
Update Prism Python bindings interface
Add GetProjects, GetProjectTemplates, GetGems, GetProject and GetGem.
CreateProject and UpdateProject and the engine functions are not implemented yet
5 years ago
lumberyard-employee-dm 8b8a582f02
External Project Build Path Support using SDK Binaries (#690)
* Updated the DynamicModuleHandle code to search within the
SettingsRegistry for the FilePathKey_ProjectBuildPath setting in order
to determine the binary directory for the Project.

This is used to locate shared libraries and executables built by the
project when running and Engine SDK binary from within the Engine SDK

* Added a generation step within the Projects.cmake file to generate a
.setreg file containing the CMake build directory root.
The file is output to the <project-root>/user/Registry/build_path.setreg
file.
This occurs only on non-host platforms when configuring for
non-Monolithic builds, since the Build Directory is used to located the
project binary directory in order to located the project's generated
${CMAKE_BINARY_DIR}/bin/$<CONFIG>/Registry directory containing the
cmake_dependencies.<project-name>.<application-name>.setreg file
containing the list of gem modules to load for a given application

Updated the SettingsRegistryMergeUtils AddRuntimeFilePaths function to
be read in the new "/Amazon/Project/Settings/Build/project_build_path"
and use that to form an absolute path to the project build directory by
appending it to the FilePathKey_ProjectPath key.
That key is set in the 'FilePathKey_ProjectBuildPath' constant
Next updated the SettingsRegistryMergeUtils
MergeSettingsToRegistry_TargetBuildDependencyRegistry function to look
within the project build directory to locate the
cmake_dependencies.*.setreg file to load

Tweaked the Settings Registry merge order of the ComponentApplication,
GameApplication and Settings Registry builder to merge the command line
after merging the global user registry and after merging the project
user registry.
Moved the call to MergeSettingsToRegistry_TargetBuildDependencyRegistry
to occur after the above calls to make sure the properly overriden
projects' user registry was merged in order for the correct project
build path to be stored in the SettingsRegistry

* Added a ProjectConfigurationBinPath key which contains the path to the <build-dir>/bin/$<CONFIG> directory for a project which is used to load gem dlls and the Registry/cmake_dependencies.*.setreg files when using an pre-built Editor/AssetProcessor on an external project

* Fixed variable reference to fileNamePath variable

* Removing the default Project Build Path from the Settings Registry
Runtime Filepaths.

Any paths would have to be set explicitly via .setreg/.setregpatch file
or the --project-build-path parameter

Updated the setting of the project build path and project binary
directory to perform existance checks on the paths before setting the
keys of /Amazon/AzCore/Runtime/FilePaths/ProjectBuildPath and
/Amazon/AzCore/Runtime/FilePaths/ProjectConfigurationBinPath

Added a backup project binary path of
<project-build-path>/bin/$<PLATFORM>/$<CONFIG> which is used if the path
of <project-build-path>/bin/$<CONFIG> has not been found

Fixed compile error in DynamicModuleHandle_Apple.cpp

* UnixLike Platform Build fix for the DynamicModuleHandle code
5 years ago
Mike Balfour 77278a0329
First version of the slice-to-prefab converter
It converts .slice and .ly files to .prefab files, but doesn't handle nested or complicated slices correctly yet.
5 years ago
amzn-mike ba4439c397 Remove call to deleted init function 5 years ago
amzn-mike b7891f4fb6 Code cleanup 5 years ago
jackalbe 7d91a4c08e
{LYN-3787} Fix for infinite loop in the scene builder's import phase (#747)
* This simple fix pops any node that can not be registered using it name and unique ID
* Any scene file (i.e FBX) with the three or more nodes with the same name and parent will sort of work
* After the 2nd child node with the same name and parent will be dropped on export

Tests: added the new AutomatedTesting/Assets/BadAssets/three_same_named_nodes.fbx to regress test this
5 years ago
AMZN-nggieber 7ecd1b1761
Rearchitecture Project Manager Screens Workflow and Create Project Settings Ctrl
* Renamed UX screen files and classes to include screen in the name

* Changed screens to emit a screen change request a controller can connect to

* Made ScreensCtrl that owns and manages screens and their changing and history

* Made Project Settings Control managing back and next buttons

* Add Project Setting Model and moved New Project Settings Ui into Screen file

* Goto previous screen always works

* Removed unnecessary QObject namespace from connect calls

* Merged ProjectSettingsModel into ProjectInfo
5 years ago
bosnichd 3d84902b24
Remove CryCommonTools (moving the three remaining files into Editor/Util which is the only place they're used). (#741)
Remove CryCommonTools (moving the three remaining files into Editor/Util which is the only place they're used).
5 years ago
amzn-mike 2b538c9921 Switch to using settings registry
# Conflicts:
#	Assets/Engine/Registry/assetimporter.setreg
5 years ago
amzn-mike f478340376 Data driven asset importer. Need to fix reflection 5 years ago
bosnichd 4aff32e719
More red code (#732)
Remove:
- Code/CryEngine/CryCommon/Platform
- Some unused Code/CryEngine/CryCommon/Mock files
- Code/Tools/CryXML and almost all of Code/Tools/CryCommonTools
- Code/Tools/TestBed/ResourceCompilerImage
- Tools/DeepBandwidthToExcel
- Various .p4ignore files
5 years ago
Mike Balfour 2679826421
Change SerializeContextTools into a ToolsApplication so that it can correctly read in slice data 5 years ago
bosnichd 7cec2d8b07
Remove more unused things from CryCommon and CrySystem. (#709)
Lots of unrelated removals, I basically tried to remove everything exposed via gEnv that isn't used anymore, and following the threads found a few other things to remove also.
5 years ago
mbalfour ae9b36c135 PR feedback - now allows for multiple specializations on the command-line, and changed the switch name to "specializations" to reflect that. 5 years ago
Mike Balfour 12ce70030c
Merge pull request #701 from aws-lumberyard-dev/mbalfour/slice-prefab-converter
Move ThumbnailerNullComponent into AzToolsFramework so that it can be used by other tools
5 years ago
mbalfour b5e87d3601 Change SerializeContextTools into a ToolsApplication so that it can correctly read in slice data:
- Uses ToolsApplication instead of ComponentApplication so that built-in Editor components are recognized and read in correctly
- Starts up all the DynamicModules immediately so that the System Components are activated, which registers asset handlers and allows asset references to serialize in correctly
- Adds a -specialization command-line flag to specify which project specialization to use (editor, game, etc)
- Removes the filter to ignore unknown classes since they should all now be "known"
- Adds a few gem autoload flags and a null thumbnail service so that Qt and Python systems can be skipped, as they aren't needed for the data conversions and would bring additional overhead and complications
5 years ago
mbalfour 899d4c438d Move ThumbnailerNullComponent into AzToolsFramework so that it can be used by other tools that need it.
SerializeContextTools will soon rely on this.
5 years ago
Nicholas Lawson 1cbcfa75e8
Fixes a crash on mac in the SourceFileRelocatorTest (#688)
Note that this test should crash on windows too
but its a read-beyond-the-edge-of-array memory issue
which could be intermittent.
5 years ago
Alex Peterson 26d886792d
Initial Python bindings pass for ProjectManager
Adds dependency on pybind and interface to call o3de.py functions from c++
5 years ago
Benjamin Jillich d49135659f
[LYN-2520] Added link and tag widgets (#663) 5 years ago
kberg-amzn bdaa7eb3c1
Merge pull request #544 from aws-lumberyard-dev/MultiplayerComponents
Multiplayer components, visibility fixes for gameplay runtime and localprediction player controller component.
5 years ago
Benjamin Jillich d03f946609
[LYN-2515] Project Manager Gem List (#642)
* [LYN-2515] Project Manager Gem List Base

* Added gem model based on a standard item model
* Added list view using the gem model
* Added item delegate for a gem according to the UX design
* Removed th gem catalog ui file and replaced it with code
* Moved the gem catalog files into a sub folder
* Added drawing the Added/Get button and the platform icons
5 years ago
karlberg 1df2fe1d48 Merging latest origin 5 years ago
Nicholas Lawson e6146b6608
A quick fix for Asset Processor automated tests (#644)
These tests broke because RC.EXE is no longer a thing.

A more comprehensive fix and cleanup needs to be performed to
properly remove references to it while still keeping the existing
tests and other things.  This just removes as little as is possible
to avoid error.
5 years ago
AMZN-stankowi e22debec54
ATOM-15465: Helios rollback AssImp SDK version, this fixes the rotation bug (#608) (#641)
ATOM-15465: Fix issue with incorrect rotation on models.

* Revert "{LYN-3229} Update AssImp package with latest AssImp 3rd party source changes (#545)"

This reverts commit 06d2050ac4fe6b9d0d0c52e759cf73a9a3f7d3eb.

* bumping version to force assets to reprocess
5 years ago
Benjamin Jillich 5e65c5c710
[LYN-2515] Project Manager Gem List Base (#603)
* [LYN-2515] Project Manager Gem List Base

* Added gem model based on a standard item model
* Added list view using the gem model
* Added item delegate for a gem according to the UX design
* Removed th gem catalog ui file and replaced it with code
* Moved the gem catalog files into a sub folder
5 years ago
karlberg c21b4a577d Merge remote-tracking branch 'origin' into MultiplayerComponents 5 years ago
Benjamin Jillich 32b1d52341
[LYN-2515] Added shared gem info class (#574) 5 years ago
karlberg 751d13dd7b Merge remote-tracking branch 'origin' into MultiplayerComponents 5 years ago
AMZN-nggieber 724add6365
Fix Project Manager Qt Ui files not Being Autogenerated (#588)
* Moved Qt files into to renamed 'S'ource

* Updated files after moving all Qt folder into Source

* Updated Source capitalization in cmake files list

* Adding newline to the end of project_manager_files.cmake

Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
5 years ago
Zaladane 1455fcbde6
Asset Bundler - Minor Feedback (#550)
Asset Bundler - Minor Feedback

* updated the formatting so all lines are shorter than 140 characters

* fixed a few nitpicks that came up on a recent PR

* removed a function that wasn't being used anymore

* updated some error messages based on PR feedback
5 years ago