Commit Graph

572 Commits (33cbc2db219cb77d088cb15c1774c86d9b1be9aa)

Author SHA1 Message Date
amzn-mike 66a030b800 Fix transform data
Use first offsetMatrix for a bone (there may be multiple) and calculate using offsetOfParent * inverseRootOffset * rootOffset * inverseOffset

(cherry picked from commit a8eae976dda39ad28f9aa235e1e6ba34715ac48a)

# Conflicts:
#	Code/Tools/SceneAPI/FbxSceneBuilder/Importers/AssImpTransformImporter.cpp
5 years ago
amzn-mike d841f0c0db Got transform result close for 3 bone chain, longer chains are still not correct
(cherry picked from commit 5ac65de6148dcc03b9f2953e97dd943493f23ed9)

# Conflicts:
#	Code/Tools/SceneAPI/FbxSceneBuilder/Importers/AssImpTransformImporter.cpp
5 years ago
amzn-mike 9ff007024d Merge branch 'main' into Helios_AssImp_TransformImporterFix 5 years ago
amzn-sj e6b8dc2ce1 Disable AzTest and AzTestRunner in monolithic builds 5 years ago
Mike Balfour ffe913a2d6
Added ability to convert multiply-nested slices (#1239) (#1245)
* Addressed feedback from previous PR
* Change missing entity aliases to be deterministic.
When converting slices, this helps produce the same results on multiple reconversions of the same data.
* Exposed the asset filter callback.
This allows the slice converter to specifically load nested slices as opposed to not loading *any* referenced assets.
* Added support for multiply-nested slice instance conversion.

(cherry picked from commit 86136ddfa6)
5 years ago
Steve Pham b2bafc44ab
LYN-2705: Remove 'AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS' trait for Linux (#1235)
* Fix Delete_Real_Readonly_Fails to mark parent directory as read-only as well

Read-only files in Windows cannot be deleted. The previous version of this
code relied on that fact, and would attempt to delete a file even when
`skipReadOnly = true`, relying on the OS to refuse to delete the file if it
is read only. On Linux, it is the writable state of the *directory* that
determines if a file can be deleted or not. This fixes the test to set up
the correct situation where a file deletion would fail.

* Remove excluded items from a vector before iterating over it

Removing items from the `pathMatches` `QStringList` while iterating over it
was causing a segfault on Linux. This change separates out the item removal
from the item iteration, which allows the item iteration loop to use a
range-for loop instead of directly manipulating iterators.

* Remove invalid test that asserts a file's metadata file can have differing file casing

This test is asserting that a given source file and its accompanying
metadata file can have the the same name but differing case. This is really
testing whether or not the underlying filesystem that those files live on
is case sensitive or not. The 99% chance is that users are using the
default filesystem that their host OS gives them, NTFS on Windows, EXT* on
Linux, and APFS on Mac. Even though NTFS is case-insensitive by default,
it [can be configured per-directory](https://devblogs.microsoft.com/commandline/improved-per-directory-case-sensitivity-support-in-wsl/).
APFS as well can be configured to be case-sensitive. For users with case
sensitive filesystems, this test makes no sense. We could extend this test
to inspect the case-sensitivity of the underlying filesystem, but then it
is just testing the filesystem's behavior, which seems out of scope of this
test.

* Use a non-priviliged port for the Asset Processor tests

From https://www.w3.org/Daemon/User/Installation/PrivilegedPorts.html:

> The TCP/IP port numbers below 1024 are special in that normal users are not
> allowed to run servers on them. This is a security feaure, in that if you
> connect to a service on one of these ports you can be fairly sure that you
> have the real thing, and not a fake which some hacker has put up for you.
>
> When you run a server as a test from a non-priviliged account, you will
> normally test it on other ports, such as 2784, 5000, 8001 or 8080.

* Fix for `QDir::rmdir(".")` not working in Linux

Qt uses `::rmdir` to remove directories on Linux. This comes from
[unistd.h](https://pubs.opengroup.org/onlinepubs/007904875/functions/rmdir.html)
The documentation for that function states:

> If the path argument refers to a path whose final component is either dot
> or dot-dot, rmdir() shall fail.

So calling `dir.rmdir(".")` will never work on Linux.

Instead, get the parent directory, and remove the child directory by name.

* Avoid lowercasing source asset paths when resolving dependencies

Source asset paths may be case sensitive, so their case must be preserved
when doing operations that hit the underlying filesystem. This method was
always lowercasing them, which would cause dependencies to not be found.

* Correct test to expect product filenames to be lowercase

The modtime tests were failing in Linux due to something unrelated to file
modtime checking. The Asset Processor Manager does this during AnalyzeJob:

```
if (foundInDatabase && jobs[0].m_fingerprint == jobDetails.m_jobEntry.m_computedFingerprint)
{
    // If the fingerprint hasn't changed, we won't process it.. unless...is it missing a product.
```

In this case, the test was setting up a product whose file case was the
same as the source asset, and would write it to the cache dir using mixed
case, but use the normal asset processor API to write the product file path
to the database, which recorded the path in lowercase. When the manager
then went to check if the source asset's products all exist, it checked the
lowercase path, which didn't exist.

This fixes that test failure, by updating the test to write the product
file to the cache using the proper lowercased path.

* Update test to define a "not current platform" for Linux

This test was failing because it was setting some "not current platform"
variable to be set to "pc" on Linux, when
`AssetSystem::GetHostAssetPlatform()` is defined to:

```cpp
inline const char* GetHostAssetPlatform()
{
    return "mac";
    return "pc";
    // set this to pc because that's what bootstrap.cfg currently defines the platform to "pc", even on Linux
    return "pc";
    #error Unimplemented Host Asset Platform
}
```

The test would go on to assert that "pc" was simultaneously in a list and
not in the same list.

This fixes the test by updating the code to set the "not the current
platform" variable appropriately on Linux.

The expectations were also updated to improve the output on test failure.
Instead of this:
```
Value of: recogs["rend"].m_platformSpecs.contains(platformWhichIsNotCurrentPlatform)
  Actual: true
Expected: false
```

You now get this:
```
Value of: recogs["rend"].m_platformSpecs.keys()
Expected: (has 3 elements and there exists some permutation of elements such that:
 - element #0 is equal to pc, and
 - element #1 is equal to es3, and
 - element #2 is equal to server) and (doesn't contain any element that is equal to pc)
  Actual: { pc, server, es3 } (of type QList<QString>), whose element #0 matches
```

* Prevent windows supported path separators to be included in the test paths for UpdateToCorrectCase_ExistingFile_ReturnsTrue_CorrectsCase

* Fix failing linux unit test "PlatformConfigurationUnitTests.TestFailReadConfigFile_RegularScanfolder"
caused by static variable not being reset from a different test run when using AssetUtilities::ComputeProjectPath

* Fix AZ_RTTI declaration for RequestEscalateAsset Message

* Implement FileWatcher for Linux to fix AssetProcessorMessages.All test (RequestAssetStatus)

* Split AssetProcessorMessages into 2 tests, one with RequestAssetStatus/ResponseAssetStatus and one without
Add The RequestAssetStatus/ResponseAssetStatus as a sandbox test because it relies on FileWatcher thread and seems to be timing related

* Remove FileWatcher_win.cpp from the Linux specific folder for FileWatcher

* - Fix build error related to non-unity builds
- Fixed failed linux test 'Test/LegacyTestAdapter.AllTests/UtilitiesUnitTest' caused by misplaced windows only EXPECT
- Remove test trait AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS for linux to expose remaining failed tests

* Fixed failed linux test 'Test/LegacyTestAdapter.AllTests/RCcontrollerUnitTests' caused by misplaced windows only EXPECT

* - Fix FileWatcher unit test, disable incompatible subtests for Linux
- Fix errors in FileWatcher_linux from results of the FileWatcher Unit Test

* Remove AZ::AssetProcessor.Tests.Sandbox tests from definition and restore the original AssetProcessorMessages.All tests now that Filewatcher_linux was fixed

* Fixes for failed unit tests: AssetProcessorManagerUnitTests and AssetProcessorManagerUnitTests_JobDependencies_Fingerprint
- Caused by differences between between case-sensitive files (Linux) and non-case-sensitive Filesystems (Windows)

* Update consts in FileWatcher_linux.cpp to constexpr

* Fixes related to PR comment suggestions

* - Removed std::bind and replaced with lambda in FileWatcher_linux
- Replaced String replace functions for path separators to use AZ::IO::Path::LexicallyNormal() instead

* Restoring string replace function in PathDependencyManager::ResolveDependencies due to unit test failure

Co-authored-by: Chris Burel <burelc@amazon.com>
5 years ago
John 1cef72ab8d Fix uncommented tests 5 years ago
Scott Romero 5436e08d15
[stabilization/2106] fixed startup crash in project manager from installer build (#1231) 5 years ago
John af0bcb0636 Remove test files 5 years ago
John 169d4da288 Address PR comments 5 years ago
scottr 5061241992 [cpack/stabilization/2106] early out if sys import fails in PythonBindings::StartPython 5 years ago
lumberyard-employee-dm a9e59fd75f
Updating the DefaultProject template to not insert the project-path parameter (#1223)
* Updating the DefaultProject template to not insert the project-path parameter into the VS Debugger Arguments for any applications

Added project-path injection directly within the LauncherUnified and AssetBuilder cmake scripts where their targets are defined

* Removing the add_vs_debugger_arguments call from the AutomatedTesting CMakeLists.txt
5 years ago
AMZN-nggieber 5330309cb1
Set Desktop Icon for Project Manager (#1225)
* Set executable icon for O3DE
5 years ago
scottr 2eefc08d2e [cpack/stabilization/2106] fixed startup crash in project manager from installer build 5 years ago
lumberyard-employee-dm 217eddc8bd
Fixing the enable_gem.py and disable_gem.py commands (#1207)
* Fixing the enable_gem.py and disable_gem.py commands
The project path wasn't taking into account when querying for gems,
templates and restricted directories registered with the project

Fixing the cmake.py add_gem_dependency and remove_gem_dependency methods
to properly detect a gem within a `set(ENABLED_GEM ...)` cmake variable
Also updated the add_gem_dependency to add the gem right before the end
marker of ')'
Updated the remove_gem_dependency to remove each instance of a gem with
a content that is in between in the `set(ENABLED_GEM ...)` cmake
variable

* Correct Typo in manifest.get_registered doc string
5 years ago
AMZN-nggieber b26b472bba
Fix Editor being opened twice by project (#1213) 5 years ago
Esteban Papp 4b3d0d1054
LYN-4327 [SDK] External Gem's aren't added to the project solution when using SDK (#1191)
* should pickup the external directories registered by the project

* Add support for AzTest and AzTestRunner in the SDK

* missing IMPORT_LIB

* Moved where .Assets targets get generated so they are visible in the SDK

* generate the Directory.Build.props in the right path

* excluding target on platforms that dont support it
5 years ago
jonawals e2d601ad59 Merge branch 'TIF/Runtime' into TIF/Jenkins 5 years ago
jonawals dd93c42342 Fix missing keys 5 years ago
jonawals a9e6eaa57a Fix anon enum clash with uber files 5 years ago
jonawals 98670a21bc Fix missing copyright header 5 years ago
jonawals 6db9a00315 Merge branch 'TIF/Runtime' into TIF/Jenkins 5 years ago
jonawals a2a9c23c7c Merge branch 'main' into TIF/Runtime 5 years ago
jonawals 656aa528d8 Implement new handling of tiaf seed data 5 years ago
jonawals 7a884c85b3 Address PR comments 5 years ago
jonawals 9e187d67a4 Fix typo with delete files filter 5 years ago
jonawals c9351f4d45 Make TestEngine clean up artifact dir before runs 5 years ago
jonawals e0f953cf6b Address PR comments 5 years ago
Alex Peterson 7ca7ad9b72
Fix missing user_tags exception and configure gems button 5 years ago
Esteban Papp 36cb0f6d40
SPEC-7178 Removal of precompiled cpp files (#1171)
* SPEC-7178  Removal of precompiled cpp files

* Missing files...
5 years ago
amzn-mgwynn 38865c95e2
Merge pull request #1162 from aws-lumberyard-dev/Prism/gem-db
Adding python bindings for modifying project properties
5 years ago
mgwynn 1900a42203 remove const ref from iterator for python object conversion since pybind only returns copies and produces a clang error 5 years ago
mgwynn 01b200ad42 removing unused define 5 years ago
mgwynn 6d6f8413c8 Incorporating review comments. Some parameter modifications. Some cli edge case handling. Remove remove_tag member from project info 5 years ago
jonawals a56591fa12 Address PR comments 5 years ago
jonawals f603b08d05 Address PR comments 5 years ago
jonawals cc9e8a72e4 Fix coverage clear bug and other minor refactors 5 years ago
jonawals 796b5be286 Address PR comments 5 years ago
jonawals a0feeec608 Add console output to runtime 5 years ago
jonawals d341dab7f5 Address PR comments 5 years ago
jonawals 0da739ef18 Add curiously missing comments 5 years ago
jonawals 4ed0c7b1d8 Add drafting of failed tests 5 years ago
jonawals b00f569090 Address PR comments 5 years ago
Alex Peterson aeaf1bcdbe
Fix engine settings not populating or saving
* Allow multiple settings to be registered at once
* Old manifests versions may not have default_third_party_folder
5 years ago
amzn-mgwynn ffdce2ef7f
Merge branch 'main' into Prism/gem-db 5 years ago
mgwynn d2f8e49037 resolving merge conflict due to variable name change from main 5 years ago
mgwynn 155271a0ee Fixed data type changed by mistake for project info image path 5 years ago
mgwynn 7984f82e48 Bing project_properties CLI to updateProject method. Update project info struct.
Update project properties cli to support lists for tags. Minor adjustments to support
changes.
5 years ago
AMZN-nggieber 3b60bcc0f1
Project Manager Build Project from Projects Page (#1142)
* Added loading bar mode to project button

* Added ProjectBuilder files

* commmit current progress for project building

* Push current project building work

* Full build commands built out and message boxes for lots of situation

* Replaced defaultProjectImage placeholder

* Added installed cmake path to builder process env PATH
5 years ago
mgwynn accd473ff5 Adding python bindings for modifying project properties 5 years ago
Alex Peterson 9b17754278
Project Template details and preview changes 5 years ago
Benjamin Jillich 8a079da914
GemCatalog: Gem cart widget and overlay window
* [LYN-4174] Added icons for gem catalog summary cart

* [LYN-4174] Gem Catalog: Text eliding for too long gem names and creators

* [LYN-4174] Gem catalog: Resetting filters when re-initializing for another project

* [LYN-4174] Gem Catalog: Fixed a bug with filters being applied/remembered after leaving gem catalog and coming back editing another project

* [LYN-4174] GemCatalog: Gem cart widget and overlay window

* Added cart button with dynamic label to display the number of gems to be enabled/disabled and a arrow down button to indicate some sort of pop-up/overlay window will appear on click.
* Overlay gem tags update dynamically while the dialog is open based on the gem model.
* Moved some styling from C++ to the style sheet.
5 years ago
Esteban Papp 50d6e36ccd
Bug and improvements to Editor/AP debugging settings (#1146) 5 years ago
jonawals ac42a9a748 Changes for read-only runs and new test suites 5 years ago
Alex Peterson f20ae8345a
Add Open Project folder menu item 5 years ago
lumberyard-employee-dm 4a1d713227
Fix recursive attempts to open the log file in the GameLauncher (#1114)
* Fix recursive attempts to open the log file in the GameLauncher

The AzFramework Application has been updated to default the @user@ and
@log@ aliases to the <engine-root>/user and <engine-root>/user/log
folder respectively if a project isn't set.

Fixed the SystemFile class to support negative offsets if Seek() as per
standard seek function such as fseek

Updated the CrySystem CLog class to use SystemFile instead of FileIOBase
to avoid any asserts that would cause CLog::OpenFile to be recursively
called infinitely

* Removing unused Force Closed variable

* AZ::IO::SystemFile build fixes for Unix platforms. Added a copy constructor for LUAEditorContextInterface.h to fix the LuaEditor build

* Adding missing includes to the WindowsAPI and Android SystemFile headers
5 years ago
scottr 9e7f8e45eb [default_3rdparty] fixed typo 5 years ago
scottr 08a2e50ee3 [default_3rdparty] missed updating a call to register 5 years ago
scottr d30fd8b1dd Merge branch 'main' into default_3rdparty 5 years ago
lumberyard-employee-dm 816d05ef2d
Updating manifest.py template query functions (#1113)
* Updating manifest.py template query functions
The get_project_templates, get_gem_templates and get_generic_templates
methods have been renamed to indicate that the methods return the
templates that can be used in a create-project, create-gem and
create-from-template command of the engine_template.py

Updated the print_registration.py script to support outputing project
specific gems and templates.
Add a unit test script for the manifest.py script.
Added unit test to validate the new functions:
`get_templates_for_project_creation`
`get_templates_for_gem_creation`
`get_templates_for_generic_creation`

* Implementing the project print registration methods

Added implementations of the project print registration methods and tested them locally
Removed implementations of the download print registration methods, since they have not went through app-sec review.

* Renaming get_restricted_data to get_restricted_json_data

Fixed the get_registered method in manifest.py when looking up projects

* Updated the print_manifest_json_data calls to return the result
5 years ago
scottr 85e6d06c2c [default_3rdparty] add 3rd party to engine registration + specific path registration fixes 5 years ago
Mike Balfour d90a3d46a7
Support for nested slice conversions (#1121)
This set of changes enables conversions for singly-nested slices. Multiple nesting hierarchies are only partially supported at this point. Conversion is also significantly more deterministic, which makes it easier to convert single slices without needing to reconvert every slice or level that relies on it as well.
Changes:

- Added version of Instance::AddInstance() that takes in an alias to allow for deterministic aliases
- Added a "SliceConverterEditorEntityContextComponent" that's used to specifically disable entity activation on creation. The disabling is done this way vs adding a new public API, because the disable shouldn't be required in any normal case outside of this tool.
- Disabled more AWS gems for the SliceConverter, as they're unneeded and cause issues if they're around in the tool.
- Added a small null check to the Camera Controller.
- Added the actual support for slice instance conversion. This instantiates the entities, applies the data patches, turns them into a prefab instance, and generates a JSON patch out of the changes.
5 years ago
jonawals 7eb6e0e7d5 Merge branch 'main' into TIF/Runtime 5 years ago
scottr c41283c3ec Merge branch 'main' into ftue_auto_register 5 years ago
Benjamin Jillich 5dff212398 Fixing non-unity build 5 years ago
Benjamin Jillich 1b96fc4361 Merge branch 'main' of https://github.com/aws-lumberyard/o3de into prism/LYN-2514
# Conflicts:
#	Code/Tools/ProjectManager/Source/UpdateProjectCtrl.cpp
5 years ago
AMZN-nggieber 8a28107299
Project Manager Setup Update Project Settings Screen and Flow
* Filled out and connected up UpdateProjectCtrl and UpdateProjectsSettingsScreen
5 years ago
Benjamin Jillich e7e85f91d6 Addressing PR feedback 5 years ago
AMZN-stankowi fc0de9e0e3
Added [[maybe unused]] to fix release build compile issue (#1090) 5 years ago
Esteban Papp 1f65c3ba3a
LYN-4134 Automatically add `--project-path=<project>` to debugging parameters in Editor/AP for engine-centric (#1081) 5 years ago
Benjamin Jillich 39bb0bf2fc [LYN-2514] Create a new project control now reinits the gem catalog and enables gems based on the user selection 5 years ago
Benjamin Jillich b0ef89edf9 [LYN-2514] Update project control now reinits for the selected project and enabled/disables gems based on the user selection in the gem catalog 5 years ago
Benjamin Jillich f106273667 [LYN-2514] Adding functionality to reinit the gem catalog for a given project and enable/disable the changed gems
* Removed test data from gem catalog screen as we can now extract the real data.
* Reiniting the catalog to a project updates the filters, and clears and fills the gem model.
* Added functionality to enable/disable gems based on the user adjustments on the gem catalog.
5 years ago
Benjamin Jillich 53615230c1 [LYN-2514] Adding get engine gem infos to the python bindings 5 years ago
scottr 5554bdf329 [ftue_auto_register] use early return in registered engines loop instead of break 5 years ago
scottr 39d1f27021 [ftue_auto_register] post merge and linux build fixes 5 years ago
scottr 85fcac60a1 Merge branch 'main' into ftue_auto_register 5 years ago
Benjamin Jillich bcdb541b7c [LYN-2514] Sorting gems in the gem catalog after retrieving all gem infos
Added <operator() for sorting the gems after retrieving the list of all gems.
5 years ago
Benjamin Jillich ede8daaece [LYN-2514] Extending pythin bindings to adapt CLI changes for the gem catalog
* Added ExecuteWithLockErrorHandling() which returns an outcome with the actual error we get from python so that we can expose that to the UI.
* Added cmake pybind.
* Get gems now calling get_all_gems and alphabetically sorting the result.
* Added get enabled gems function which first gets the cmake enabled gems file path from the project path and then the list of gem names that are enabled.
* Some changes to the enable and disable gem functions.
5 years ago
jonawals 105eca52d7 Address PR comments 5 years ago
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
jonawals 9be54d4e5b Address PR comments 5 years ago
jonawals c7753f472b Add API comment and rename factory 5 years ago
jonawals 6432582b7f Add configuration factory 5 years ago
jonawals 9fe91ec705 Address PR comments 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
amzn-mike 00a529ad74 Fix AssImpTransformImporter logic for bone nodes
For bone nodes, the Transform is computed by multiplying the parent offsetMatrix by the inverse of the node's offsetMatrix

Note that this currently disables the LimitBoneWeights option since that results in the removal of bone nodes that are not attached to a mesh.
Without the bones there is no way to retrieve the offsetMatrix, so the Transform cannot be computed correctly

Fixes LYN-3755
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
jonawals f21794b193 Add missing namespace comments 5 years ago
jonawals 5fd23cef35 Merge branch 'TIF/Jenkins' into TIF/Jenkins_Console 5 years ago
jonawals c63de35b68 Address PR feedback 5 years ago
jonawals 728d3b4b98 Address PR comments 5 years ago
jonawals f50f02eb4a Add console entry points 5 years ago
greerdv c35c1d67e7 update transform widget to work with uniform scale 5 years ago
jonawals 684ef8046f Add console command line options 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
Yuriy Toporovskyy a71a583048 Bug fix: handle the case where the data source type is `any' in the SCT converter command validation step.
In this case, CreateAny will construct an `any' by `any(T())', with `T = any', which move-constructs from a temporary empty `any'. This causes the check for a empty `any' to fail, and the validation does not even run.

In the case where `T=any', since we cannot construct an `any' which itself holds an `any' (except by super tricky shenanigans), we can simply use the default constructed `any' object (instead of the object stored by the `any') as the object storage for the validation step.
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
jonawals 990f90410d Address PR comments 5 years ago
jjjoness 5942cf066d
Merge pull request #983 from aws-lumberyard-dev/LYN-1914
Changed editor icon
5 years ago
jonawals b13a7e1d3c Remove whitespace 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
jonawals e9daed723a Ensure enumeration caches are always updated 5 years ago
jonawals 1936dbc0d1 Fix long line length 5 years ago
jonawals 042a025f61 Private runtime implementation 5 years ago
jonawals e82b54d59b Address PR comments 5 years ago
John Jones-Steele 072f6e194e Changed editor icon 5 years ago
jonawals ec758edd0d Remove iostream include 5 years ago
jonawals 41c8490ebb Add missing cache delete 5 years ago
jonawals 52e61fa3ca Remove JobExceptionPolicy and move knoen error handling 5 years ago
jonawals 8965061b9b Address PR comments 5 years ago
jonawals c3ea2d18ba Remove extra whitespace 5 years ago
jonawals a91e9caaf9 Add missing API comment to DeleteFile 5 years ago
jonawals de38e5ad35 Add missing API comments 5 years ago
jonawals f9425992f8 Runtime refactor 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
jonawals c93a2f06ff Address PR comments 5 years ago
greerdv ccccfb2c5b more tidying up 5 years ago
jonawals 828aeb2147 Add JobInfoGenerator 5 years ago
jonawals 0ef519d11d Address PR comments 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
jonawals bdbbedda71 Add test engine 5 years ago
jonawals 787b44db49 Address PR comments 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
jonawals 597f0905c5 Refactor ProcessScheduler with Execute method 5 years ago
jonawals 95a30b0fee Add missing file from refactor 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
jonawals 084e459a63 Add missing change from PR feedback 5 years ago
AMZN-stankowi ead54c85d7
Helios - SPEC-6963 - Fixed unused variables in release builds (#856) 5 years ago
jonawals 7c28480307 Address PR comments 5 years ago
jonawals d917388bf9 Remove dead comment 5 years ago
jonawals f08de28cd8 Remove JobInfoGenerator from this PR 5 years ago
jonawals e68ac30bcb Move test runners 5 years ago
jonawals 638f40b7dd Add proper exhange to payload release 5 years ago
jonawals 5113d3f756 REname JobMetaContainer to JobMetaWrapper 5 years ago
jonawals c477c699ef Additional refactoring 5 years ago
jonawals d732b7d0ce General refactor of runtime classes. 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
jonawals feb2909508 Address PR comments 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
jonawals b33569638e Address PR comments 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
jonawals e70d86501c Add runtime api headers 5 years ago
jonawals b00906ef36 Delete moved and obselete runtime files 5 years ago
jonawals abe35aad75 Add missing args to PythonBindingsExample.Tests 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
jonawals 26a4101f32 Merge branch 'main' into TIF/Runtime 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
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
phistere 0114a82294 Merge branch 'main' into ly-as-sdk/LYN-2948 5 years ago
Benjamin Jillich d49135659f
[LYN-2520] Added link and tag widgets (#663) 5 years ago
pappeste 5838436e31 Merge branch 'main' into ly-as-sdk/LYN-2948
# Conflicts:
#	CMakeLists.txt
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
pappeste 6ab9d68e69 Merge branch 'main' into ly-as-sdk/LYN-2948
# Conflicts:
#	Code/Tools/ProjectManager/CMakeLists.txt
#	Code/Tools/ProjectManager/Source/GemCatalog.cpp
#	Code/Tools/ProjectManager/Source/GemCatalog.h
#	Code/Tools/ProjectManager/Source/GemCatalog.ui
#	Code/Tools/ProjectManager/Source/GemCatalog/GemCatalog.h
#	Code/Tools/ProjectManager/Source/ScreenFactory.cpp
#	Code/Tools/ProjectManager/project_manager_files.cmake
#	Code/Tools/ProjectManager/source/Qt/GemCatalog.h
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
jonawals fee010f602 Fix test utils. 5 years ago
Benjamin Jillich 32b1d52341
[LYN-2515] Added shared gem info class (#574) 5 years ago
jonawals 31312606b1 Fix unused variable warning. 5 years ago
jonawals 006a9ce85f Fix unused variable warning. 5 years ago
jonawals f47f712bd0 Fix missing pragma directive. 5 years ago
jonawals d880aa5d22 Fix anonymous namespaces for unity builds. 5 years ago
karlberg 751d13dd7b Merge remote-tracking branch 'origin' into MultiplayerComponents 5 years ago
pappeste 9fe893830c sine fixes to AP model handling, still getting some sporadic asserts in debug 5 years ago
pappeste e63c360194 small unrelated fix 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
lumberyard-employee-dm 5b98227a77
Adding newline to the end of project_manager_files.cmake 5 years ago
nggieber 2044832bb1 Updated Source capitalization in cmake files list 5 years ago
nggieber 625aa14aa8 Updated files after moving all Qt folder into Source 5 years ago
nggieber 76ffff8bb5 Moved Qt files into to renamed 'S'ource 5 years ago
AMZN-nggieber 83e2ec6800
Project Manager - Barebones UI Made for All Screens with Basic Flow (#507)
* Created all barebone screens, a screen factory, and connected basic transitions between screens

* Changed ProjectManager namespace to O3DE::ProjectManager, removed empty new lines, switch to aznumberic_cast usage

* Project Manager - Moved Qt directory into source
5 years ago
AMZN-stankowi a7224b6379
Integrating github/Helios_RemoveFbxSdk through commit 6dc2604 (#391) (#560)
Removing FBX SDK, LYN-1045. If you have an issues please reach out to the Helios team.
5 years ago
jackalbe 8b1251c9f7
{LYN-2185} Helios - Added GraphObjectProxy::GetMethodList() function (#392)
* {LYN-2185} Helios - Added GraphObjectProxy::GetMethodList() function

* Updated the EditorPythonConsoleInterface to get Python type name info
* Added PythonBehaviorInfo to the GraphObjectProxy object to reflect abstract calls that can be invoked
* removed SCENE_DATA_API from Reflect() function

Jira: https://jira.agscollab.com/browse/LYN-2185
Tests: Added tests GraphObjectProxy_GetClassInfo_Loads & GraphObjectProxy_GetClassInfo_CorrectFormats to regress test

* fix compile error

* etchPythonTypeName() returns AZStd::string

* put None into a const char
5 years ago
karlberg d0a561fa01 merging latest origin 5 years ago
lumberyard-employee-dm bcbe1bfef7
LYN-2537 AssetBundler updates (#426)
* LYN-2537 Updated the AssetBundler code to looks for the AssetSeedList
files within the Assets/Engine directory
Updated the MissingDependencyScanner GetXMLDependenciesFile functions to
use the Assets/Engine directory as well

Also fixed the MissingDependencyScanner to properly located dependency
xml files within gem directories

* Adding back input argument validation for the AssetBundler command options.

Also added an application_options settings registry file that contains the list of valid command options for the ComponentApplication

* Adding missing end of file newline for applications_options.setreg

* Fixed the AssetBundler help output for the bundleSeed command
5 years ago
karlberg 822368ef01 Changes to get visibility system working again in-game 5 years ago
jjjoness edbad529f5
Merge pull request #472 from aws-lumberyard-dev/LY-110648
Ly 110648 - Asset Processor - Source path will become truncated when selected if the current folder name is not completely displayed.
5 years ago
jjjoness b5cf0f59fc Moved the pragma below the copyright message. 5 years ago
jackalbe fe88ae12b0
{LYN-3365} GraphObjectProxy is now hidden from Script Canvas (#478)
* GraphObjectProxy is now hidden from Script Canvas
* the IGraphObject has been added to the BC

Jira: https://jira.agscollab.com/browse/LYN-3365
Tests: manual testing the node type is not in the SC editor
5 years ago
AMZN-nggieber 7a2f698bbc
Create the Project Manager project (#320)
* Created the Project Manager project with a barebone styled window and rough sketch of first screen

* Renamed to Project Manager, ect.

* Corrected string name for projectmanager and added comments on getting engine path

* Changed output name for Project Manager to lowercase o3de

* Added header guards
5 years ago
Zaladane a5d4eb5d44
Asset Bundler GUI (#427)
The AssetBundler is a new ToolsApplication that allows users to work through the entire Asset Bundling process without ever touching a command line.

* Integrating github/AssetBundler through commit 1d65018

* Asset Bundler bug fixes: platform initialization and GUI styling (#5)

* fixed enabled platform initialization

* fixed the cached engine root. This fixed some of my Seeds tab data issues. The default Engine Seed List appeared, and was able to display the contents on screen.

* updated my notes of active bugs

* changed some casing in various include lines to hopefully fix my linux build

* another include fix for linux

* AssetBundler GUI is now compiling on Mac

* removed some things off of my todo list because the mac build fix actually fixed the visuals! everything's the right color again

* removed the word Lumberyard from the bundler

* Asset bundler bug fixes - Bundles, Gems, and Tests (#9)

* Fixed the Bundle loading and generation problem. Turned out to be a FileWatcher issue.

* turns out gem loading wasn't broken, there were just no existing SeedListFiles for any of the gems loaded by the AutomatedTesting project. I added a default SeedListFile for the PrimitiveAssets Gem.

* fixed some failing AssetBundler Gem tests

* Misunderstood the need to have default seed lists for asset-only gems. removing the previously created seed list file

* Asset bundler bug fixes: Seeds Tab display issues and _dependencies.xml loading (#10)

* Fixed the Project Source column in the Seeds tab

* The AssetBundler will no longer attempt to copy a template version of the ProjectName_dependencies.xml file into your active project. However, it will throw an error if you do not have one. A follow-up ticket has been cut to address this issue.

* updated the AssetBundler icon. This one matches the current style guides

* PR feedback: pass a const ref instead of a value

* PR feedback: safer conversion from a string_view to a QString

Co-authored-by: alexpete <alexpete@amazon.com>
5 years ago
bosnichd a7c6638064
Remove CryFont and initialization functions related to the legacy renderer. (#485)
- Remove CryFont and initialization functions related to the legacy renderer.
- Remove some references to Code/Tools/RC from mac CMake scripts.
5 years ago
bosnichd a1319983df
Remove the legacy renderer and all associated tools (#476)
Remove the legacy renderer and all associated tools:

- Code/CryEngine/Cry3DEngine/*
- Code/CryEngine/RenderDll/*
- Code/Tools/CryFXC/*
- Code/Tools/HLSLCrossCompiler/*
- Code/Tools/HLSLCrossCompilerMETAL/*
- Code/Tools/RC/*
- Code/Tools/ShaderCacheGen/*
- Tools/CrySCompileServer/*
- Tools/PakGenFromRCList/*
5 years ago
bosnichd 1d4c483e73
Red code legacy renderer (#383)
- Remove some references to gEnv->pRenderer/GetIEditor()->GetRenderer() that is now always null.
- Restore the debug console to existence.
- Stop building the following in preparation for their removal:

Code/CryEngine/Cry3DEngine/*
Code/CryEngine/RenderDll/*
Code/Tools/CryFXC/*
Code/Tools/HLSLCrossCompiler/*
Code/Tools/HLSLCrossCompilerMETAL/*
Code/Tools/RC/*
Code/Tools/ShaderCacheGen/*
Tools/CrySCompileServer/*
5 years ago
jjjoness 544b2a087f Merge branch 'main' into LY-110648 5 years ago
jjjoness 63526655a2 Fixed asset source tree layout in AssetProcessor 5 years ago
jonawals 39ba583ad7 Address PR comments. 5 years ago
jonawals 20243549e6 Address PR comments. 5 years ago
Eric Phister fbdd26bbbc
Merge pull request #410 from aws-lumberyard-dev/ly-sdk/phistere/LYN-2723-Merge
LYN-2723: Fixes issues with bad project or engine paths

Cherry-pick: 6ce7a6d30c57c941459b43c157861df5d9143ae1
5 years ago
sharmajs-amzn 45fd86c2bf
{LYN-2848} Asset Processor: Modifying the Allowed or Rejected list merges previously existing Connections into one record (#363)
{LYN-2848} Asset Processor: Modifying the Allowed or Rejected list merges previously existing Connections into one record
https://jira.agscollab.com/browse/LYN-2848
launched ap gui and tested manually.
5 years ago
jonawals eb5dd7ee47 Address PR comments. 5 years ago
jonawals 2b21b70635 Add test selector and prioritizor. 5 years ago
lumberyard-employee-dm 3dec5d3b71
LYN-2537 engine assets (#254)
* LYN-2537 Moved the Engine and Editor folder to be within the EngineAssets folder

* Fixed Documentation in bootstrap.cfg to correct the path to the user project specific registry file

* Adding a newline to the output of AssetCatalog 'Registering asset..., but type is not set' message

* Updating the AssetProcessorPlatformConfig.setreg Scan Folder to detect
the @ENGINEROOT@/EngineAssets/Engine path for engine runtime assets and
@ENGINEROOT@/EngineAssets/Editor path for engine tool assets

* Updating references to Icons and other assets to account for moving the
Engine and Editor folder under a single EngineAssets folder

* Moving the Engine Settings Registry folder from Engine/Registry -> Registry

* Removed the LY_PROJECT_CMAKE_PATH define as it is not portable to other locations. It is hard coded to the project location that was used for the CMake configuration. Furthermore it paths with backslashes within it are treated as escape characters and not a path separator

* Updated the LyTestTools asset_processor.py script to copy the exclude.filetag from the EngineAssets/Engine directory now

* Fixed Atom Shader Preprocessing when running using an External Project

* Updated the TSGenerateAction.cpp to fix the build error with using a renamed variable

* Updated the Install_Common.cmake ly_setup_others function to install the
EngineAssets directory and the each of the Gem's Assets directory while
maintaining the relative directory structure to the Engine Root
Also updated the install step to install the Registry folder at the
engine root

* Fixed the copying of the Registry folder to be in the install root, instead of under a second 'Registry' folder

* Moving the AssetProcessorPlatformConfig.setreg file over to the Registry folder

* Updated the LyTestTools and C++ code to point that the new location of
the AssetProcessorPlatformConfig.setreg file inside of the Registry
folder

* Renamed Test AssetProcessor*Config.ini files to have the .setreg extension

* Converted the AssetProcessor test setreg files from ini format to json
format using the SerializeContextTools convert-ini command

* Updated the AssetProcessor CMakeLists.txt to copy over the test setreg files to the build folder

* Updated the assetprocessor test file list to point at the renamed AsssetProcessor*Config setreg filenames

* Removed the Output Prefix code from the AssetProcessor. The complexity that it brought to the AP code is not needed, as users can replicate the behavior by just moving there assets underneath a another folder, underneath the scan folder

* Adding back support to read the AssetProcessorPlatformConfig.setreg file from the asset root. This is only needed for C++ UnitTests as they run in an environment where the accessing the Engine Settings Registry is not available

* Updating the Install_common.cmake logic to copy any "Assets" folder to
the install layout.
The Script has also been updated to copy over the "Assets" folder in the
Engine Root to the install layout instead of an "EngineAssets" folder

* Updating References to EngineAssets source asset folder in code to be the Assets source folder

* Moved the Engine Source Asset folder of 'EngineAssets' to a new folder name of 'Assets'. This is inline with the naming scheme we use for Gem asset folders

* Adding the EngineFinder.cmake to the AutomatedTesting project to allow it to work in a project centric manner

* Updating the LyTestTools copy_assets_to_project function to be able to copy assets with folders to the temporary project root
Fixed an issue in LyTestTools where the temporary log directory could have shutil.rmtree being called twice on it leading to an exception which fails an automated test

Updated the asset_procesor_gui_tests_2 AddScanFolder test to not use the
output prefix, but instead place the source asset root into a
subdirectory

* Correct the AssetProcessorPlatformConfig Scan Folders for the EngineAssets directory to point at the Assets directory

* Updated the asset procesor batch dependency test scan folder to point at the 'Assets' folder instead of 'EngineAssets'
5 years ago
Eric Phister 7dd7e82d86 LYN-2723: Fixes issues with bad project or engine paths (#369)
* Setup NativeUIRequests as an AZ::Interface.  Adds a NativeUISystemComponent to AzFramework Application.

* Renames NativeUISystemComponent (class) to NativeUISystem, since it's no longer a Component.

* Minor update to SettingsRegistryInterface::Remove doc-comments for accuracy.

* Fixes to make an early fatal shutdown of Editor occur without crash.

* LYN-2723: Updates startup to handle errors: engine root is empty, no valid project.json found (mismatched engine name), or bad project path (launch project picker dialog).

* LYN-2723: Minor formatting/spelling edits.

* LYN-2723: Moves ParseCommandLine from ComponentApplication to SettingsRegistryMergeUtils so it can be used in more places.

* Misc fixes. 'wait_for_connect' setting wasn't being properly applied to AP connection settings. Fix infinite loop in CCmdLine::Next.

* LYN-2723: Addresses review feedback.

* LYN-2723: Reverts some changes that caused a unit test to fail.

* LYN-2723: Reverts one more change that was unnecessary.
5 years ago
jonawals 692dd21b89 Add missing SourceDependency. 5 years ago
jonawals b9dc7639b4 Add dynamic dependency map. 5 years ago
Guthrie Adams 167b7f36a6
Merge pull request #373 from aws-lumberyard-dev/Atom/guthadam/ATOM-15370
ATOM-15370 Fix thumbnail scaling and sizing issues
5 years ago
hultonha 6d624273a9 disabling test causing intermittent failures 5 years ago
jonawals af422edef8 Merge branch 'main' into TIF/Runtime 5 years ago
guthadam 7e8b1e8c80 Fix linux build 5 years ago
guthadam eeafb5eaa3 ATOM-15370 Fix thumbnail scaling and sizing issues
TLDR
Thumbnails size will be removed from the system.
Each thumbnail class is responsible for determining its stored size.
Images and other thumbnail types can be scaled up or down within reason without blurring.

The thumbnail system uses the concept of context and size organize thumbnails by size based on their intended use.  However, most of the thumbnail classes do not respect or use the specified size, which is 16 by 16 pixels and really only usable for small icons.

The thumbnails are currently being used in the asset browser tree control, the larger asset browser previews, the material component property asset controls, the material component inspector for the large preview, and other places.  Each of these places use completely different sizes, some of which are large and change dynamically. Whenever the thumbnails are painted they are scaled to the desired size.

Material and mesh thumbnails were always being captured at 512x512 regardless of what the rest of the thumbnail system said.  Source, product, and folder thumbnails would be stored at the original asset size.  The loading movie thumbnail was always drawn at 16 by 16 and scale up so it was always blurry.  Image thumbnails were always scaled down to 16 by 16 and scale up for larger previews.

Rather than worrying about the size of each context, each thumbnail class will store the image at whenever it deems to be a large enough size that can be scaled down when used.

This may eliminate the need for multiple thumbnail contexts which are not being used anyway.

https://jira.agscollab.com/browse/ATOM-15370
5 years ago
greerdv b113f09a71 first pass of changing transform to use float for scale internally rather than Vector3 5 years ago
junbo 0b8299ba0b Remove the existing crashpad package and update the package hash 5 years ago
junbo eb0758f63a [SPEC-6071][Crashpad] Make Crashpad available through 3rdParty system for Windows 5 years ago
jackalbe a1685ecca9
{LYN-2074} Add Animation data types Behavior for the scene graph (#253)
{LYN-2074} Add Animation data types Behavior for the scene graph  (#253)
* https://jira.agscollab.com/browse/LYN-2074

* moved scene API color to centeralized location
BlendShapeDataFace
BlendShapeData
5 years ago
Esteban Papp 29bf58cffc
SPEC-6517 RedCode: some more folders identified for removal 1 (#290) 5 years ago
Aaron Ruiz Mora 45fbc86d2d
Fix cloth with MeshOptimization ON
- Reexport cloth assets with AssImp ON. These was necessary because AssImp collects a different name for the color streams than FbxSDK and therefore they needed to be reassigned in the cloth rule.
- Adding '_optimized' string to a global variable and using StringFunc RChop to remove it for a string.
5 years ago
Chris Burel 28170ffe41 Add newlines to the end of all files 5 years ago
AMZN-stankowi f44f06c9f0
AssImp set to be the default FBX processor (#78) (#136)
* AssImp set to be the default FBX processor (#78)

If you encounter issues, reach out to the Helios team with details, and then switch back to FBX SDK locally by changing FBXImporter.h

* Merge pull request #219 from aws-lumberyard-dev/sceneapi_scripting

LYN-3030: Fix to export_chunks_builder.py to match the AssImp node paths

* Hide some automated test folders from the asset processor for automatedtesting. This is necessary because these assets should only be processed when running the test, and not any time AP is launched for this project.

* Putting these test assets back to visible to Asset Processor. These tests need to be updated at some point to handle that, but they won't work with this change for now. Note that until this is addressed, these tests may randomly time out if they're the first tests run on a clean asset processor, and these tests launch AP without using a unique port, so the test can also fail if an Asset Processor executable is hanging open.

Grabbed the change I missed from the 1.0 branch merge, no idea how this got lost.

* Moved from main to periodic. Allen and Fuzzy were already on board, and I think with the potential flakiness in this test, we don't want this in main.

Co-authored-by: jackalbe <23512001+jackalbe@users.noreply.github.com>
5 years ago
sharmajs-amzn 957d1360da
Custom UV Stream Names in assimp (#210) (#243)
* Custom UV Stream Names in assimp
https://jira.agscollab.com/browse/LYN-2506
5 years ago