Commit Graph

231 Commits (e4921c8d0aa0fe5ea3916e2e486dfdabc52255a7)

Author SHA1 Message Date
Benjamin Jillich 7b6226a8aa [LYN-2514] GemCatalog: Item delegate changes enabled/disabled state in the gem model
When clicking the button on the right side of the gem item delegate, it changes the enabled/disabled state of the gem in the model.
5 years ago
Benjamin Jillich 553318ed17 [LYN-2514] Extending gem model
* Added was previously added state for gems.
* Added helpers to add/remove gems from the model.
* Helpers for extracting the gem model indices to be added/removed.
5 years ago
Alex Peterson a3e73948c5
Improved project creation validation
No longer requires project name to be part of the project path.
5 years ago
Alex Peterson afe20906db
Add Project Manager File menu options to Editor 5 years ago
Steve Pham 74ec7a362b
Update Android Project Generation to support AGP 4.2.0, Cmake 3.20, and newer versions of NDK&SDK
- build.gradle format updates for newer Android Gradle Plugin
- Remove hard coded Android Gradle Plugin version 3.6.4 to be passed in from command args
- Set Android Gradle Plugin min version 4.2.0 in order to support Min CMake version 3.20
- Add ability to use the android sdk to install missing components if needed rather than doing it externally
- Removed argument to pass in the NDK folder to use the android, use the android-sdk instead. Can request specific NDK versions if possible
- Android Gradle Plugin has dependencies by version and is being managed
- More defaults based on tools on path, agp version made possible so they are no longer needed in the command args
5 years ago
greerdv 2c36d6a19a
Merge pull request #1039 from aws-lumberyard-dev/transform-float-scale-3
refactor vector scale in Transform to float scale
5 years ago
Esteban Papp ff9a052ce6
Merge pull request #1011 from aws-lumberyard-dev/ly-as-sdk/LYN-2948
Integration of the LY as an SDK work
5 years ago
greerdv 34abf7376e Merge branch 'main' into transform-float-scale-3 5 years ago
AMZN-stankowi 1369e29c73
Abort calls in AssImp, which occur when an assert is hit in builds th… (#1012)
* Abort calls in AssImp, which occur when an assert is hit in builds that have asserts enabled (like debug) no longer generate a popup. Instead, they are captured as errors and an asset processing failure.

* Added missing include

* Added check for _WRITE_ABORT_MSG, so platforms that don't have it but have signals enabled (Linux profile) compile correctly
5 years ago
pappeste ddab4cf53a Fix for register python bindings 5 years ago
pappeste 9ad70608e8 Fixing compilation failure 5 years ago
pappeste 95b560ba3b Merge branch 'main' into ly-as-sdk/LYN-2948
# Conflicts:
#	Code/Tools/ProjectManager/Source/PythonBindings.cpp
5 years ago
AMZN-nggieber 96080d85e4
Project Manager Support Add Existing Projects, Removing, Copying, and Deleting (#961)
* Add Add/RemoveProject to Python Bindings

* Support Project, Add, Remove, Copy, Delete

* Open parent directory when duplicating to discourage path in owning dir

* Remove extra connects for new projects button

* Center project image
5 years ago
pappeste eece07efd3 Merge branch 'main' into ly-as-sdk/LYN-2948 5 years ago
Mike Balfour 96905a26d7
Add support for AP-compliant relative paths (#998)
The method "PrefabLoader::GetRelativePathToProject" has been changed to "PrefabLoader::GenerateRelativePath", and reworked to get a correct relative path.  GetFullPath has also been modified to get correct relative paths too.  This requires an Asset Processor connection - if one isn't available (like during unit tests), the methods have fallback logic to produce project-relative paths.

With this change, SliceConverter can't use SaveTemplate() to save the file any more, because GetFullPath now expects to find an existing path, which doesn't work for not-yet-created files.  Instead, it now has to use the same technique as the Editor and call SaveTemplateToString then save the string out as a file.
5 years ago
greerdv c35c1d67e7 update transform widget to work with uniform scale 5 years ago
lumberyard-employee-dm 3c0c066f88 Updating the ProjectManager Gem validation check to make sure the name isn't empty either 5 years ago
pappeste 8b9f5230f6 Merge branch 'main' into ly-as-sdk/LYN-2948 5 years ago
Benjamin Jillich 5bb55ac1c7
[LYN-2514] Optimizing for new window dimensions (#990) 5 years ago
scottr bd3dae077e Merge branch 'main' into ftue_auto_register 5 years ago
scottr e1dfac34fc [ftue_auto_register] wrapped registration pybind calls with ExecuteWithLock 5 years ago
scottr 3137b961bf [ftue_auto_register] elevated error to assert if registration fails 5 years ago
lumberyard-employee-dm 394ac7ab6a
Updated the enable gem and disable gem API (#54)
* Updated the enable gem and disable gem API
Renamed remove_gem_project.py -> disable_gem.py
Renamed add_gem_project.py -> enable_gem.py
Renamed the "add-gem-to-project" command -> "enable-gem"
Renamed the "remove-gem-from-project" command -> "disable-gem"

Fixed the parsing of the enabled gems from the enabled_gems.cmake file

* Adding newline to the end of the CMakeLists.txt
5 years ago
scottr ecc18338fa [ftue_auto_register] move engine registration check into private helper function 5 years ago
scottr 78afc45709 [ftue_auto_register] add logic to auto register engine if it is not already 5 years ago
pappeste 01933f45b1 Merge branch 'main' into ly-as-sdk/LYN-2948
# Conflicts:
#	Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/gem.json
5 years ago
pappeste f1b688f435 Merge branch 'main' into ly-as-sdk/LYN-2948
# Conflicts:
#	CMakeLists.txt
#	Code/Tools/ProjectManager/Source/GemCatalog/GemInfo.h
#	Gems/AtomLyIntegration/AtomViewportDisplayInfo/gem.json
#	cmake/LYWrappers.cmake
#	cmake/SettingsRegistry.cmake
#	scripts/o3de/tests/unit_test_current_project.py
5 years ago
jjjoness 5942cf066d
Merge pull request #983 from aws-lumberyard-dev/LYN-1914
Changed editor icon
5 years ago
AMZN-stankowi 9d94977b2c
FbxImportRequestHandler is now loaded only once per AssetBuilder and Editor + re-enabled STL support (#933)
* Revert "FBX settings can be opened again: g_fbxImporter is set, and if the ex… (#878)"

This reverts commit 58adcf168f.

* Revert "Merge pull request #753 from aws-lumberyard-dev/Helios_DataDrivenAssetImporter"

This reverts commit 798d96f1a2, reversing
changes made to eb31d90ad9.

* Revert "Revert "Merge pull request #753 from aws-lumberyard-dev/Helios_DataDrivenAssetImporter""

This reverts commit c1124f26d957388e88cc4990021314b5af247e1d.

* Revert "Revert "FBX settings can be opened again: g_fbxImporter is set, and if the ex… (#878)""

This reverts commit 978477097892a22e83519646527ff52ba6532f35.

* Fixed how FbxImportRequestHandler is loaded

* Bumped version to force FBX to rebuild + removed unused variable

* Revert "Revert "FBX settings can be opened again: g_fbxImporter is set, and if the ex… (#878)""

This reverts commit 978477097892a22e83519646527ff52ba6532f35.

* Revert "Revert "Merge pull request #753 from aws-lumberyard-dev/Helios_DataDrivenAssetImporter""

This reverts commit c1124f26d957388e88cc4990021314b5af247e1d.

* Fixed a bad revert

* Better error reporting at AP launch

* AZ_CRC -> AZ_CRC_CE and removed delayed reload of settings registry file now that it's available at startup

* fixed typo in comment
5 years ago
John Jones-Steele 072f6e194e Changed editor icon 5 years ago
Alex Peterson 13de9de3c1
Project Manager Toolbar Update
- use flow control for projects page for automatic updates when resizing
- made the first time screen only display the first time
5 years ago
Terry Michaels 9b1be43367
Renamed osx_gl to mac and es3 to android for cache folders (#949) 5 years ago
cgalvan f1a5160fe7
Merge pull request #963 from aws-lumberyard-dev/cgalvan/FixMacBuildSliceConverter
Fixed extra qualification causing compile error on Mac.
5 years ago
Mike Balfour 6c17c7bfb3
Add new API to convert absolute source paths to relative paths. (#930)
There are already APIs for getting a relative product path from an absolute source path, or getting a relative source path for an *existing* source file, but there were no APIs for getting a relative source path for a *new* source file.  Prefabs will need this ability to be able to correctly generate a relative source path inside the prefab file before the file has been saved.
The logic for relative source paths is a little bit tricky because the paths are relative to the watch folders, and the watch folders can be nested, with different priorities to explain which should take precedence.  The input paths can also include specifiers like "." and "..", which need to be reconciled before creating the final correct relative path.  The included unit tests test all of the tricky edge cases that I was able to identify.
5 years ago
Alex Peterson da24f4ccde
Launch editor from Project Manager 5 years ago
Chris Galvan b68b9000a3 Fixed extra qualification causing compile error on Mac. 5 years ago
SJ 8ca3b078a2
Remove bootstrap.cfg and some references to it.
Merge pull request #836 from aws-lumberyard-dev/LYN-2461
5 years ago
Benjamin Jillich 05f3144055
[LYN-2522] Gem catalog header widgets (#919)
* Added header widget with the name based filter
* Added column title header together with the the number of currently shown/filtered gems
5 years ago
lumberyard-employee-dm 922099050b Simplified the o3de package gem enable/disable logic
The add_gem_project and remove_gem project scripts, now just enables on
a gem name basis instead of a CMake target basis

Updated the ProjectManager code and scripts to account for the
add_gem_project and rmeove_gem_project script changes.
5 years ago
lumberyard-employee-dm 59934e6be1 Updating the ProjectManager code and scripts with new layout of the o3de package scripts 5 years ago
lumberyard-employee-dm 76fe7f3666 Merge branch 'main' of https://github.com/aws-lumberyard/o3de into ly-as-sdk/LYN-2948-phistere 5 years ago
lumberyard-employee-dm 791e044457 Fixed PlatformConfigurationUnitTests.TestFailReadConfigFile_RegularScanfolder test by setting a project path in the AssetProcessorTest fixture 5 years ago
lumberyard-employee-dm 4b75b7bb63 Fixed the AssetBundler unit test by moving the retrieval of the Engine Root Path after the Settings Registry has merged the runtime paths 5 years ago
greerdv ec1d129100 Merge branch 'main' into transform-float-scale 5 years ago
sharmajs-amzn 3aa6969d19
disabling rccontrollertest (#874) 5 years ago
Mike Balfour 0be75732cc
Added initial support for nested slices to slice-prefab converter (#881)
Nested slices are now detected, converted into prefabs, and the top-level prefab will get linked to the nested prefabs with the proper number of instances.  However, the nested prefabs won't retain any of the slice override values or parent entity hierarchy.  That will (hopefully) be added in a separate PR.

This also adds support for better relative source paths for nested prefabs.  To support this, the tool now needs to connect/disconnect with the AssetProcessor to be able to turn a slice asset ID into a relative source path, so that nested templates can be looked up and converted correctly.
5 years ago
AMZN-nggieber 1d50d7ed64
Project Manager Projects Screen Dynamically Shows Projects Loaded from O3DE (#873)
* Projects Home Screen Dynamically displays Projects from O3DE and can open Project settings editor

* Seperated out CreateProjectCtrl and UpdateProjectCtrl

* Moved source level statics back into class headers

* Updated background image location
5 years ago
amzn-sj 83b7122128 project_path must be set before call to Application::Start() in order to set aliases. 5 years ago
AMZN-stankowi 1da8c50e8e
Temporarily backing out STL changes to unblock mainline (#921)
* Revert "FBX settings can be opened again: g_fbxImporter is set, and if the ex… (#878)"

This reverts commit 58adcf168f.

* Revert "Merge pull request #753 from aws-lumberyard-dev/Helios_DataDrivenAssetImporter"

This reverts commit 798d96f1a2, reversing
changes made to eb31d90ad9.
5 years ago
greerdv d8b74110ff Merge branch 'main' into transform-float-scale 5 years ago
greerdv ccccfb2c5b more tidying up 5 years ago
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-sj e056fdda6b Revert changes to tests where segfault occurs 5 years ago
amzn-sj 1a360094d2 Unregister custom SettingsRegistries in the test Teardown 5 years ago
greerdv 42c5801c52 Merge branch 'main' into transform-float-scale 5 years ago
amzn-sj 89cde021b2 Test fix for segfault in Linux tests 5 years ago
amzn-sj 090b770d7e Fix segfault in failing tests on Linux 5 years ago
amzn-sj 86932f95d6 Fix more Linux test failures. 5 years ago
amzn-sj 115f18fcdc Fix Linux test failures 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
greerdv 945f55378e merge from main 5 years ago
Alex Peterson d112ae403b
Engine settings UX update and basic functionality 5 years ago
amzn-sj d369912727 Merge branch 'main' into LYN-2461 5 years ago
amzn-sj e54963f0a9 Set project_path in the SettingsRegistry in the test SetUp() functions for tests that require a project to be set 5 years ago
AMZN-stankowi ead54c85d7
Helios - SPEC-6963 - Fixed unused variables in release builds (#856) 5 years ago
lumberyard-employee-dm e818bfe905 Updating the ProjectManager code to use the new location of the o3de python scripts 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-sj d33fa7dccc Fix for tests that are failing due to project_path not being set 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-sj 268fd8b714 Remove bootstrap.cfg and references to it. 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
greerdv 7def4741cd merge from main 5 years ago
lumberyard-employee-dm c6b0e3562e Updating the python import paths for the o3de scripts to use the new package o3de package location 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
phistere 0a8621ba0a Merge branch 'main' into ly-as-sdk/LYN-2948 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
phistere debbfc38d8 Merge branch 'main' into ly-as-sdk/LYN-2948 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