* Adds the gem repo screen with the UI built but with mocked data and not connected to the o3de scripts
Signed-off-by: nggieber <nggieber@amazon.com>
* Changed name of added to enabled, disabled define, removed unused functions
Signed-off-by: nggieber <nggieber@amazon.com>
* Added Repo Screen Inspector UI
Signed-off-by: nggieber <nggieber@amazon.com>
* Addressed minor PR feedback
Signed-off-by: nggieber <nggieber@amazon.com>
* Add some more minor PR changes
Signed-off-by: nggieber <nggieber@amazon.com>
* proof of concept change for fixing camera yaw rotation being ignored
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* updates to fully support camera roll
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* small fixes for PR
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* undo changes in EditorCameraComponent
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* add test to verify interaction between editor viewport view entity change and modular camera controller
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* add additional tests for updated camera behaviors
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* revert change to Camera Gem Output Name
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* move location of new files
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* fix tab/spaces issue
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* remove static from potentially unused functions
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* set camera lib name in CMakeLists.txt file
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* cosmetic CMakeLists.txt change
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* Fixed calculation of each archive file data offset.
The location of a file entry in a Zip file is calculated after the local file
header + the length of the filename + the length of the extra field
length per the ZIP file spec.
https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removed bIndependentBlocks variable
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
- Added new interface type AZ::Debug::Profiler to externally register profiler systems
- Modified the Atom CPU profiler to register as an AzCore profiler
-- This allows full engine markers to be visualized in the associated ImGui tool
- Converted all AZ_ATOM_PROFILE_* macros to use AZ_PROFILE_* macros instead
Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
* Provisional impl and testing of central state tracker.
Signed-off-by: John <jonawals@amazon.com>
* Add missing namespace comment.
Signed-off-by: John <jonawals@amazon.com>
* ViewportEditorModeState -> ViewportEditorModes
Signed-off-by: John <jonawals@amazon.com>
* ViewportEditorModesTracker -> ViewportEditorModeTracker
Signed-off-by: John <jonawals@amazon.com>
* GetEditorModeState ->GetViewportEditorModes
Signed-off-by: John <jonawals@amazon.com>
* GetNumTrackedViewports -> GetTrackedViewportCount
Signed-off-by: John <jonawals@amazon.com>
* IsViewportStateBeingTracked -> IsViewportModeTracked
Signed-off-by: John <jonawals@amazon.com>
* Fix API comments.
Signed-off-by: John <jonawals@amazon.com>
* Delete hangover file.
Signed-off-by: John <jonawals@amazon.com>
* Delete more hangover files.
Signed-off-by: John <jonawals@amazon.com>
* Minor member name refactor.
Signed-off-by: John <jonawals@amazon.com>
* Refactor nonclemanture.
Signed-off-by: John <jonawals@amazon.com>
* Rename Enter/ExitMode to Register/UnregisterMode.
Signed-off-by: John <jonawals@amazon.com>
* Error and warning msgs now return AZ::Outcomes.
Signed-off-by: John <jonawals@amazon.com>
* Change all nomenclature to Activate/Deactivate for consistency.
Signed-off-by: John <jonawals@amazon.com>
* Change tense of notification bus methods.
Signed-off-by: John <jonawals@amazon.com>
* Fix malformed string format.
Signed-off-by: John <jonawals@amazon.com>
* Fix malformed string format (again).
Signed-off-by: John <jonawals@amazon.com>
* Fix Linux warning.
Signed-off-by: John <jonawals@amazon.com>
* [Mac] Initial support for building with hardened runtime enabled and code signing the binaries and bundles generated by the CMake install process.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Move call to ly_post_install_step
2. Entitlements should only be added for executables
3. Change use of CMake exec_program to newer execute_process
4. Remove broken symlinks from embedded Python frameworks
5. Run post install code signing only if hardened runtime is enabled
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Remove unnecessary flag
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Remove unnecessary additional call to condesign python inside a bundle
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Move commonly used install functions for codesigning, copying files, and fixing frameworks to a utility script
2. Remove unnecessary wait in the Editor/AP launchers I added earlier.
3. Codesign 3rd party libraries for distribution.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Codesigning on 3rd party libs should only happen when hardened runtime is enabled.
2. Change the order of the if blocks in Editor's main_dummy.cpp. This was causing strange notarization issues because it wass too similar to AP's main executable.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Add new line to end of file
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Move architecture specification to PAL_mac cmake file. 2. Codesign failure should be fatal.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Address some PR feedback
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Remove unnecessary comment. Change if to use IN_LIST.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* HOME may not always be defined. Adding alternate POSIX way of determining HOME.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Checking in partial work to get O3DE SDK built as an app bundle. Has a bunch of debug code that needs to be cleaned up.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Remove this and add it back later with fixed casing.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Adding file back with fixed case
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Add entitlements sparingly(only when necessary)
2. Convert entitlements to plist files which we can directly pass to codesign
3. Install python site-packages in the o3de_sdk launcher and then launch the project manger.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Move hardened runtime check to codesigning functions only. This way, non-hardened runtime install is identical to the former except for codesign. Makes it easy for QA to test internally.
2. Move cmake min version for install to the pre-install steps.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Remove the dummy launchers for AssetProcessor and Editor
2. Add loader_path to the rpaths of binaries outside an app bundle so that the dynamic loader can load their dependencies if any.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Remove file named main_dummy.cpp
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Add O3DE SDK launcher
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Add missing runtime dependencies to gems
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Update the path to binaries when codesigning to the correct one.
2. Remove some debug messages.
3. Move installed binary path setreg generation to the target install function. This way, we get the correct path to the bundle accounting for different configs and subdirectories.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Add explanatory comments.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. ly_install_add_install_path_setreg cannot be called during install target because the runtime dependencies are already processed by then.
2. The SDK launcher now uses the ProjectManager's bundle setreg to find the path to the installed binaries
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Update path to install relative binaries after merge from dev
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Only one config of the SDK launcher needs to be installed. Preinstall steps should not be run per config, but only once.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Install python dependencies using the get_python.sh script.
2. Replace any reference to hard-coded package name/version numbers with variables.
3. Add one more missing runtime dependency.
4. Misc. PR feedback.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Remove the need for setreg files in all tool bundle. Project binary path can be used instead.
2. Move O3DE_SDK_Launcher to Code/Tools/BundleLauncher
3. Add ly_install_run_script() function for install(SCRIPT) functionality.
4. Address some other PR feedback.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Add source permission when installing O3DE_SDK executable.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Rename setreg file to add specialization tag.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Remove LY_BUILD_PERMUTATION that's not needed
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Add BinariesInstallPath.setreg to all our bundles like before. This is now only added during the install process though.
2. Fix path in Install_common.cmake
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Fix comment
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Adds the gem repo screen with the UI built but with mocked data and not connected to the o3de scripts
Signed-off-by: nggieber <nggieber@amazon.com>
* Changed name of added to enabled, disabled define, removed unused functions
Signed-off-by: nggieber <nggieber@amazon.com>
* Added eof nl to qss
Signed-off-by: nggieber <nggieber@amazon.com>
* Restores the branch to the old status from old branch
Signed-off-by: aaguilea <aaguilea@amazon.com>
* Changes that didnt make it from merge manually fixed
Signed-off-by: aaguilea <aaguilea@amazon.com>
* forgot one
Signed-off-by: aaguilea <aaguilea@amazon.com>
* Added Ebus in order to remove rigidbody's dependencies
Signed-off-by: aaguilea <aaguilea@amazon.com>
* answering some of the comments in the PR
Signed-off-by: aaguilea <aaguilea@amazon.com>
* Small typo changed
Signed-off-by: aaguilea <aaguilea@amazon.com>
* Added array index operators to Spawnable(Const)EntityContainerView.
This commit also includes some tweaks to the begin/end functions and unit tests.
Ticket: https://github.com/o3de/o3de/issues/4110
Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com>
* Fixed string formatter for assert in Spawnable(Const)EntityContainerView.
Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com>
* Added empty() to Spawnable(Const)EntityContainerView and made move functions use [[nodiscard]]
Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com>
* Create a new InputContextComponent.
- An InputContextComponent is used to configure (at edit time) the data necessary to create an AzFrameowrk::InputContext (at run time). The lifecycle of any InputContextComponent is controlled by the AZ::Entity it is attached to (adhering to the same rules as any other AZ::Component), and the InputContext which it owns is created/destroyed when the component is activated/deactivated.
- The underlying AzFramework::InputContext and AzFramework::InputMapping* classes already exist, along with comprehensive unit tests (see Code/Framework/AzFramework/Tests/InputTests.cpp). All changes in this PR are simply to allow input contexts / input mappings to be defined/edited from the editor using data.
- The new InputContextComponent is similar in many respects to the InputConfigurationComponent found in the StartingPointInput Gem, the main difference being that the user-defined input mapping objects the new component creates are identical (from the perspective of any input consumer) to 'raw' engine-defined input channels (the existing AzFramework::InputMapping class inherits from the existing AzFramework::InputChannel class). This means that any system which consumes input (in either C++ or lua) can seamlessly interchange between obtaining input using either the 'raw' engine-defined input channels (eg. InputDeviceGamepad::Button::A, InputDeviceKeyboard::Key::AlphanumericA, etc.) or any user-defined input mapping, which can now be defined from the editor using data. Ultimately I would like to deprecate the StartingPointInput::InputConfigurationComponent in favour of this new InputContextComponent, which isn't realistic at present because the former is used pervasively throughout many different projects, and it integrates with ScriptCanvas in a way that I have yet to replicate, but this is a step towards the goal of a unified, engine-wide input context/input mapping solution that can be used interchangeably by any system, project, or Gem.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Edited some reflected property descriptions for clarity.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Fix clang builds:
- Add a missing virtual destructor.
- Fix the scope of two reflected property attribute functions.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Fix for InputContextComponent being reflected twice in some cirsumstances.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Updates in response to PR feedback.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* More updates based on review feedback.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Added string and string_view class constructor overloads which is deleted that prevents initializing them from a nullptr or an integer type
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed locations where string and string_view were initialized with
nullptr
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fix IArchive::IsInstalledToHDD signature
Updated calls to ConvertAbsolutePathToAliasedPath to use an
list initialization instead of nullptr
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the GameApplication to mount the engine.pak
This allows loading the autoexec.cfg and bootstrap.game.<config>.<platform>.setreg from the engine.pak files
The engine.pak is searched for in the following order: <ExecutableDirectory>/engine.pak, followed by <ProjectCacheRoot>/engine.pak
Removed a lot of unused APIs from the AZ::IO::Archive feature suite
Updated many of the AZ::IO::Archive classes to use AZ::IO::Path internally.
The logic to search for files within an Archive has been updated to use AZ::IO::Path and to remove case-insensitve string comparisons
Somehow removed the CryFile dependency on anything Cry
Updated the Settings Registry to support reading from the FileIOBase and therefore Archive files in the GameLauncher via the `SetUseFileIO` function
Removed AzFramework Dependency on md5 3rdParty library
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Linux build fix
Added an include of <stdio.h> before the <rapidxml/rapidxml.h> include as it usesnprintf.
Added `static` to the constexpr constants in ExtractFileDescription in SettingsRegistryImpl.cpp to fix clang compile issue
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the case used to mount the Engine PAK file in the GameApplication to be Engine.pak to match the other locations where it is mounted
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the proper FFont call to FileIOBase::Size to supply the correct
integer type of AZ::u64 instead of size_t
This fixes building on platforms where size_t is type defined to be
unsigned long
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed segmentation fault in Archive::Unregister when outputing the filename of the Archive file being closed
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fix calls to OpenPack in the Legacy LevelSystem
The LevelSystem was calling the incorrect overload of OpenPack that
accepts BindRoot for the mounted level.pak instead of the overload that
that passes a memory block object.
This was causing the level pak files to be mounted using an invalid
directory, causing file accesses inside the level pak to fail.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the error messages in the ZipDir CacheFactory class to use AZ_Warning directly
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the ArchiveFileIO m_trackedFiles container to store mapped type as an AZ::IO::Path
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* expose sticky select option to the SettingsRegistry
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* update missed callsites after API change to Manipulator Test Framework
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* updates following review feedback
Signed-off-by: hultonha <hultonha@amazon.co.uk>
Merge pull request #4102 from aws-lumberyard-dev/Atom/santorac/WarnOnMaterialPsoChanges
These changes make material system report warnings when gameplay scripts attempt to change PSO-impacting material properties at runtime. So far the material system has always allowed any properties to be changed at runtime, including those that affect Pipeline State Objects (PSOs), as this is supported on several platforms. But some platforms require that Pipeline State Objects be pre-compiled and shipped with the game. At some point we will need to add new restrictions that limit what material properties can be changed at runtime. In the meantime, these warnings should alert users to avoid this, as the functionality likely won't be supported in the future.
- Made the Material and LuaMaterialFunctor classes configurable to report errors or warnings when material properties modify Pipeline State Objects. This is controlled by a new "MaterialPropertyPsoHandling" enum.
- Made the EditorMaterialComponent override PSO handling as Enabled, to prevent warnings when the user is editing material instance property overrides. This requried a new MaterialComponentNotificationBus bus message "OnMaterialInstanceCreated".
- Added a new ScopedValue utility class that simply sets a value when it goes out of scope.
- Removed unnecessary GetMaterialPropertyDependencies member from material functor context classes, as this is already available as part of the functor itself.
- Made Material::SetPropertyValue return early when the property value hadn't actually changed. Besides being more efficientn, this prevents unnecessary spamming of the new warning.
- Made a couple imporvements to material_find_overrides_demo.lua:
- Made the target material slot name configurable through an exposed component property.
- Fixed a timing issue where the assignmentId was invalid if FindMaterialAssignmentId is called too early.