Commit Graph

86 Commits (e0cb0fec9b8fba61ffbe0ceb4e5f00a0263a3d2b)

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

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

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

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

This reverts commit 06d2050ac4fe6b9d0d0c52e759cf73a9a3f7d3eb.

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

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

* Updated files after moving all Qt folder into Source

* Updated Source capitalization in cmake files list

* Adding newline to the end of project_manager_files.cmake

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

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

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

* removed a function that wasn't being used anymore

* updated some error messages based on PR feedback
5 years ago
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
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