Commit Graph

150 Commits

Author SHA1 Message Date
pruiksma f3af2722e9 changing floor() to aznumeric_cast<uint32_t>() 2021-05-21 15:10:13 -05:00
pruiksma 35ef2004a6 Halton sequence added to AzCore/Math/Random.h with unit tests. This work is in support of ATOM-13988 for generating sub-pixel camera offsets for TAA jitter. 2021-05-21 15:00:39 -05:00
lumberyard-employee-dm f5bc191a55 Exposing the Settings Registry parse error to a Native UI dialog (#864)
* Exposing the Settings Registry parse error to a Native UI dialog

* Fixing format specifier for the rapidjson error offset
2021-05-21 13:18:41 -05:00
Chris Burel d8bd6ef407 Preserve asset ids for assets that fail to load, when deserializing from json (#847)
Sometimes deserializing a Json document happens when asset handlers are not
registered. In that case, `FindOrCreateAsset` will fail to create the
asset, since there's no handler registered to create it. When this happens,
`FindOrCreateAsset` returns an Asset instance with a null asset id. This
effectively causes the json deserializer to lose that data, even in
situations where the the actual asset data doesn't need to be loaded, but
the asset id needs to be preserved.
2021-05-21 08:39:10 -07:00
lumberyard-employee-dm 8028cbbe39 Fixed issue where the SettingsRegistryImpl::LessThan function would set the collisionFound boolean to true when comparing two elements that happened to be at the same address via std::sort. (#857)
In reality there is no such collision and the comparisons needs to early return with false, but not change the collisionFound flag.
2021-05-20 20:41:30 -05:00
lumberyard-employee-dm 73335c7160 Fixed AZ::Utils::GetHomeDirectory function for non-Windows platforms (#821)
* Fixed AZ::Utils::GetHomeDirectory function for non-Windows platforms

* Adding back missing path variable

* Fix typo in homePath variable
2021-05-19 18:05:29 -05:00
AMZN-puvvadar 29b4ab6ff3 Merge pull request #522 from aws-lumberyard-dev/mp_editor_pipeline
Integrating network prefab processing with Multiplayer.Editor to enable server launch on Ctrl+G via an Editor specific network connection
2021-05-18 16:28:08 -07:00
puvvadar 55ecd8517d Add assert to new Asset constructor to declare intent and safeguard ID overwrite 2021-05-18 14:57:27 -07:00
bosnichd 7a557c05ac Remove or update some remaining non-inclusive terms. (#793) 2021-05-18 11:43:57 -06:00
Aaron Ruiz Mora dd398891c9 Improve iOS string handling in DynamicModuleHandle_iOS 2021-05-18 16:43:51 +01:00
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.
2021-05-17 14:58:18 -05:00
Aaron Ruiz Mora dd80668da0 Fix iOS and android compilation errors from nightly build 2021-05-17 19:41:32 +01:00
puvvadar cb55eaf853 Merge main to mp_editor_pipeline 2021-05-16 11:36:47 -07:00
lumberyard-employee-dm 0b35d27833 Added support to the AZ Console to be notified when the Settings Registry modifies a particular path (#691)
* Updated the SettingsRegistry CommandLineArgumentSettings delimiter function to no longer work on a character basis, but on a line basis.
This provides more control by the user to determine how to the argument into the JSON pointer and JSON value parts

Added function o the Settings Registry to specify the JSON Apply Patch settings to use when performing a JSON Patch/Merge Patch operation

Fixed the SettingsRegistryImpl::CommandLineArgument function to properly set unsigned 64-bit values into the SettingsRegistry by checking the ERRNO of strtoll and strtoull

* Updated the reporting of the JSON Patching operations to supply a JSON pointer of the patched element to the Issue Reporting callback when the patch operation is successful. This allows using the Issue Reporting callback as a notification system when field is updated during a patch operation

* Added support to the AZ Console to be able to run Console Commands based
on notifications from the Settings Registry when a field underneath the
"/Amazon/AzCore/Runtime/ConsoleCommands" object is modified.

This takes advantage of the Settings Registry RegisterNotifier API to
determine when a field is modified as well as the JSON Merger
JsonApplyPatchSettings Issue Reporting Callback to determine when a
field is modified or updated.

As a Side Note also fixed an issue with the AZ Console incorrectly
converting unsigned 64-bit types using strtoll

* Making the Console constructor which accepts an AZ::SettingsRegistryInterface explicit

* Updating string format calls which use *.s for formatting string_views, to use the AZ_STRING_ARG macro

* Addressed typos in comments around the SettingsRegistry AZ Console functions

* Fixed the SettingsRegistryTest that look for an empty value

* clang 6.0.0 constexpr build fix. For some reason clang cannot make a constexpr AZStd::string_view out of a constexpr AZStd::fixed_string despite there being a valid constexpr operator AZStd::string_view

* Mac build fix

* SettingsRegistryTest.MergeSettingsFolder_ConflictingSpecializations_ReportsErrorAndReturnsFalse test fix on Mac

* Updated the LoadSettingsFile test to validate running a console with 0 arguments

Replace the static_cast in the ConsoleTypeHelpers.inl code to convert a str to long long with an aznumeric_cast

* Added printf logging to the ConsoleCommandKeyNotificationHandler to determine if the console commands are being performed on the Jenkins Linux node

* Fixed Dangling string_view reference in the ConsoleCommandKeyNotificationHandler that was causing command execution from a file to fail.

Renamed the second TestFreeFunc function in the ConsoleTests.cpp to validate thath the first TestFreeFunc function is being tested

* Updated the Component Application AZ Console to use the SettingsRegistry as the backend when loading config and Settings Rgistry json files
2021-05-15 16:16:49 -05:00
puvvadar fb51829360 Resolve MP Gem Ctrl+G changes with main 2021-05-15 13:12:16 -07:00
puvvadar 1915b97c16 Cleanup server launch, misc. MP consts, and register Editor Spawnable assets server side 2021-05-15 12:58:30 -07:00
Nicholas Van Sickle 46c0c35c26 Merge pull request #734 from aws-lumberyard-dev/nvsickle/DebugInfoDisplay
Restore debug rendering to the viewport
2021-05-14 15:20:05 -07:00
nvsickle 58759bddf7 Tidy up Script/ScriptTimePoint 2021-05-14 12:36:40 -07:00
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
2021-05-14 13:01:11 -05:00
nvsickle cc986f563a Merge remote-tracking branch 'upstream/main' into nvsickle/DebugInfoDisplay 2021-05-14 10:27:33 -07:00
Mike Balfour 0ae123eae6 Fix AssetContainer behavior with immediate load errors
The AssetContainer was getting "stuck" in the case that it tried to load a missing asset that was already registered with the AssetManager as missing. This fixes the bug, as well as adding a unit test for the specific condition.
2021-05-13 16:08:47 -05:00
mbalfour 7866178f3e Fix AssetContainer behavior with immediate load errors
The AssetContainer was getting "stuck" in the case that it tried to load a missing asset that was already registered with the AssetManager as missing.  This fixes the bug, as well as adding a unit test for the specific condition.
2021-05-13 14:10:45 -05:00
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
2021-05-13 08:55:36 -06:00
Mike Balfour 2679826421 Change SerializeContextTools into a ToolsApplication so that it can correctly read in slice data 2021-05-12 16:03:52 -05:00
nvsickle 559798251d Merge remote-tracking branch 'upstream/main' into nvsickle/DebugInfoDisplay 2021-05-12 11:55:51 -07:00
sharmajs-amzn 7f5962d1ba disable AssetJobsFloodTest.ContainerCoreTest_BasicDependencyManagement_Success test (#703) 2021-05-11 15:23:43 -07:00
mbalfour 21dfcfed74 Fix bug where setting autoLoad to false for one gem will prevent every gem after it from loading as well. 2021-05-11 15:26:07 -05:00
nvsickle fe29318293 Make ScriptTimePoint::Get const correct 2021-05-11 12:18:49 -07:00
sconel 2e32b2ee57 Merge pull request #671 from aws-lumberyard-dev/Prefabs/AssetPreload
Asset Preload fix for json serialization and prefab game mode
2021-05-11 09:35:06 -07:00
Tom Hulton-Harrop b5e5a3bfee More camera fixes for the new CameraInput system (#667)
* use new ViewportContext interface to set camera transform on load

* WIP fixes for camera viewport handler callbacks

* disable synchonization with old camera when new camera system is enabled

* further updates to camera-input

* ensure event is signalled when camera transform is set

* updates to ModernViewportCameraController

* fix for right click menu appearing with camera

* updates following review feedback

* convert std:: usage to AZStd::
2021-05-11 13:38:09 +01:00
sconel 286a1aafa9 Clang build fix 2021-05-10 19:11:51 -07:00
sconel 5cff7994bf Small update to AssetJsonSerializer result assignment 2021-05-10 19:00:24 -07:00
sconel 12fb07c3e3 Fix for failing AssetJsonSerializer conformity tests 2021-05-10 18:56:29 -07:00
sconel 36911723c2 Addressed PR feedback 2021-05-10 18:17:39 -07:00
sconel 9255e4c191 Added non const getter to SerializedAssetTracker 2021-05-10 13:05:29 -07:00
sconel 2e9ae76596 Removed print statement, adding in new files that were missed 2021-05-10 12:11:53 -07:00
Colin Byrne 43b474a4b2 O3de updates restricted download (#229)
* fix project centric set current
* Adding newline to project.json template
* Adding newline to engine.json
* Changed register -this-engine to be data driven
* adding build server support
* fix log dir
* fix add remove
* fix template creation for restricted
* fix typos and descriptions
* Add newline to the end of template.json
* Adding newline to the end of assets_scan_folders.seteg
* current_project in global project that creates/edits the .o3de/Registry/bootstrap.setreg
* fix the build server flags
* fix the o3de manifest server portion
* disable project manager tests for now. Its changed too much and lytestools is not working at the moment. I will get back to this later.
* fix the Mac build config
* disable project_test, this is the project manager. It has changed too much for these tests to work at the moment. I'll get back to them

Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2021-05-10 12:03:36 -07:00
sconel b04bfc459f Asset Preload fix for json serialization and prefab game mode 2021-05-10 11:46:58 -07:00
Tom Hulton-Harrop b2523217c3 Update snapping settings to be stored in the Settings Registry (#646)
* add overload to ActionManager to support capturing an AZStd::function

* move snapping settings to new settings registry

* remove unneeded reference in ViewportSettings

* move viewport setting function implementations to .cpp file

* add more sensible default values for snapping

* fix variable name for angle snapping

* remove const from function prototype value parameters

* add import/export api for free functions

* change from std::bind to a lambda

* remove redundant const for constexpr string_view

* add AZStd alias for std::abs
2021-05-10 18:40:32 +01:00
karlberg eb7a8b386a Fixes for unit tests where component application might be null 2021-05-07 20:40:23 -07:00
karlberg 1df2fe1d48 Merging latest origin 2021-05-07 16:28:11 -07:00
greerdv 9f5987d431 Merge branch 'main' into non-uniform-scale-ux 2021-05-07 19:55:26 +01:00
karlberg d2df379fa4 Fixes for AR issues 2021-05-07 11:26:59 -07:00
karlberg a8fa7a59d4 CR feedback 2021-05-07 10:03:07 -07:00
karlberg 05a39a4412 Fix several build failures 2021-05-07 09:54:49 -07:00
jackalbe 347073cbcd {LYN-2257} Helios - Add Matrix math type for JSON Serialization system (#561)
* {LYN-2257} Helios - Add Matrix math type to the JSON Serialization system

* Helios/Systems - Add Matrix math type to the JSON Serialization system
* supports both YPR+scale+translation and array of values
* supports Matrix3x3, Matrix3x4, Matrix4x4

Jira: https://jira.agscollab.com/browse/LYN-2257
Tests: Added Serialization/Json/MathMatrixSerializerTests.cpp

* clang compile fixes

* removed typename

* fixing both tests and some default conformity impls

* stablized the comformity test values; rotations drift too much
2021-05-07 09:31:48 -05:00
greerdv 4202f646e4 Merge branch 'main' into non-uniform-scale-ux 2021-05-07 15:20:29 +01:00
greerdv 2c6d04f673 feedback from PR 2021-05-07 15:03:57 +01:00
karlberg c21b4a577d Merge remote-tracking branch 'origin' into MultiplayerComponents 2021-05-06 19:40:09 -07:00
jonbeer 8947abcbb7 PR fixes and recommendations 2021-05-06 16:35:01 -07:00