Commit Graph

686 Commits (e0cb0fec9b8fba61ffbe0ceb4e5f00a0263a3d2b)

Author SHA1 Message Date
srikappa-amzn 3c40aad148
Merge pull request #792 from aws-lumberyard-dev/Prefab/CreatePrefab
Bug fixes for creating prefabs with nested entities
5 years ago
SergeyAMZN 6626a7cf8e
Merge pull request #682 from aws-lumberyard-dev/MultiplayerPipeline
Added support for parent-child networked entities
5 years ago
Tommy Walton d0810892f1
ATOM-15358 : Culling concurrency checker fails in AtomSampleViewer (merge from 1.0->main)
Inserting, updating, and removing entries from a VisibilityScene was made thread safe in a previous change, and now both the MeshFeatureProcessor and DiffuseProbeGridFeatureProcessor update entries at the same time from multiple threads. This leads to an assert in the Culling concurrency_checker, even though this is now valid behavior.

However, we still don't want to be adding, removing, or updating cullables between BeginCulling and EndCulling, which could cause a mismatch between the result of OctreeScene::GetEntryCount and the actual number of cullables in the scene.

-Added soft_lock_shared/soft_unlock_shared to the concurrency checker to allow multiple threads to acquire a lock when that is the desired behavior, while still asserting that nothing tries to acquire a shared lock when the concurrency checker is already locked.
-Update Culling.cpp to use the new soft_lock_shared when adding, updating, or removing cullables
-Added unit tests for the concurrency_checker
-Updated ArrayView unit test to use AZ_TEST_START_TRACE_SUPPRESSION instead of manually checking the assertion count, so that test now passes in release builds which do not assert.
5 years ago
bosnichd 7a557c05ac
Remove or update some remaining non-inclusive terms. (#793) 5 years ago
srikappa 1a1d608c7a Merge branch 'main' into Prefab/CreatePrefab 5 years ago
Aaron Ruiz Mora dd398891c9
Improve iOS string handling in DynamicModuleHandle_iOS 5 years ago
Tom Hulton-Harrop 43258be51c
Merge pull request #786 from aws-lumberyard-dev/hultonha_LYN-2215_camera-viewport-3
Add new orbit functionality for camera
5 years ago
Aaron Ruiz Mora 87ec96fbf4
Fix compilation errors in windows release 5 years ago
pereslav 85374ea7fc Merged from main 5 years ago
amzn-sean 672dad7fea
combined the 2 physics shape collider config pair types into 1(#778) 5 years ago
Benjamin Jillich 6d7c2f1a0c
Reusable selection proxy model (#780) 5 years ago
srikappa 761a77a436 Avoid creating a new list for non-container top level entities 5 years ago
srikappa eb873f246a Merge branch 'main' into Prefab/CreatePrefab 5 years ago
srikappa 45074c651a Fix bugs with creating prefabs with nested entities 5 years ago
pereslav b758a1920f removed useless todo comment 5 years ago
pereslav 970c87b487 Refactored spawning network entities to use SpawnableEntityManager instead of duplicating the code in NetworkEntityManager 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
Steve Pham c5e8a20462
Re-enable and fix failing AZ_NETWORKING_TESTS on Linux
- Enable the previously failing network unit tests for TcpTransportTests for Linux: TestSingleClient and TestMultipleClients
- Switch Linux to use SELECT implementation of the TCP Socket Manager instead of the EPOLL version (root cause of the failure)
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
Aaron Ruiz Mora dd80668da0
Fix iOS and android compilation errors from nightly build 5 years ago
hultonha bb05993355 add new orbit functionality for camrea 5 years ago
Tom Hulton-Harrop f4106fe73f
Add 'Goto entity' support for the new Editor camera (#743)
* add find entity in viewport functionality to new camera

* fix AZ_CVAR usage

* updates following review feedback

- updated comment styles from /// to //!
- retrieve fov of camera (add test for fov access)

* update namespace naming, fix AZ_CVAR usage

* update missed namespace and use AZ::Transform::CreateLookAt

* add missing include

* move EditorViewportSettings to EditorLib

* update DLL import/export API and rename namespace usage
5 years ago
rgba16f 749ffcfff2
Merge pull request #708 from aws-lumberyard-dev/Atom/breja/FixDefaultDebugDrawId
Fix AzFramework::g_defaultSceneEntityDebugDisplayId not working for the AtomDebugDisplayViewportInstance
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
greerdv 18a6134e2d Merge branch 'main' into non-uniform-scale-manipulators 5 years ago
greerdv 7edef63884 address PR feedback 5 years ago
sphrose 8ed8c26864
Merge pull request #100 from aws-lumberyard-dev/LY-105687
LY-105687 LY 2.0 - Main editor - mouse over tab should show a hand
5 years ago
karlberg 80bf6d54bc Merge remote-tracking branch 'origin' into MultiplayerComponents 5 years ago
karlberg c6ea0c0a46 Various local prediction and input processing related fixes 5 years ago
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
5 years ago
srikappa-amzn 0cfc7f10a9
Merge pull request #728 from aws-lumberyard-dev/Prefab/CyclicalDependencyCheck
Detect cyclical dependencies in the nested prefabs of the prefab being instantiated
5 years ago
Nicholas Van Sickle 46c0c35c26
Merge pull request #734 from aws-lumberyard-dev/nvsickle/DebugInfoDisplay
Restore debug rendering to the viewport
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
bosnichd 9ecbbe471b
Remove lots of unused things from CrySystem (#765)
Remove lots of unused things from CrySystem
5 years ago
karlberg 3a87229e88 Merging latest origin 5 years ago
karlberg 5acdc40595 Many fixes for external gem multiplayer components and component network inputs, fixes an uninitialized variable resulting in continual desyncs, restructures our public includes to match the directory structure of source, allows autogen artefacts to be included by external gems, allowing for external multiplayer components to interact with multiplayer gem components with no extra code 5 years ago
greerdv d878932966 merge from main 5 years ago
nvsickle 1426052a5f Address a bit more review feedback
-Use aznumeric_cast for enum <-> int casts
-Short circuit logic a bit more nicely
5 years ago
nvsickle f7a9b28000 Make AtomFont's API use copy semantics for string_view 5 years ago
nvsickle 58759bddf7 Tidy up Script/ScriptTimePoint 5 years ago
srikappa 1a456cc9b9 Marked an our parameter correctly and changed a ref to const ref 5 years ago
greerdv f2d415ecb8 add functionality for central scale manipulator 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
nvsickle cc986f563a Merge remote-tracking branch 'upstream/main' into nvsickle/DebugInfoDisplay 5 years ago
srikappa-amzn f6767cec2f
Merge pull request #751 from aws-lumberyard-dev/Prefab/DeletePrefab
Fixed bug with delete prefab where the prefabs were not being deleted from the correct instances
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
lumberyard-employee-dm 5cc0cc9ee7
Fixed the loading of uicanvas assets due to the NetBindable class being (#755)
removed from the SerializeContext.
The TransformComponent and ScriptComponent which used to Serialize a
NetBindable instance didn't have their version numbers bumped in order
to skip the old data when loading a binary ObjectStream
5 years ago
bosnichd a9d986c10f
Red code legacy MemoryManager, StreamEngine, ResourceManager, ImageHandler, AsyncPakManager, and more (#758)
Remove from CryCommon and CrySystem:
- MemoryManager and all related classes/files
- StreamEngine, ResourceManager, ImageHandler, and AsyncPakManager
- Various other related interfaces/files/classes etc. that are all now unused
5 years ago
greerdv c8568a7cf2 add feedback from PR 5 years ago