Commit Graph

773 Commits (35ef2004a6cc2f33db0d66a731ec8fc8b8caadf2)

Author SHA1 Message Date
daimini a4953a5204 Merge branch 'main' of https://github.com/aws-lumberyard/o3de into Prefab/Create/PositionFix
# Conflicts:
#	Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.cpp
5 years ago
puvvadar 55ecd8517d Add assert to new Asset constructor to declare intent and safeguard ID overwrite 5 years ago
daimini bb458254a2 Polish pass - rename arguments to be more generic, add comments, restore patches to links during instantiation that were mistakenly removed in previous changes. 5 years ago
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
sconel 4dccfa0d74 Merge branch 'main' of https://github.com/aws-lumberyard/o3de into Spawnable/Instantiation/EntityIdReferenceFix 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
sconel 8792cac88a Updating SpawnableEntitiesManager to handle entity references during spawn 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
daimini bcaf4209d5 Move some logic to a helper function. Revert order of link creation operations as they are not necessary to fix the bug, so it is preferred to leave them untouched. 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
puvvadar 6f3f5268d8 Fix build error on unity builds 5 years ago
bosnichd e2f5677bbc
Remove a number of unused CryCommon interfaces and docs related folders. (#788) 5 years ago
daimini d0b6ae47ed Merge branch 'main' of https://github.com/aws-lumberyard/o3de into Prefab/Create/PositionFix
# Conflicts:
#	Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.cpp
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
amzn-mike f5fab7e974 Merge branch 'main' into Helios_DataDrivenAssetImporter 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
amzn-mike ee4e9af465 Rename AssetImporterSettings to SceneImporterSettings 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
puvvadar cb55eaf853 Merge main to mp_editor_pipeline 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
puvvadar fb51829360 Resolve MP Gem Ctrl+G changes with main 5 years ago
puvvadar 1915b97c16 Cleanup server launch, misc. MP consts, and register Editor Spawnable assets server side 5 years ago
daimini 12760ef6a3 Remove unused container entity retrieval 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
daimini 70c968f829 Fixes issue with relative positioning of children on Prefab creation. Makes CreateLink more generic to facilitate reuse. 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
greerdv 068deea918 remove unnecessary overrides 5 years ago
greerdv e9386bcb9b remove unecessary overrides 5 years ago
greerdv 737178b928 Merge branch 'main' into non-uniform-scale-manipulators 5 years ago
greerdv 5508bf7e1d remove unnecessary non-uniform scale manipulator bus 5 years ago
greerdv d365d00abd hook up non-uniform scale manipulator callbacks 5 years ago
srikappa b72836fa8f Fixed a typo 5 years ago
amzn-mike ba4439c397 Remove call to deleted init function 5 years ago
srikappa d8865a8f0d Remove links when deleting prefabs 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
puvvadar 8a39f9f1b4 Streamline MP Ctrl+G logic via MultiplayerEditorConnection 5 years ago
srikappa 16b2dabde2 Removed additional spacing 5 years ago
srikappa 9328c944b2 Remove an unnecessary check in the if statement 5 years ago
srikappa 7d8180a3bb Fixed a typo 5 years ago
srikappa b92a68f5a4 Improved a comment 5 years ago
srikappa cd4be3a708 Found a better way to find common owning instance 5 years ago
srikappa 76e8a0ef47 Fixed bug with delete prefab where the prefabs were not being deleted from the correct instances 5 years ago
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.
5 years ago
greerdv 41ea7a1b81 add stubs for non-uniform scale component mode 5 years ago
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.
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
michabr 9cde3d60e9
Merge pull request #712 from aws-lumberyard-dev/michabr/lyshine_merge
LyShine/UI Editor fixes for Atom
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
jjjoness 5940f2ebbe
Merge pull request #739 from aws-lumberyard-dev/LYN-1099
LYN-1099 DEV TASK - Play Controls
5 years ago
amzn-mike f478340376 Data driven asset importer. Need to fix reflection 5 years ago
Tom Hulton-Harrop 795aa114e6
Improve selection in the viewport (#720)
* improve selection in the viewport

* remove debug code

* updates following review feedback

- update API comments from /// to //! from
- add [[nodiscard]] attribute to member function
- move constructor implementations to .cpp files

* use lambda instead of ternary operator

* fix unit test failure caused by typo
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
kberg-amzn 5225fd2c9f
Merge pull request #727 from aws-lumberyard-dev/MultiplayerComponents
Some cleanup to better support backward reconciliation as well as dynamic player spawning on connect
5 years ago
amzn-sean 7f79cc8796
RemoveSimulatedBody automatically updates the requested handle to be invalid once removed. (#740) 5 years ago
Hasareej a13c9e8d53
Hasareej lyn 2301 cluster space (#717)
ViewportUi widget anchoring & alignment update.
5 years ago
greerdv 2ef0e70fff
Merge pull request #730 from aws-lumberyard-dev/non-uniform-scale-compatibility
update compatibility for non-uniform scale service
5 years ago
amzn-sean d690c3fee4
static rigid body and rigid body component use Handles instead of pointers (#662) 5 years ago
sphrose 36a79aca8a Remove redundant function. 5 years ago
jjjoness 26b8181cc1 Merge branch 'main' into LYN-1099 5 years ago