Commit Graph

142 Commits (1431afb51a08535a0ceabc22f11a55c0e5f5bb93)

Author SHA1 Message Date
Gene Walters 465f91c7f5 Fix compiler error because EntityPreRenderEvent only takes one float for deltaTime now
Signed-off-by: Gene Walters <genewalt@amazon.com>
4 years ago
kberg-amzn 22ab484986 merging latest development
Signed-off-by: kberg-amzn <karlberg@amazon.com>
4 years ago
kberg-amzn 52004f6cb5
Merge pull request #4120 from aws-lumberyard-dev/LYN6527_MoveMPSampleComponents_into_MultiplayerGem
Move Multiplayer Sample Components into Multiplayer Gem
4 years ago
kberg-amzn 011bd5d10e merging latest development
Signed-off-by: kberg-amzn <karlberg@amazon.com>
4 years ago
kberg-amzn 8401ee409b merging latest development
Signed-off-by: kberg-amzn <karlberg@amazon.com>
4 years ago
AMZN-Olex bcc77d75db Merge branch 'development' of https://github.com/o3de/o3de into Network/olex/hierarchy_component_phase1_pr 4 years ago
kberg-amzn 6e84495975 Changes to make client and entity migration functional, needed in the event of a host quitting necessitating a host migration
Signed-off-by: kberg-amzn <karlberg@amazon.com>
4 years ago
Gene Walters 95a1b9c1a3 Minor commenting improvements based on PR feedback
Signed-off-by: Gene Walters <genewalt@amazon.com>
4 years ago
puvvadar bc8ccde318 Merge branch 'development' of https://github.com/o3de/o3de into mp_blending_cleanup 4 years ago
Gene Walters ca5e26e2f9 Merge branch 'upstream/development' into LYN6527_MoveMPSampleComponents_into_MultiplayerGem 4 years ago
puvvadar f2841f2eba Fix interpolation logic errors in NetworkTransform
Signed-off-by: puvvadar <puvvadar@amazon.com>
4 years ago
AMZN-Olex 2be5854beb Cleanup
Signed-off-by: AMZN-Olex <5432499+AMZN-Olex@users.noreply.github.com>
4 years ago
AMZN-Olex 2637fa45b8 Minor refactor to address CR
Signed-off-by: AMZN-Olex <5432499+AMZN-Olex@users.noreply.github.com>
4 years ago
AMZN-Olex 9e31c3ebf5 Refactoring m_isDeactivating into m_isHierarchyEnabled
Signed-off-by: AMZN-Olex <5432499+AMZN-Olex@users.noreply.github.com>
4 years ago
Gene Walters 0cda54c84d Fixing copyright headers. Also removing some #includes that HitVolumes didn't need
Signed-off-by: Gene Walters <genewalt@amazon.com>
4 years ago
AMZN-Olex 714dc0a0e8 Refactoring away the use of AZ::TransformNotificationBus. Added unittests for deactivating parents of inner roots.
Signed-off-by: AMZN-Olex <5432499+AMZN-Olex@users.noreply.github.com>
4 years ago
Gene Walters 73b04d7e34
Network Input Exposed to Script (#3990)
* NetworkInput now has new attribute called ExposeToScript. NetworkInput with this attribute set to True will be exposed to behavior context. Also added a CreateFromValues for the NetworkInput where scripters can create an instance of the MyComponentNetworkInput class which will eventually be passed around CreateInput and ProcessInput events.

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Adding Create Input event handler. SC can now receive the event to create input, and send it over the network

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Auto-component controller will now generate CreateInput/ProcessInput methods if they have input exposed to script, not ready for use yet, just stubbed in

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Reducing code replication by putting common network input variables into AutoComponent_Common.jinja

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Fix minor comment typo in the CreateInput method

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Small fix. Changing ebus call from MyComponentNameCreateInput to just CreateInput. It's part of the MyComponentRequestBus so adding the component name before CreateInput is noisy

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Cleaning with jinja a bit using macro calls to iterate over scriptable netinputs

Signed-off-by: Gene Walters <genewalt@amazon.com>

* ProcessInput will now be triggered in script

Signed-off-by: Gene Walters <genewalt@amazon.com>

* ProcessInput event is sent to script. Script can now create and process input. Tested locally with a simple script.

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Created a seperate CreateInputFromScript and ProcessInputFromScript. Developers no longer need to remember to call the BaseClass::CreateInput and ProcessInput since CreateInputFromScript will automatically be called beforehand.

Signed-off-by: Gene Walters <genewalt@amazon.com>
4 years ago
Gene Walters 3973e1d3e5 Moved NetworkCharacterComponent out of MPSample and into MP gem
Signed-off-by: Gene Walters <genewalt@amazon.com>
4 years ago
AMZN-Olex fcd5b3f184 Converted to use AZ::Events for hiearchy notifications. Added unittests.
Signed-off-by: AMZN-Olex <5432499+AMZN-Olex@users.noreply.github.com>
4 years ago
AMZN-Olex 0d8b0fe496 Fixes for clang builds
Signed-off-by: AMZN-Olex <5432499+AMZN-Olex@users.noreply.github.com>
4 years ago
AMZN-Olex 853cffbf7b Comment cleanup
Signed-off-by: AMZN-Olex <5432499+AMZN-Olex@users.noreply.github.com>
4 years ago
AMZN-Olex 2a10c400a7 Comments cleanup
Signed-off-by: AMZN-Olex <5432499+AMZN-Olex@users.noreply.github.com>
4 years ago
Gene Walters 28ca59ae61 Moving NetworkHitVolumesComponent and NetworkRigidBodyComponent to the MultiplayerGem
Signed-off-by: Gene Walters <genewalt@amazon.com>
4 years ago
AMZN-Olex aa6c038880 Hierarchical components, phase 1, unittests
Signed-off-by: AMZN-Olex <5432499+AMZN-Olex@users.noreply.github.com>
4 years ago
puvvadar c5d8c194df Cleaning up NetworkTime and reworking how we approach network interpolation
Signed-off-by: puvvadar <puvvadar@amazon.com>
4 years ago
puvvadar de512db010 Determine blended timestamp on client plus minor API cleanup
Signed-off-by: puvvadar <puvvadar@amazon.com>
4 years ago
Gene Walters ffd0bbc165 Merge branch 'upstream/development' into GitIssue3155_MultiplayerComponentsUsingNetInputRequirePlayerInputComponent 4 years ago
Esteban Papp ea2f74dc0f more fixes for Gems
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Gene Walters 4374e6177e Updating service requirement to use a generic 'MultiplayerInputDrive', that way if other developers want to make a non-local predictition player controller that calls create/process on the server they can do so as long as there custom component provides this 'MultiplayerInputDriver' service
Signed-off-by: Gene Walters <genewalt@amazon.com>
4 years ago
Esteban Papp b8787739e1 more fixes after rebase
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
pappeste 9052764980 Multiplayer
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
kberg-amzn 693b205747 Removing debug code, and fixing vector/array not respecting replication record dirty bits
Signed-off-by: kberg-amzn <karlberg@amazon.com>
4 years ago
kberg-amzn 6518cf82d6 Merge remote-tracking branch 'origin/development' into MultiplayerDesyncsAndCorrectionFixes 4 years ago
kberg-amzn 716089e803 More fixes and some temp debugging logs
Signed-off-by: kberg-amzn <karlberg@amazon.com>
4 years ago
Olex Lozitskiy 5363105c6d
SIG/Network - Migrated legacy multiplayer per entity analytics over to O3DE Multiplayer Gem
Added a new ImGui menu under Multiplayer: "Multiplayer Entity Stats"
4 years ago
kberg-amzn b957b26b54 merging latest development
Signed-off-by: kberg-amzn <karlberg@amazon.com>
4 years ago
kberg-amzn f85e8124a9 Fixes and cleanup for recent correction changes
Signed-off-by: kberg-amzn <karlberg@amazon.com>
4 years ago
kberg-amzn 976654e809 Merging latest development
Signed-off-by: kberg-amzn <karlberg@amazon.com>
4 years ago
kberg-amzn e0d0bbfdae Changes to desync debug output to make it less stressful on bandwidth and the server, as well as some fixes to corrections on the local client
Signed-off-by: kberg-amzn <karlberg@amazon.com>
4 years ago
Esteban Papp b33a4db332 Merge branch 'development' into cmake/SPEC-2513_w4267 4 years ago
AMZN-Olex 73b9daad25 Merged development
Signed-off-by: AMZN-Olex <5432499+AMZN-Olex@users.noreply.github.com>
4 years ago
puvvadar 8612d7bce2 Fix incorrect blending math
Signed-off-by: puvvadar <puvvadar@amazon.com>
4 years ago
pappeste 0f0a6c5cd3 Multiplayer
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
AMZN-Olex a2f3066fa3 Imgui per entity works
Signed-off-by: AMZN-Olex <5432499+AMZN-Olex@users.noreply.github.com>
4 years ago
AMZN-Olex f29fd86a39 More converstion in progress
Signed-off-by: AMZN-Olex <5432499+AMZN-Olex@users.noreply.github.com>
4 years ago
puvvadar b4e8801095 Account for new blend factor calc and updated ScopedAlterTime usages
Signed-off-by: puvvadar <puvvadar@amazon.com>
4 years ago
puvvadar 08a53a3a6f Merging development to mp_lerp_jitter
Signed-off-by: puvvadar <puvvadar@amazon.com>
4 years ago
puvvadar b55bad496d Adding rewindable mechanisms to support interpolation
Signed-off-by: puvvadar <puvvadar@amazon.com>
4 years ago
puvvadar ebe326f6e9 Add server side accounting for blend factor
Signed-off-by: puvvadar <puvvadar@amazon.com>
4 years ago
kberg-amzn 07a1af99ba Merge branch 'development' of https://github.com/o3de/o3de into MultiplayerWeapons 4 years ago
kberg-amzn 23a4835e48 Desync debug work
Signed-off-by: kberg-amzn <karlberg@amazon.com>
4 years ago
Steve Pham 38261d0800
Shorten copyright headers by splitting into 2 lines (#2213)
* Updated all copyright headers to split the longer original copyright line into 2 shorter lines

Signed-off-by: Steve Pham <spham@amazon.com>
4 years ago
puvvadar 7950c2b549 Add target host frame ID tracking to network transform
Signed-off-by: puvvadar <puvvadar@amazon.com>
4 years ago
puvvadar 63cbb69797 Update previous transform to prevent jitter from lerping
Signed-off-by: puvvadar <puvvadar@amazon.com>
5 years ago
Steve Pham b4a2edec6a
Final update copyright headers to reference license files at the repo root (#1693)
* Final update copyright headers to reference license files at the repo root

Signed-off-by: spham <spham@amazon.com>

* Fix copyright validator unit tests to support the stale O3DE header scenario

Signed-off-by: spham <spham@amazon.com>
5 years ago
Steve Pham 70042fcdcd
O3DE Copyright Updates for Linux Foundation (#1504) 5 years ago
Gene Walters 526a0f1289 Fix for Jenkins Validation: removing tabs and removing unwanted spaces. 5 years ago
Gene Walters b9dd7a1ecd Updating IsNetEntityRole helper methods for more clarity. Also added tooltip scripting and comments for code 5 years ago
karlberg 82f9d08cfd Build fix for uniform scale changes 5 years ago
karlberg b013d7ac67 Minor cleanup 5 years ago
karlberg 8ef2bd7518 Turn off desync debug by default, as this explodes network input sizes 5 years ago
karlberg a69db3bf76 Converts physx console commands from cry console to az console, fixes some bugs in the multiplayer gem 5 years ago
karlberg e737307168 Merging latest origin/main 5 years ago
karlberg 802943bbb3 Bug fixes, naming changes to make variables more clear, and adds a cvar to adjust client window size 5 years ago
greerdv 4018bb587c update network code to use uniform scale on Transform 5 years ago
Gene Walters d948bf0a77 Moved network context methods out of MultiplayerComponent into NetBindingComponent because FindComponent did not actually work with finding base classes. +1 for the ability to test! Allow scripting to detect if a networked entity is Authory, Server, Client, or Autonomous. 5 years ago
karlberg 3dd40171cd Merging latest origin 5 years ago
Gene Walters f61b9c4081 Removing spaces in behavior context method names. While whitespace works in Lua and ScriptCanvas, the Scripting team wants to keep the script API and code API consistent (ie: no spaces) 5 years ago
karlberg 6a643392f0 Merging latest main 5 years ago
karlberg 487e989e68 Several updates to complete rewind support and remove unneeded functionality 5 years ago
Gene Walters f7dfbd3955 Merge branch 'main' into SPEC6477_NetworkContextScriptCanvas 5 years ago
Gene Walters 0d207eab19 fixes minor auto-formatting issue 5 years ago
Gene Walters c4641f2594 ScriptCanvas can now check if an entity net-component is authority, autonomous, server, or client 5 years ago
puvvadar e2ade654fb Address misc feedback 5 years ago
karlberg c6ea0c0a46 Various local prediction and input processing related fixes 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
karlberg 254ad165c1 A bunch of work to get external multiplayer components to actually work 5 years ago
karlberg d0b006c209 Some cleanup to better support backward reconciliation as well as dynamic player spawning on connect 5 years ago
karlberg 80f6dcd258 Build fixes for android 5 years ago
karlberg e8917e0f06 Fix for format string type mismatch 5 years ago
karlberg e7f0bc9ee2 Local prediction player controller is now functional 5 years ago
karlberg a1fe8fe419 Ported the local prediction player controller component 5 years ago
lumberyard-employee-dm 3dec5d3b71
LYN-2537 engine assets (#254)
* LYN-2537 Moved the Engine and Editor folder to be within the EngineAssets folder

* Fixed Documentation in bootstrap.cfg to correct the path to the user project specific registry file

* Adding a newline to the output of AssetCatalog 'Registering asset..., but type is not set' message

* Updating the AssetProcessorPlatformConfig.setreg Scan Folder to detect
the @ENGINEROOT@/EngineAssets/Engine path for engine runtime assets and
@ENGINEROOT@/EngineAssets/Editor path for engine tool assets

* Updating references to Icons and other assets to account for moving the
Engine and Editor folder under a single EngineAssets folder

* Moving the Engine Settings Registry folder from Engine/Registry -> Registry

* Removed the LY_PROJECT_CMAKE_PATH define as it is not portable to other locations. It is hard coded to the project location that was used for the CMake configuration. Furthermore it paths with backslashes within it are treated as escape characters and not a path separator

* Updated the LyTestTools asset_processor.py script to copy the exclude.filetag from the EngineAssets/Engine directory now

* Fixed Atom Shader Preprocessing when running using an External Project

* Updated the TSGenerateAction.cpp to fix the build error with using a renamed variable

* Updated the Install_Common.cmake ly_setup_others function to install the
EngineAssets directory and the each of the Gem's Assets directory while
maintaining the relative directory structure to the Engine Root
Also updated the install step to install the Registry folder at the
engine root

* Fixed the copying of the Registry folder to be in the install root, instead of under a second 'Registry' folder

* Moving the AssetProcessorPlatformConfig.setreg file over to the Registry folder

* Updated the LyTestTools and C++ code to point that the new location of
the AssetProcessorPlatformConfig.setreg file inside of the Registry
folder

* Renamed Test AssetProcessor*Config.ini files to have the .setreg extension

* Converted the AssetProcessor test setreg files from ini format to json
format using the SerializeContextTools convert-ini command

* Updated the AssetProcessor CMakeLists.txt to copy over the test setreg files to the build folder

* Updated the assetprocessor test file list to point at the renamed AsssetProcessor*Config setreg filenames

* Removed the Output Prefix code from the AssetProcessor. The complexity that it brought to the AP code is not needed, as users can replicate the behavior by just moving there assets underneath a another folder, underneath the scan folder

* Adding back support to read the AssetProcessorPlatformConfig.setreg file from the asset root. This is only needed for C++ UnitTests as they run in an environment where the accessing the Engine Settings Registry is not available

* Updating the Install_common.cmake logic to copy any "Assets" folder to
the install layout.
The Script has also been updated to copy over the "Assets" folder in the
Engine Root to the install layout instead of an "EngineAssets" folder

* Updating References to EngineAssets source asset folder in code to be the Assets source folder

* Moved the Engine Source Asset folder of 'EngineAssets' to a new folder name of 'Assets'. This is inline with the naming scheme we use for Gem asset folders

* Adding the EngineFinder.cmake to the AutomatedTesting project to allow it to work in a project centric manner

* Updating the LyTestTools copy_assets_to_project function to be able to copy assets with folders to the temporary project root
Fixed an issue in LyTestTools where the temporary log directory could have shutil.rmtree being called twice on it leading to an exception which fails an automated test

Updated the asset_procesor_gui_tests_2 AddScanFolder test to not use the
output prefix, but instead place the source asset root into a
subdirectory

* Correct the AssetProcessorPlatformConfig Scan Folders for the EngineAssets directory to point at the Assets directory

* Updated the asset procesor batch dependency test scan folder to point at the 'Assets' folder instead of 'EngineAssets'
5 years ago
karlberg 2fc710d73b Addressing PR feedback 5 years ago
karlberg 590785e4ad Stats are up, but require a ton of presentation polish to be more useful 5 years ago
karlberg c8bc5b7463 Initial work on multiple gem multiplayer components 5 years ago
karlberg f26d7f9301 First crack at the multiplayer component registry to allow multiplayer components to live in any gem 5 years ago
karlberg 45faa26ffd Some initial updates for eventual support of locally predicted input processing 5 years ago
karlberg ca3df5d6c8 Various bug fixes to get entity replication working 5 years ago
alexpete 1044dc3da1 Integrating github/staging through commit ab87ed9 5 years ago
alexpete c2cbd430fe Integrating up through commit 90f050496 5 years ago
alexpete 75dc720198 Integrating latest 47acbe8 5 years ago