Move the FPlatformInputDeviceState and EInputDeviceConnectionState declarations to the CoreMiscDefines file so that they can be correctly exported in the NoExports.h file. We need them to be in a different file than the base GenericPlatformInputDeviceMapper.h because we need to keep the APPLICATIONCORE_API on that class, which is not available in the NoExports.h file.
#jira UE-147801
#rb trivial
#rnx
#preflight 62632b02d4489684ed592c34
[CL 19902249 by ben hoffman in ue5-main branch]
#p4v-cherrypick 19897004
#ROBOMERGE-AUTHOR: james.doverspike
#ROBOMERGE-SOURCE: CL 19896998 via CL 19897000 via CL 19897003 via CL 19897308 via CL 19897311
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)
[CL 19897438 by james doverspike in ue5-main branch]
- Create the FInputDeviceID struct, which represents a single input device such as a gamepad, keyboard, or mouse. These are globally unique, and allocated by the Platform Input Device Mapper. This struct will replace the old "int32 ControllerID" that is used in various places to provide some type safety and maintainability.
- Functions to query all the currently connected devices on a given platform, as well as get their current state and owning platform users. These can be exposed to blueprints via the local player, game instance, or even a subsystem in the future. See UE-147801 for progress on Blueprint Support.
- New delegates for the ConnectionChange and PairingChange of a gamepad device that utilize the new FInputDeviceId and FPlatformUserId
- Add functions to the GenericApplicationMessageHandler for the "OnController_X" functions. These will be implemented later when I can replace the old uses of the "int32 ControllerId". See UE-147796.
#jira UE-147798
#rb David.Harvey
#preflight 62617c186971732e1318d0ec
[CL 19851010 by ben hoffman in ue5-main branch]
#rb none
#ROBOMERGE-AUTHOR: john.barrett
#ROBOMERGE-SOURCE: CL 19573269 via CL 19573278 via CL 19573287 via CL 19573292
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)
[CL 19575899 by john barrett in ue5-main branch]
Set CanBeUsedOnAnyThread() to true and move to single printf in Serialize
#rnx
#jira UE-147459
#review-19549147 @Brandon.Schaefer, @Robert.Seiver
#preflight none
[CL 19549852 by Michael Sartain in ue5-main branch]
Panic allows only one thread to become the panic thread. In panic mode, logs are only sent to panic-safe output devices. Each call to Panic flushes buffered logs to panic-safe output devices, and flushes panic-safe output devices.
#jira UE-147152
#preflight 62424814292f228e09d8a612
#rb Zousar.Shaker
#fyi Brandon.Schaefer
[CL 19545093 by Devin Doucette in ue5-main branch]
Sometimes the active window seems to be confused on Mac. This works around
the issue so that we will activate another window when a menu closes.
#jira UE-141354, UE-144097
#rnx
[REVIEW] [at]will.damon
#lockdown cristina.riveron
#preflight none
#ROBOMERGE-AUTHOR: dave.hunter
#ROBOMERGE-SOURCE: CL 19246118 in //UE5/Release-5.0/... via CL 19249226
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)
[CL 19263172 by dave hunter in ue5-main branch]
CocoaWindows now store their Type. This is used so that we can make sure that we can call OnWindowActivationChanged
when the menu closes. This is needed to restore focus in the main window after the menu is triggered. Several other
utility windows are now not treated as main windows.
[REVIEW] will.damon
#jira UE-139065
#rnx
#preflight n/a
#lockdown cristina.riveron
#ROBOMERGE-AUTHOR: dave.hunter
#ROBOMERGE-SOURCE: CL 19093114 via CL 19093772 via CL 19094565 via CL 19096071 via CL 19105329
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)
[CL 19146632 by dave hunter in ue5-main branch]