// Copyright Epic Games, Inc. All Rights Reserved. /*=========================================================================== Generated code exported from UnrealHeaderTool. DO NOT modify this manually! Edit the corresponding .h files instead! ===========================================================================*/ #include "UObject/GeneratedCppIncludes.h" #include "Settings/ChaosVDGeneralSettings.h" PRAGMA_DISABLE_DEPRECATION_WARNINGS static_assert(!UE_WITH_CONSTINIT_UOBJECT, "This generated code can only be compiled with !UE_WITH_CONSTINIT_OBJECT"); void EmptyLinkFunctionForGeneratedCodeChaosVDGeneralSettings() {} // ********** Begin Cross Module References ******************************************************** CHAOSVD_API UClass* Z_Construct_UClass_UChaosVDGeneralSettings(); CHAOSVD_API UClass* Z_Construct_UClass_UChaosVDGeneralSettings_NoRegister(); CHAOSVD_API UClass* Z_Construct_UClass_UChaosVDSettingsObjectBase(); CHAOSVDRUNTIME_API UEnum* Z_Construct_UEnum_ChaosVDRuntime_EChaosVDTransportMode(); UPackage* Z_Construct_UPackage__Script_ChaosVD(); // ********** End Cross Module References ********************************************************** // ********** Begin Class UChaosVDGeneralSettings ************************************************** FClassRegistrationInfo Z_Registration_Info_UClass_UChaosVDGeneralSettings; UClass* UChaosVDGeneralSettings::GetPrivateStaticClass() { using TClass = UChaosVDGeneralSettings; if (!Z_Registration_Info_UClass_UChaosVDGeneralSettings.InnerSingleton) { GetPrivateStaticClassBody( TClass::StaticPackage(), TEXT("ChaosVDGeneralSettings"), Z_Registration_Info_UClass_UChaosVDGeneralSettings.InnerSingleton, StaticRegisterNativesUChaosVDGeneralSettings, sizeof(TClass), alignof(TClass), TClass::StaticClassFlags, TClass::StaticClassCastFlags(), TClass::StaticConfigName(), (UClass::ClassConstructorType)InternalConstructor, (UClass::ClassVTableHelperCtorCallerType)InternalVTableHelperCtorCaller, UOBJECT_CPPCLASS_STATICFUNCTIONS_FORCLASS(TClass), &TClass::Super::StaticClass, &TClass::WithinClass::StaticClass ); } return Z_Registration_Info_UClass_UChaosVDGeneralSettings.InnerSingleton; } UClass* Z_Construct_UClass_UChaosVDGeneralSettings_NoRegister() { return UChaosVDGeneralSettings::GetPrivateStaticClass(); } struct Z_Construct_UClass_UChaosVDGeneralSettings_Statics { #if WITH_METADATA static constexpr UECodeGen_Private::FMetaDataPairParam Class_MetaDataParams[] = { { "Comment", "/**\n * General settings that controls how CVD behaves\n */" }, { "IncludePath", "Settings/ChaosVDGeneralSettings.h" }, { "ModuleRelativePath", "Private/Settings/ChaosVDGeneralSettings.h" }, { "ToolTip", "General settings that controls how CVD behaves" }, }; static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_bTrimEmptyFrames_MetaData[] = { { "Category", "Session Data Loading" }, { "Comment", "/** If true, CVD will only load frames that have solver data in them - Only takes effect before loading a file */" }, { "ModuleRelativePath", "Private/Settings/ChaosVDGeneralSettings.h" }, { "ToolTip", "If true, CVD will only load frames that have solver data in them - Only takes effect before loading a file" }, }; static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_MaxGameThreadFramesToQueueNum_MetaData[] = { { "Category", "Session Data Loading" }, { "Comment", "/** How many Game thread frames CVD should queue internally before making them available in the visualization and timeline controls - Only takes effect before loading a file */" }, { "ModuleRelativePath", "Private/Settings/ChaosVDGeneralSettings.h" }, { "ToolTip", "How many Game thread frames CVD should queue internally before making them available in the visualization and timeline controls - Only takes effect before loading a file" }, }; static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_bStreamingSystemEnabled_MetaData[] = { { "Category", "Performance | Streaming" }, { "Comment", "/** If true, CVD will only load collision geometry that is visible */" }, { "ModuleRelativePath", "Private/Settings/ChaosVDGeneralSettings.h" }, { "ToolTip", "If true, CVD will only load collision geometry that is visible" }, }; static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_StreamingBoxExtentSize_MetaData[] = { { "Category", "Performance | Streaming" }, { "Comment", "/** Extent size of the box used for calculate what should be streamed in */" }, { "ModuleRelativePath", "Private/Settings/ChaosVDGeneralSettings.h" }, { "ToolTip", "Extent size of the box used for calculate what should be streamed in" }, }; static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_bProcessPendingOperationsQueueInWorkerThread_MetaData[] = { { "Category", "Performance | Streaming" }, { "Comment", "/** If set to true CVD will process any updates to the streaming accel structure in worker threads, in between streaming updates */" }, { "ModuleRelativePath", "Private/Settings/ChaosVDGeneralSettings.h" }, { "ToolTip", "If set to true CVD will process any updates to the streaming accel structure in worker threads, in between streaming updates" }, }; static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_bUpdateSceneOutlinerDuringPlayback_MetaData[] = { { "Category", "Performance | Scene Outliner" }, { "Comment", "/** If set to true CVD will keep the scene outliner up to date as the recording is played. If during the recording a\n\x09 * significant amount of objects are loaded/unloaded, the performance impact will be significant enough to degrade the playback stability. */" }, { "ModuleRelativePath", "Private/Settings/ChaosVDGeneralSettings.h" }, { "ToolTip", "If set to true CVD will keep the scene outliner up to date as the recording is played. If during the recording a\nsignificant amount of objects are loaded/unloaded, the performance impact will be significant enough to degrade the playback stability." }, }; static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_MaxConnectionRetries_MetaData[] = { { "Category", "Connection" }, { "Comment", "/** How many times CVD will attempt to connect to a live trace or load from file session if the first attempt failed */" }, { "ModuleRelativePath", "Private/Settings/ChaosVDGeneralSettings.h" }, { "ToolTip", "How many times CVD will attempt to connect to a live trace or load from file session if the first attempt failed" }, }; static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_DataTransportModeOverride_MetaData[] = { { "Comment", "/** [DEBUG Setting] Data Transport Override - Used to change the transport mode for the trace data for testing. This is not saved by design */" }, { "ModuleRelativePath", "Private/Settings/ChaosVDGeneralSettings.h" }, { "ToolTip", "[DEBUG Setting] Data Transport Override - Used to change the transport mode for the trace data for testing. This is not saved by design" }, }; static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_bSaveMemoryTracesToDisk_MetaData[] = { { "Category", "Connection" }, { "Comment", "/** [DEBUG Setting] If True, any traces done to memory will also be saved to disk at the same time in the Profiling folder. This is not saved by design */" }, { "ModuleRelativePath", "Private/Settings/ChaosVDGeneralSettings.h" }, { "ToolTip", "[DEBUG Setting] If True, any traces done to memory will also be saved to disk at the same time in the Profiling folder. This is not saved by design" }, }; #endif // WITH_METADATA // ********** Begin Class UChaosVDGeneralSettings constinit property declarations ****************** static void NewProp_bTrimEmptyFrames_SetBit(void* Obj); static const UECodeGen_Private::FBoolPropertyParams NewProp_bTrimEmptyFrames; static const UECodeGen_Private::FIntPropertyParams NewProp_MaxGameThreadFramesToQueueNum; static void NewProp_bStreamingSystemEnabled_SetBit(void* Obj); static const UECodeGen_Private::FBoolPropertyParams NewProp_bStreamingSystemEnabled; static const UECodeGen_Private::FFloatPropertyParams NewProp_StreamingBoxExtentSize; static void NewProp_bProcessPendingOperationsQueueInWorkerThread_SetBit(void* Obj); static const UECodeGen_Private::FBoolPropertyParams NewProp_bProcessPendingOperationsQueueInWorkerThread; static void NewProp_bUpdateSceneOutlinerDuringPlayback_SetBit(void* Obj); static const UECodeGen_Private::FBoolPropertyParams NewProp_bUpdateSceneOutlinerDuringPlayback; static const UECodeGen_Private::FIntPropertyParams NewProp_MaxConnectionRetries; static const UECodeGen_Private::FBytePropertyParams NewProp_DataTransportModeOverride_Underlying; static const UECodeGen_Private::FEnumPropertyParams NewProp_DataTransportModeOverride; static void NewProp_bSaveMemoryTracesToDisk_SetBit(void* Obj); static const UECodeGen_Private::FBoolPropertyParams NewProp_bSaveMemoryTracesToDisk; static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[]; // ********** End Class UChaosVDGeneralSettings constinit property declarations ******************** static UObject* (*const DependentSingletons[])(); static constexpr FCppClassTypeInfoStatic StaticCppClassTypeInfo = { TCppClassTypeTraits::IsAbstract, }; static const UECodeGen_Private::FClassParams ClassParams; }; // struct Z_Construct_UClass_UChaosVDGeneralSettings_Statics // ********** Begin Class UChaosVDGeneralSettings Property Definitions ***************************** void Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_bTrimEmptyFrames_SetBit(void* Obj) { ((UChaosVDGeneralSettings*)Obj)->bTrimEmptyFrames = 1; } const UECodeGen_Private::FBoolPropertyParams Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_bTrimEmptyFrames = { "bTrimEmptyFrames", nullptr, (EPropertyFlags)0x0010000000004001, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(UChaosVDGeneralSettings), &Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_bTrimEmptyFrames_SetBit, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_bTrimEmptyFrames_MetaData), NewProp_bTrimEmptyFrames_MetaData) }; const UECodeGen_Private::FIntPropertyParams Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_MaxGameThreadFramesToQueueNum = { "MaxGameThreadFramesToQueueNum", nullptr, (EPropertyFlags)0x0010000000004001, UECodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UChaosVDGeneralSettings, MaxGameThreadFramesToQueueNum), METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_MaxGameThreadFramesToQueueNum_MetaData), NewProp_MaxGameThreadFramesToQueueNum_MetaData) }; void Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_bStreamingSystemEnabled_SetBit(void* Obj) { ((UChaosVDGeneralSettings*)Obj)->bStreamingSystemEnabled = 1; } const UECodeGen_Private::FBoolPropertyParams Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_bStreamingSystemEnabled = { "bStreamingSystemEnabled", nullptr, (EPropertyFlags)0x0010000000004001, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(UChaosVDGeneralSettings), &Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_bStreamingSystemEnabled_SetBit, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_bStreamingSystemEnabled_MetaData), NewProp_bStreamingSystemEnabled_MetaData) }; const UECodeGen_Private::FFloatPropertyParams Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_StreamingBoxExtentSize = { "StreamingBoxExtentSize", nullptr, (EPropertyFlags)0x0010000000004001, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UChaosVDGeneralSettings, StreamingBoxExtentSize), METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_StreamingBoxExtentSize_MetaData), NewProp_StreamingBoxExtentSize_MetaData) }; void Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_bProcessPendingOperationsQueueInWorkerThread_SetBit(void* Obj) { ((UChaosVDGeneralSettings*)Obj)->bProcessPendingOperationsQueueInWorkerThread = 1; } const UECodeGen_Private::FBoolPropertyParams Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_bProcessPendingOperationsQueueInWorkerThread = { "bProcessPendingOperationsQueueInWorkerThread", nullptr, (EPropertyFlags)0x0010000000004001, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(UChaosVDGeneralSettings), &Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_bProcessPendingOperationsQueueInWorkerThread_SetBit, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_bProcessPendingOperationsQueueInWorkerThread_MetaData), NewProp_bProcessPendingOperationsQueueInWorkerThread_MetaData) }; void Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_bUpdateSceneOutlinerDuringPlayback_SetBit(void* Obj) { ((UChaosVDGeneralSettings*)Obj)->bUpdateSceneOutlinerDuringPlayback = 1; } const UECodeGen_Private::FBoolPropertyParams Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_bUpdateSceneOutlinerDuringPlayback = { "bUpdateSceneOutlinerDuringPlayback", nullptr, (EPropertyFlags)0x0010000000004001, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(UChaosVDGeneralSettings), &Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_bUpdateSceneOutlinerDuringPlayback_SetBit, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_bUpdateSceneOutlinerDuringPlayback_MetaData), NewProp_bUpdateSceneOutlinerDuringPlayback_MetaData) }; const UECodeGen_Private::FIntPropertyParams Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_MaxConnectionRetries = { "MaxConnectionRetries", nullptr, (EPropertyFlags)0x0010000000004001, UECodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UChaosVDGeneralSettings, MaxConnectionRetries), METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_MaxConnectionRetries_MetaData), NewProp_MaxConnectionRetries_MetaData) }; const UECodeGen_Private::FBytePropertyParams Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_DataTransportModeOverride_Underlying = { "UnderlyingType", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Byte, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, nullptr, METADATA_PARAMS(0, nullptr) }; const UECodeGen_Private::FEnumPropertyParams Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_DataTransportModeOverride = { "DataTransportModeOverride", nullptr, (EPropertyFlags)0x0010000000000000, UECodeGen_Private::EPropertyGenFlags::Enum, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UChaosVDGeneralSettings, DataTransportModeOverride), Z_Construct_UEnum_ChaosVDRuntime_EChaosVDTransportMode, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_DataTransportModeOverride_MetaData), NewProp_DataTransportModeOverride_MetaData) }; // 2064410119 void Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_bSaveMemoryTracesToDisk_SetBit(void* Obj) { ((UChaosVDGeneralSettings*)Obj)->bSaveMemoryTracesToDisk = 1; } const UECodeGen_Private::FBoolPropertyParams Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_bSaveMemoryTracesToDisk = { "bSaveMemoryTracesToDisk", nullptr, (EPropertyFlags)0x0010000000000001, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(UChaosVDGeneralSettings), &Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_bSaveMemoryTracesToDisk_SetBit, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_bSaveMemoryTracesToDisk_MetaData), NewProp_bSaveMemoryTracesToDisk_MetaData) }; const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UClass_UChaosVDGeneralSettings_Statics::PropPointers[] = { (const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_bTrimEmptyFrames, (const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_MaxGameThreadFramesToQueueNum, (const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_bStreamingSystemEnabled, (const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_StreamingBoxExtentSize, (const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_bProcessPendingOperationsQueueInWorkerThread, (const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_bUpdateSceneOutlinerDuringPlayback, (const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_MaxConnectionRetries, (const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_DataTransportModeOverride_Underlying, (const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_DataTransportModeOverride, (const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UChaosVDGeneralSettings_Statics::NewProp_bSaveMemoryTracesToDisk, }; static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_UChaosVDGeneralSettings_Statics::PropPointers) < 2048); // ********** End Class UChaosVDGeneralSettings Property Definitions ******************************* UObject* (*const Z_Construct_UClass_UChaosVDGeneralSettings_Statics::DependentSingletons[])() = { (UObject* (*)())Z_Construct_UClass_UChaosVDSettingsObjectBase, (UObject* (*)())Z_Construct_UPackage__Script_ChaosVD, }; static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_UChaosVDGeneralSettings_Statics::DependentSingletons) < 16); const UECodeGen_Private::FClassParams Z_Construct_UClass_UChaosVDGeneralSettings_Statics::ClassParams = { &UChaosVDGeneralSettings::StaticClass, "ChaosVD", &StaticCppClassTypeInfo, DependentSingletons, nullptr, Z_Construct_UClass_UChaosVDGeneralSettings_Statics::PropPointers, nullptr, UE_ARRAY_COUNT(DependentSingletons), 0, UE_ARRAY_COUNT(Z_Construct_UClass_UChaosVDGeneralSettings_Statics::PropPointers), 0, 0x000004A4u, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UChaosVDGeneralSettings_Statics::Class_MetaDataParams), Z_Construct_UClass_UChaosVDGeneralSettings_Statics::Class_MetaDataParams) }; void UChaosVDGeneralSettings::StaticRegisterNativesUChaosVDGeneralSettings() { } UClass* Z_Construct_UClass_UChaosVDGeneralSettings() { if (!Z_Registration_Info_UClass_UChaosVDGeneralSettings.OuterSingleton) { UECodeGen_Private::ConstructUClass(Z_Registration_Info_UClass_UChaosVDGeneralSettings.OuterSingleton, Z_Construct_UClass_UChaosVDGeneralSettings_Statics::ClassParams); } return Z_Registration_Info_UClass_UChaosVDGeneralSettings.OuterSingleton; } UChaosVDGeneralSettings::UChaosVDGeneralSettings() {} DEFINE_VTABLE_PTR_HELPER_CTOR_NS(, UChaosVDGeneralSettings); UChaosVDGeneralSettings::~UChaosVDGeneralSettings() {} // ********** End Class UChaosVDGeneralSettings **************************************************** // ********** Begin Registration ******************************************************************* struct Z_CompiledInDeferFile_FID_Engine_Plugins_ChaosVD_Source_ChaosVD_Private_Settings_ChaosVDGeneralSettings_h__Script_ChaosVD_Statics { static constexpr FClassRegisterCompiledInInfo ClassInfo[] = { { Z_Construct_UClass_UChaosVDGeneralSettings, UChaosVDGeneralSettings::StaticClass, TEXT("UChaosVDGeneralSettings"), &Z_Registration_Info_UClass_UChaosVDGeneralSettings, CONSTRUCT_RELOAD_VERSION_INFO(FClassReloadVersionInfo, sizeof(UChaosVDGeneralSettings), 1519275838U) }, }; }; // Z_CompiledInDeferFile_FID_Engine_Plugins_ChaosVD_Source_ChaosVD_Private_Settings_ChaosVDGeneralSettings_h__Script_ChaosVD_Statics static FRegisterCompiledInInfo Z_CompiledInDeferFile_FID_Engine_Plugins_ChaosVD_Source_ChaosVD_Private_Settings_ChaosVDGeneralSettings_h__Script_ChaosVD_3382091913{ TEXT("/Script/ChaosVD"), Z_CompiledInDeferFile_FID_Engine_Plugins_ChaosVD_Source_ChaosVD_Private_Settings_ChaosVDGeneralSettings_h__Script_ChaosVD_Statics::ClassInfo, UE_ARRAY_COUNT(Z_CompiledInDeferFile_FID_Engine_Plugins_ChaosVD_Source_ChaosVD_Private_Settings_ChaosVDGeneralSettings_h__Script_ChaosVD_Statics::ClassInfo), nullptr, 0, nullptr, 0, }; // ********** End Registration ********************************************************************* PRAGMA_ENABLE_DEPRECATION_WARNINGS