Repository: ianpatt/sfse Branch: master Commit: cad2464ca0b1 Files: 134 Total size: 1.7 MB Directory structure: gitextract_3s2zrmmm/ ├── .github/ │ └── workflows/ │ └── testbuild.yaml ├── .gitignore ├── CMakeLists.txt ├── LICENSE ├── README.md ├── cmake/ │ ├── configuration.cmake │ ├── installation.cmake │ └── versioning.cmake ├── sfse/ │ ├── CMakeLists.txt │ ├── GameChargen.cpp │ ├── GameChargen.h │ ├── GameConsole.cpp │ ├── GameConsole.h │ ├── GameData.cpp │ ├── GameData.h │ ├── GameEvents.h │ ├── GameExtraData.cpp │ ├── GameExtraData.h │ ├── GameFormComponents.h │ ├── GameForms.cpp │ ├── GameForms.h │ ├── GameLock.cpp │ ├── GameLock.h │ ├── GameMemory.cpp │ ├── GameMemory.h │ ├── GameMenu.h │ ├── GameObjects.h │ ├── GameRTTI.cpp │ ├── GameRTTI.h │ ├── GameRTTI.inl │ ├── GameReferences.h │ ├── GameReflection.h │ ├── GameScript.cpp │ ├── GameScript.h │ ├── GameSettings.cpp │ ├── GameSettings.h │ ├── GameSingleton.h │ ├── GameStreams.h │ ├── GameTypes.cpp │ ├── GameTypes.h │ ├── GameUI.cpp │ ├── GameUI.h │ ├── Hooks_Command.cpp │ ├── Hooks_Command.h │ ├── Hooks_Data.cpp │ ├── Hooks_Data.h │ ├── Hooks_Scaleform.cpp │ ├── Hooks_Scaleform.h │ ├── Hooks_Script.cpp │ ├── Hooks_Script.h │ ├── Hooks_Serialization.cpp │ ├── Hooks_Serialization.h │ ├── Hooks_Version.cpp │ ├── Hooks_Version.h │ ├── NiExtraData.cpp │ ├── NiExtraData.h │ ├── NiObject.cpp │ ├── NiObject.h │ ├── NiRTTI.cpp │ ├── NiRTTI.h │ ├── NiTypes.h │ ├── PapyrusNativeFunctions.h │ ├── PluginAPI.h │ ├── PluginManager.cpp │ ├── PluginManager.h │ ├── ScaleformFunctions.h │ ├── ScaleformLoader.h │ ├── ScaleformLog.h │ ├── ScaleformManager.h │ ├── ScaleformMemory.cpp │ ├── ScaleformMemory.h │ ├── ScaleformMovie.h │ ├── ScaleformState.h │ ├── ScaleformTranslator.h │ ├── ScaleformTypes.h │ ├── ScaleformValue.h │ ├── Serialization.cpp │ ├── Serialization.h │ ├── cmake/ │ │ └── config.cmake.in │ ├── sfse.cpp │ ├── sfse.def │ └── sfse_version.rc ├── sfse_common/ │ ├── BranchTrampoline.cpp │ ├── BranchTrampoline.h │ ├── BufferStream.cpp │ ├── BufferStream.h │ ├── CMakeLists.txt │ ├── CoreInfo.h │ ├── DataStream.cpp │ ├── DataStream.h │ ├── DirectoryIterator.cpp │ ├── DirectoryIterator.h │ ├── Errors.cpp │ ├── Errors.h │ ├── FileStream.cpp │ ├── FileStream.h │ ├── Log.cpp │ ├── Log.h │ ├── Relocation.cpp │ ├── Relocation.h │ ├── SafeWrite.cpp │ ├── SafeWrite.h │ ├── Types.h │ ├── Utilities.cpp │ ├── Utilities.h │ ├── cmake/ │ │ └── config.cmake.in │ └── sfse_version.h ├── sfse_loader/ │ ├── CMakeLists.txt │ ├── IdentifyEXE.cpp │ ├── IdentifyEXE.h │ ├── Inject.cpp │ ├── Inject.h │ ├── LoaderError.cpp │ ├── LoaderError.h │ ├── Options.cpp │ ├── Options.h │ ├── SigCheck.cpp │ ├── SigCheck.h │ ├── cmake/ │ │ └── config.cmake.in │ ├── main.cpp │ ├── sfse_loader.manifest │ └── sfse_loader_version.rc ├── sfse_readme.txt ├── sfse_whatsnew.txt └── xbyak/ ├── CMakeLists.txt ├── COPYRIGHT ├── cmake/ │ ├── config.cmake.in │ └── meson-config.cmake.in ├── readme.md ├── readme.txt └── xbyak/ ├── xbyak.h ├── xbyak_bin2hex.h ├── xbyak_mnemonic.h └── xbyak_util.h ================================================ FILE CONTENTS ================================================ ================================================ FILE: .github/workflows/testbuild.yaml ================================================ name: testbuild on: [push] jobs: run-testbuild: runs-on: windows-latest steps: - uses: actions/checkout@v2 with: path: sfse - run: cmake -B sfse/build -S sfse -DCMAKE_INSTALL_PREFIX=extern sfse - run: cmake --build sfse/build --config Release ================================================ FILE: .gitignore ================================================ # visual studio *.sdf *.opensdf *.suo .vs *.VC.db *.VC.opendb *.ncb *.user *.aps *.vspscc # build output *.tlog *.lastbuildstate *.unsuccessfulbuild *.lib *.log *.obj *.idb *.pdb *.res *.cache BuildLog.htm *.exe *.dll *.exp *.ilk # scripts scripts/build_bin scripts/build_src scripts/compiler scripts/merged # cmake build/* out/* CMakeSettings.json # update temp files sfse_update ================================================ FILE: CMakeLists.txt ================================================ cmake_minimum_required(VERSION 3.18...4.0.2) # ---- Project ---- project( umbrella LANGUAGES CXX ) # ---- Include guards ---- if(PROJECT_SOURCE_DIR STREQUAL PROJECT_BINARY_DIR) message( FATAL_ERROR "In-source builds not allowed. Please make a new directory (called a build directory) and run CMake from there." ) endif() # ---- Add sub projects ---- if (NOT TARGET sfse) add_subdirectory(sfse) endif() if (NOT TARGET sfse_common) add_subdirectory(sfse_common) endif() if (NOT TARGET sfse_loader) add_subdirectory(sfse_loader) endif() ================================================ FILE: LICENSE ================================================ This applies to sfse/PluginAPI.h: Copyright (c) 2023 Ian Patterson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ==== The remainder of the files are currently not under a permissive license. ================================================ FILE: README.md ================================================ ![testbuild](https://github.com/ianpatt/sfse/workflows/testbuild/badge.svg) ## Building ``` git clone https://github.com/ianpatt/sfse cmake -B sfse/build -S sfse cmake --build sfse/build --config Release ``` Solution will be generated at sfse/build/umbrella.sln. ## Runtime Support SFSE supports the latest version of Starfield on Steam. The MS Store/Gamepass version is not supported. No, making it so you can see the files doesn't solve the problem. ================================================ FILE: cmake/configuration.cmake ================================================ if (MSVC) set(COMPILE_OPTIONS_DEBUG /JMC # Just My Code debugging /ZI # Debug Information Format ) set(COMPILE_OPTIONS_RELEASE /Oi # Generate Intrinsic Functions /Zi # Debug Information Format ) target_compile_options( ${PROJECT_NAME} PRIVATE /MP # Build with Multiple Processes /W3 # Warning level "$<$:${COMPILE_OPTIONS_DEBUG}>" "$<$:${COMPILE_OPTIONS_RELEASE}>" ) set(LINK_OPTIONS_DEBUG /INCREMENTAL # Link Incrementally ) set(LINK_OPTIONS_RELEASE /DEBUG:FULL # Generate Debug Info /INCREMENTAL:NO # Link Incrementally /OPT:REF # Optimizations (eliminate functions/data never referenced) /OPT:ICF # Optimizations (perform identical COMDAT folding) ) target_link_options( ${PROJECT_NAME} PRIVATE "$<$:${LINK_OPTIONS_DEBUG}>" "$<$:${LINK_OPTIONS_RELEASE}>" ) endif() ================================================ FILE: cmake/installation.cmake ================================================ option(SFSE_COPY_OUTPUT "Copies output files to the starfield directory" OFF) if (SFSE_COPY_OUTPUT) add_custom_command( TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $ "$ENV{StarfieldPath}" COMMAND ${CMAKE_COMMAND} -E copy $ "$ENV{StarfieldPath}" ) endif() ================================================ FILE: cmake/versioning.cmake ================================================ set(SFSE_VERSION_MAJOR 0) set(SFSE_VERSION_MINOR 2) set(SFSE_VERSION_PATCH 19) set(RUNTIME_VERSION_MAJOR 1) set(RUNTIME_VERSION_MINOR 16) set(RUNTIME_VERSION_PATCH 236) set(RUNTIME_VERSION_TYPE 0) math( EXPR RUNTIME_VERSION_PACKED "((${RUNTIME_VERSION_MAJOR} & 0xFF) << 24) | ((${RUNTIME_VERSION_MINOR} & 0xFF) << 16) | ((${RUNTIME_VERSION_PATCH} & 0xFFF) << 4) | (${RUNTIME_VERSION_TYPE} & 0xF)" OUTPUT_FORMAT HEXADECIMAL ) ================================================ FILE: sfse/CMakeLists.txt ================================================ cmake_minimum_required(VERSION 3.18...4.0.2) # ---- Project ---- include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/versioning.cmake) project( sfse VERSION ${SFSE_VERSION_MAJOR}.${SFSE_VERSION_MINOR}.${SFSE_VERSION_PATCH} LANGUAGES CXX ) # ---- Include guards ---- if(PROJECT_SOURCE_DIR STREQUAL PROJECT_BINARY_DIR) message( FATAL_ERROR "In-source builds not allowed. Please make a new directory (called a build directory) and run CMake from there." ) endif() # ---- Build options ---- set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON) set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_DEBUG OFF) # ---- Dependencies ---- if (NOT TARGET sfse_common) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../sfse_common sfse_common) # bundled endif() if (NOT TARGET xbyak) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../xbyak xbyak) # bundled endif() # ---- Add source files ---- file(GLOB headers CONFIGURE_DEPENDS *.h) file(GLOB sources CONFIGURE_DEPENDS *.cpp) source_group( ${PROJECT_NAME} FILES sfse.cpp sfse.def sfse_version.rc ) source_group( ${PROJECT_NAME}/api FILES GameChargen.cpp GameChargen.h GameData.cpp GameData.h GameConsole.cpp GameConsole.h GameEvents.h GameExtraData.cpp GameExtraData.h GameFormComponents.h GameForms.cpp GameForms.h GameLock.cpp GameLock.h GameMemory.cpp GameMemory.h GameMenu.h GameObjects.h GameReferences.h GameReflection.h GameRTTI.cpp GameRTTI.h GameRTTI.inl GameScript.cpp GameScript.h GameSettings.cpp GameSettings.h GameStreams.h GameSingleton.h GameTypes.cpp GameTypes.h GameUI.cpp GameUI.h NiExtraData.cpp NiExtraData.h NiObject.cpp NiObject.h NiRTTI.cpp NiRTTI.h ) source_group( ${PROJECT_NAME}/hooks FILES Hooks_Data.cpp Hooks_Data.h Hooks_Version.cpp Hooks_Version.h Hooks_Script.cpp Hooks_Script.h Hooks_Scaleform.cpp Hooks_Scaleform.h Hooks_Command.cpp Hooks_Command.h Hooks_Serialization.cpp Hooks_Serialization.h ) source_group( ${PROJECT_NAME}/internal FILES PluginAPI.h PluginManager.cpp PluginManager.h Serialization.cpp Serialization.h ) source_group( ${PROJECT_NAME}/netimmerse FILES NiTypes.h ) source_group( ${PROJECT_NAME}/papyrus/functions FILES ) source_group( ${PROJECT_NAME}/papyrus/vm FILES PapyrusNativeFunctions.h ) source_group( ${PROJECT_NAME}/scaleform FILES ScaleformFunctions.h ScaleformLog.h ScaleformMemory.cpp ScaleformMemory.h ScaleformMovie.h ScaleformState.h ScaleformTypes.h ScaleformValue.h ScaleformLoader.h ScaleformManager.h ScaleformTranslator.h ) # ---- Create library ---- add_library( ${PROJECT_NAME} SHARED ${headers} ${sources} sfse.def sfse_version.rc ) add_library(sfse64::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/configuration.cmake) set_target_properties( ${PROJECT_NAME} PROPERTIES OUTPUT_NAME "${PROJECT_NAME}_${RUNTIME_VERSION_MAJOR}_${RUNTIME_VERSION_MINOR}_${RUNTIME_VERSION_PATCH}" ) target_compile_definitions( ${PROJECT_NAME} PRIVATE RUNTIME RUNTIME_VERSION=${RUNTIME_VERSION_PACKED} ) target_compile_features( ${PROJECT_NAME} PUBLIC cxx_std_17 ) target_include_directories( ${PROJECT_NAME} PUBLIC $ $ ) target_link_libraries( ${PROJECT_NAME} PUBLIC sfse::sfse_common xbyak::xbyak ) target_compile_options( ${PROJECT_NAME} PUBLIC /wd4200 ) # ---- Configure all targets ---- set_target_properties( ${PROJECT_NAME} sfse_common PROPERTIES MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>DLL" ) # ---- Create an installable target ---- include(GNUInstallDirs) install( TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}-targets ) install( FILES ${headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} ) configure_file( cmake/config.cmake.in ${PROJECT_NAME}-config.cmake @ONLY ) install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} ) install( EXPORT ${PROJECT_NAME}-targets NAMESPACE sfse:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} ) include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/installation.cmake) ================================================ FILE: sfse/GameChargen.cpp ================================================ #include "sfse/GameChargen.h" RelocPtr TESNPCData::g_actorCheckpoint(0x061F7618); ================================================ FILE: sfse/GameChargen.h ================================================ #pragma once #include "sfse/GameUI.h" #include "sfse/GameSingleton.h" #include "sfse_common/Relocation.h" #include "sfse_common/Utilities.h" #include "sfse/NiTypes.h" class MenuActor; namespace TESNPCData { class ChargenDataModel : public IDataModel, public BSTSingletonSDM { public: virtual ~ChargenDataModel(); static ChargenDataModel* GetSingleton() { RelocPtr singleton(0x061EA138); return *singleton; } // Contains main UI data model wrappers, decode these later // This function will pull data from the TESNPC into this wrapper DEFINE_MEMBER_FN_1(Update, void, 0x016388A0, MenuActor*); // unk2 removed in 1.9.51 }; extern RelocPtr g_actorCheckpoint; } namespace BGSCharacterMorph { class FacialBoneSlider { public: FacialBoneSlider() : ID(0), unk54(-1), unk58(0), unk40(""), unk48("") { } virtual ~FacialBoneSlider() { }; virtual const BSFixedString& GetName() { return BSFixedString::Empty(); }; virtual void Unk_02() { }; virtual bool IsZeroToOne() { return true; }; virtual void Unk_04(bool a_arg1) { }; virtual const char* Unk_05() { return BSFixedStringCS::Empty().c_str(); }; virtual void Unk_06(const char* a_arg1) { }; DEFINE_STATIC_HEAP(Heap_Allocate, Heap_Free) struct SliderExtents { struct Extents { NiPoint3 Position; NiPoint3 Rotation; NiPoint3 Scale; }; Extents Minima; Extents Maxima; DEFINE_STATIC_HEAP(Heap_Allocate, Heap_Free) }; BSTHashMap BoneExtentMap; // 08 BSFixedString unk40; // 40 BSFixedStringCS unk48; // 48 u32 ID; // 50 s32 unk54; // 54 s64 unk58; // 58 }; static_assert(sizeof(FacialBoneSlider::SliderExtents) == 0x48); static_assert(sizeof(FacialBoneSlider) == 0x60); class FacialBoneSculptSlider : public FacialBoneSlider { public: FacialBoneSculptSlider() : unk60(""), unk68(""), zeroToOne(false) { } virtual ~FacialBoneSculptSlider() { }; virtual const BSFixedString& GetName() override { return unk60; }; virtual void Unk_02() override { }; virtual bool IsZeroToOne() override { return zeroToOne; }; virtual void Unk_04(bool a_arg1) override { zeroToOne = a_arg1; }; virtual const char* Unk_05() override { return unk68.c_str(); }; // ret 0x68 cstring virtual void Unk_06(const char* a_arg1) override { unk68 = a_arg1; }; // set 0x68 cstring BSFixedString unk60; // 60 BSFixedStringCS unk68; // 68 bool zeroToOne; // 70 }; static_assert(sizeof(FacialBoneSculptSlider) == 0x78); } ================================================ FILE: sfse/GameConsole.cpp ================================================ #include "sfse/GameConsole.h" #include RelocPtr g_console(0x061E7540); void Console_Print(const char* fmt, ...) { ConsoleLog* mgr = *g_console; if (mgr) { va_list args; va_start(args, fmt); mgr->VPrint(fmt, args); va_end(args); } } ================================================ FILE: sfse/GameConsole.h ================================================ #pragma once #include "sfse_common/Relocation.h" #include "sfse_common/Utilities.h" class ConsoleLog { public: DEFINE_MEMBER_FN_2(VPrint, void, 0x01EAD440, const char* fmt, va_list args); }; extern RelocPtr g_console; void Console_Print(const char* fmt, ...); ================================================ FILE: sfse/GameData.cpp ================================================ #include "sfse/GameData.h" RelocPtr g_materialDatabase(0x05E84D88); ================================================ FILE: sfse/GameData.h ================================================ #pragma once #include "sfse/GameTypes.h" #include "sfse/GameForms.h" #include "sfse/GameEvents.h" #include "sfse/NiTypes.h" class TESForm; class TESRegionList; class BGSAddonNode; class TESPackedFile; class TESFile; class BGSAVMData; struct TESFileCollection { BSTArray FileA; BSTArray SmallFileA; BSTArray MediumFileA; }; class TESFile { public: virtual ~TESFile(); struct PLUGIN_HEADER { float version; u32 numRecords; u32 nextObjectID; enum Flags { kFlags_Active = (1 << 2) }; u32 flags; }; u64 unk08; void* unk10; u64 unk18; u64 unk20; u64 unk28; u64 unk30; char filePath[0x104]; // 38 u32 unk13C; u64 unk140; u64 unk148; u64 unk150; u64 unk158; u64 unk160; u64 unk168; u64 unk170; u64 unk178; u64 unk180; u64 unk188; u64 unk190; u64 unk198; u64 unk1A0; u32 unk1A8; PLUGIN_HEADER header; u32 unk1BC; BSTArray masterNames; BSTArray masterFiles; TESFileCollection fileCollection; // 1E0 u64 unkPad2; u8 cCompileIndex; // 218 u16 sSmallFileCompileIndex; // 21A u8 pad21C[10]; u16 unk226; u16 unk228; u8 unk22C[4]; u64 unk230; u16 unk238; u16 unk23A; u32 unk23C; u64 unk240; u32 unk248; u32 unk24C; char* unk250; u32 unk258; u32 unk25C; static const u8 LightIndex = 0xFE; static const u8 MediumIndex = 0xFD; static bool IsActive(u8 index) { return index != 0xFF; } static bool IsLight(u8 index) { return index == LightIndex; } static bool IsMedium(u8 index) { return index == MediumIndex; } bool IsActive() const { return IsActive(cCompileIndex); } bool IsLight() const { return IsLight(cCompileIndex); } bool IsMedium() const { return IsMedium(cCompileIndex); } }; static_assert(sizeof(TESFile) == 0x260); static_assert(offsetof(TESFile, cCompileIndex) == 0x218); static_assert(offsetof(TESFile, sSmallFileCompileIndex) == 0x21A); class TESPackedFile : public TESFile { public: virtual ~TESPackedFile(); u64 unk250[(0x3C8 - 0x260) >> 3]; }; static_assert(sizeof(TESPackedFile) == 0x3C8); class TESDataHandler : public BSTEventSource { public: virtual ~TESDataHandler(); struct FormItem { u64 unk00; BSTArray pFormsA; }; void* unk28; // BSService::Detail::TService>> u64 unk30; u64 unk38; u64 unk40; u64 unk48; u64 unk50; u64 unk58; u64 unk60; u64 unk68; FormItem pFormArray[static_cast(FormType::kTotal)]; // 70 u64 unk14E0; TESRegionList* regionList; BSTArray unk14F0; u64 unk1500; NiTPrimitiveArray unk1508; u64 unk1520; u64 unk1528; u64 unk1530; u64 unk1538; u64 unk1540; u64 unk1548; u64 unk1550; u64 unk1558; u64 unk1560; u64 unk1568; BSSimpleList listFiles; // 1570 TESFileCollection CompiledFileCollection; // 1580 u64 unk1578[(0x17C8 - 0x15B0) >> 3]; static TESDataHandler* GetSingleton() { RelocPtr singleton(0x05FE18A8); return *singleton; } uint32_t GetSubIndex(const TESFile* file) const { if (!file->IsActive()) return -1; if (file->IsLight()) { return file->sSmallFileCompileIndex; } else if (file->IsMedium()) { int32_t foundIndex = -1; for(uint32_t i = 0; i < CompiledFileCollection.MediumFileA.size(); ++i) { if (file == CompiledFileCollection.MediumFileA[i]) { foundIndex = i; break; } } return foundIndex; } return file->cCompileIndex; } const TESFile* GetModByFormId(const uint32_t formId) { uint8_t modIndex = formId >> 24; uint16_t middleIndex = (formId >> 12) & 0xFFF; if (TESFile::IsLight(modIndex)) { if (middleIndex < CompiledFileCollection.SmallFileA.size()) { return CompiledFileCollection.SmallFileA[middleIndex]; } } else if (TESFile::IsMedium(modIndex)) { if (middleIndex < CompiledFileCollection.MediumFileA.size()) { return CompiledFileCollection.MediumFileA[middleIndex]; } } else if (modIndex < CompiledFileCollection.FileA.size()) { return CompiledFileCollection.FileA[modIndex]; } return nullptr; } }; static_assert(offsetof(TESDataHandler, pFormArray) == 0x70); static_assert(offsetof(TESDataHandler, listFiles) == 0x1570); static_assert(offsetof(TESDataHandler, CompiledFileCollection) == 0x1580); struct MaterialDatabase { BSTHashMap materialMaps[3]; // Simple, Complex, Modulation BSTHashMap fullMap; // This is probably a set, every value is 0 }; extern RelocPtr g_materialDatabase; ================================================ FILE: sfse/GameEvents.h ================================================ #pragma once #include "sfse/GameTypes.h" #include "sfse_common/Utilities.h" class Actor; struct BGSHotloadCompletedEvent {}; // BSTGlobalEvent struct SnapTemplateUtils { struct SnapReplaceEvent {}; }; struct ImageFixtureEvent_RequestImage {}; struct ImageFixtureEvent_UnregisterImage {}; struct Spaceship { struct TakeOffEvent {}; struct PlayerMovementOutputEvent {}; struct GravJumpEvent {}; struct LandedSetEvent {}; struct BoughtEvent {}; struct ContrabandScanWarningEvent {}; struct DockEvent {}; struct DynamicNavmeshCompleted {}; struct FarTravelEvent {}; struct LandingEvent {}; struct PlanetScanEvent {}; struct RampDownEvent {}; struct RefueledEvent {}; struct RegisteredEvent {}; struct ShieldEvent {}; struct ShipAddedEvent {}; struct ShipCollisionEvent {}; struct ShipCustomizedEvent {}; struct SoldEvent {}; struct SystemDamagedEvent {}; struct SystemPowerAllocationEvent {}; struct SystemPowerChangeEvent {}; struct SystemRepairedBIEvent {}; struct SystemRepairedEvent {}; struct TakeDamagEvent {}; }; struct HUDActivityIncreaseEvent {}; struct AnimationDataCleanupEvent {}; struct AnimationDataSetupEvent {}; struct EndLoadGameEvent {}; struct StartLoadGameEvent {}; struct ShipEditor_SystemSelected {}; struct ShipEditor_PreviewUpgrade {}; struct ShipEditor_SelectedUpgrade {}; struct RuntimeComponentDBFactory { struct ReferenceAttach {}; struct ReferenceDetach {}; struct ReferenceCleared3d {}; struct ReferenceDestroy {}; struct ReferenceInit {}; struct ReferenceRecycle {}; struct ReferenceSet3d {}; struct Release3DRelatedData {}; }; struct WeaponGroupAssignmentMenu_ChangeWeaponAssignment {}; struct WeaponGroupAssignmentMenu_OnHintButtonActivated {}; struct ShipEditor_OnExitConfirmCancel {}; struct ShipEditor_OnExitConfirmExit {}; struct ShipEditor_OnExitConfirmSaveAndExit {}; struct ShipEditor_OnFlightCheckTabChanged {}; struct ShipEditor_OnWeaponGroupChanged {}; struct ShipEditor_OnRenameEndEditText {}; struct ShipEditor_OnRenameInputCancelled {}; struct ShipEditor_ChangeModuleCategory {}; struct ShipEditor_PreviewShipPart {}; struct ShipEditor_SelectedShipPart {}; struct ShipEditor_OnColorPickerControlChanged {}; struct ShipEditor_OnColorPickerTabChanged {}; struct ShipEditor_OnColorSliderMouseInput {}; struct ShipEditor_OnRecentColorSwatchClicked {}; struct ShipBuilder_CloseAllMenus {}; struct ShipEditor_OnHintButtonActivated {}; struct ShipEditor_RemoveAll3D {}; struct ReferenceQueuedEvent {}; struct LoadScreenEndEvent {}; struct LoadScreenStartEvent {}; struct CellAttachDetachEvent {}; struct PickRefStateChangedEvent {}; struct ActivityTrackerActivityStartedEvent {}; struct BSWorldOriginShiftEvent {}; struct BGSPlanet { struct PlayerKnowledgeFlagSetEvent {}; }; struct StarMap { struct PlanetTraitKnownEvent {}; }; struct ResetHistoryDataEvent {}; struct TESQuestRewardEvent {}; struct HUDWeaponWorldFOVMultChangedEvent {}; struct BGSSceneActionPlayerDialogue { struct ActionEndEvent {}; struct ActionStartEvent {}; }; struct AutoLoadDoorRolloverEvent {}; struct ClearQuickContainerEvent {}; struct ReferenceCellLoadedTemps {}; struct Workshop { struct CargoLinkAddedEvent {}; struct CargoLinkTargetChangedEvent {}; struct EnterOutpostBeaconModeEvent {}; struct ItemGrabbedEvent {}; struct ItemMovedEvent {}; struct ItemPlacedEvent {}; struct ItemProducedEvent {}; struct ItemRemovedEvent {}; struct ItemRepairedEvent {}; struct ItemScrappedEvent {}; struct OutpostNameChangedEvent {}; struct OutpostPlacedEvent {}; struct PlacementStatusEvent {}; struct PowerOffEvent {}; struct PowerOnEvent {}; struct SnapBehaviorCycledEvent {}; struct WorkshopFlyCameraEvent {}; struct WorkshopItemPlacedEvent {}; struct WorkshopModeEvent {}; struct WorkshopOutputLinkEvent {}; struct WorkshopStatsChangedEvent {}; struct WorkshopUpdateStatsEvent {}; }; struct PickRefUpdateEvent {}; struct ShipCameraStateToggled {}; struct PlayerControls { struct PlayerJumpPressEvent {}; struct PlayerJumpReleaseEvent {}; struct PlayerZeroGSprintJustPressedEvent {}; struct PlayerZeroGSprintReleasedEvent {}; struct PlayerIronSightsEndEvent {}; struct PlayerIronSightsStartEvent {}; }; struct PlayerSneakingChangeEvent {}; struct SaveLoadEvent {}; struct SpaceshipWeaponBinding { struct SpaceshipWeaponBindingChangedEvent {}; }; struct BoundaryMenu_FastTravel {}; struct BoundaryMenu_ShowMap {}; struct PhotoGallery_DeletePhoto {}; struct PowersMenu_ActivateEssence {}; struct PowersMenu_EquipPower {}; struct PowersMenu_FavoritePower {}; struct ContainerMenuClosed { struct Event {}; }; struct HangarShipSelection_ChangeSystemDisplay {}; struct HangarShipSelection_RepairShip {}; struct HangarShipSelection_UpgradeSystem {}; struct ShipCrewMenu_Close {}; struct BinkMovieStoppedPlayingEvent {}; struct WorkshopColorMode_ApplyColors {}; struct WorkshopColorMode_SelectedTab {}; struct WorkshopColorMode_SliderChanged {}; struct WorkshopColorMode_SwatchChanged {}; struct HUDCrewBuffMessageEvent {}; struct CraftingMenu_SessionSummaryEvent {}; struct CraftingMenu_CraftItem {}; struct CraftingMenu_ExitBench {}; struct CraftingMenu_InstallMod {}; struct CraftingMenu_RenameItem {}; struct CraftingMenu_RevertedModdedItem {}; struct CraftingMenu_SelectedMod {}; struct CraftingMenu_SelectedModSlot {}; struct CraftingMenu_SelectedModdableItem {}; struct CraftingMenu_SelectedRecipe {}; struct CraftingMenu_SetInspectControls {}; struct CraftingMenu_ToggleTracking {}; struct CraftingMenu_ViewingModdableItem {}; struct ContainerMenu_CloseMenu {}; struct InventoryMenu_Change3DView {}; struct InventoryMenu_PaperDollTryOn {}; struct InventoryMenu_ResetPaperDollInv {}; struct UpdateActivateListenerEvent {}; struct StartOutpostFromListenerEvent {}; struct HUDModeEvent {}; struct OpenContainerMenuEventData {}; struct OpenContainerMenuFromListenerEvent {}; struct HUDRolloverActivationButtonEvent {}; struct HUDRolloverActivationQCItemPressEvent {}; struct Inventory_SetSort {}; struct ShowingQuestMarketTextEvent {}; struct TargetHitEvent {}; struct PlayerCrosshairModeEvent {}; struct ClearHUDMessagesEvent {}; struct ShowHUDMessageEvent {}; struct PlayerDetectionLevelChangeEvent {}; struct ShowCustomWatchAlert {}; struct PlayerUpdateEvent {}; struct InventoryMenu_ToggleHelmet {}; struct InventoryMenu_ToggleSuit {}; struct ControlsRemappedEvent {}; struct SettingsPanel_CheckBoxChanged {}; struct SettingsPanel_ClearBinding {}; struct SettingsPanel_OpenCategory {}; struct SettingsPanel_OpenSettings {}; struct SettingsPanel_RemapConfirmed {}; struct SettingsPanel_RemapMode {}; struct SettingsPanel_ResetToDefaults {}; struct SettingsPanel_SaveControls {}; struct SettingsPanel_SaveSettings {}; struct SettingsPanel_SliderChanged {}; struct SettingsPanel_StepperChanged {}; struct SettingsPanel_ValidateControls {}; struct ShipCrewMenu_OpenAssignMenu {}; struct ShipCrewMenu_SetSort {}; struct ShowLongShipBootup {}; struct ShipHudQuickContainer_TransferMenu {}; struct ShipHud_Activate {}; struct ShipHud_BodyViewMarkerDimensions {}; struct ShipHud_ChangeComponentSelection {}; struct ShipHud_CloseMenu {}; struct ShipHud_Deselect {}; struct ShipHud_FarTravel {}; struct ShipHud_HailAccepted {}; struct ShipHud_HailCancelled {}; struct ShipHud_JumpToQuestMarker {}; struct ShipHud_Land {}; struct ShipHud_LandingMarkerMap {}; struct ShipHud_Map {}; struct ShipHud_OnMonocleToggle {}; struct ShipHud_OpenPhotoMode {}; struct ShipHud_Repair {}; struct ShipHud_SetTargetMode {}; struct ShipHud_Target {}; struct ShipHud_TargetShipSystem {}; struct ShipHud_UntargetShipSystem {}; struct ShipHud_UpdateComponentPower {}; struct DialogueMenu_CompleteExit {}; struct BGSScannerGuideEffectStatusUpdateEvent {}; struct GlobalFunc_CloseAllMenus {}; struct GlobalFunc_CloseMenu {}; struct GlobalFunc_PlayMenuSound {}; struct GlobalFunc_StartGameRender {}; struct GlobalFunc_UserEvent {}; struct ExperienceMeterDisplayData {}; struct LevelUp_AnimFinished {}; struct LevelUp_OnWidgetShown {}; struct LevelUp_OpenDataMenu {}; struct LevelUp_ShowSkills {}; struct LocationTextWidget_FinishedQueue {}; struct DisplayFatigueWarningEvent {}; struct SaveLoadMessageStringEvent {}; struct HUDNotificationEvent {}; struct HUDNotification_MissionActiveWidgetUpdate {}; struct HUDNotification_OpenDataMenu {}; struct HUDNotification_OpenMissionMenu {}; struct HUDNotification_SetMissionActive {}; struct PlayerSetWeaponStateEvent {}; struct BarterMenu_BuyItem {}; struct BarterMenu_CloseMenu {}; struct BarterMenu_HideModel {}; struct BarterMenu_LoadModel {}; struct BarterMenu_SellItem {}; struct BarterMenu_SetMouseOverModel {}; struct BarterMenu_ShowFailureMessage {}; struct BarterMenu_ViewedItem {}; struct MissionMenu_ClearState {}; struct MissionMenu_PlotToLocation {}; struct MissionMenu_RejectQuest {}; struct MissionMenu_SaveCategoryIndex {}; struct MissionMenu_SaveOpenedId {}; struct MissionMenu_ShowItemLocation {}; struct MissionMenu_ToggleTrackingQuest {}; struct DataSlateButtons_acceptClicked {}; struct DataSlateButtons_cancelClicked {}; struct DataSlateMenu_playSFX {}; struct DataSlateMenu_toggleAudio {}; struct InventoryMenu_DropItem {}; struct InventoryMenu_HideModel {}; struct InventoryMenu_LoadModel {}; struct InventoryMenu_OnEnterCategory {}; struct InventoryMenu_OpenCargoHold {}; struct InventoryMenu_SelectItem {}; struct InventoryMenu_SetMouseOverModel {}; struct InventoryMenu_ToggleFavorite {}; struct MissionBoard_MissionEntryChanged {}; struct MissionBoard_MissionEntryPressed {}; struct MonocleMenu_Bioscan {}; struct MonocleMenu_FastTravel {}; struct MonocleMenu_Harvest {}; struct MonocleMenu_Initialize {}; struct MonocleMenu_Outpost {}; struct MonocleMenu_PhotoMode {}; struct MonocleMenu_Shutdown {}; struct MonocleMenu_SocialSpell {}; struct MonocleMenu_StartContainerView {}; struct MonocleMenu_StopContainerView {}; struct MonocleMenu_SurfaceMap {}; struct MonocleMenu_UseListScrollControls {}; struct MonocleMenu_ZoomIn {}; struct MonocleMenu_ZoomOut {}; struct PhotoMode_InitializeCategory {}; struct PhotoMode_ResetToDefaults {}; struct PhotoMode_SliderChanged {}; struct PhotoMode_StepperChanged {}; struct PhotoMode_TakeSnapshot {}; struct PhotoMode_ToggleHelmet {}; struct PhotoMode_ToggleUI {}; struct PickpocketMenu_OnItemSelect {}; struct ResearchMenu_AddMaterial {}; struct ResearchMenu_CategorySelected {}; struct ResearchMenu_ExitMenu {}; struct ResearchMenu_HideModel {}; struct ResearchMenu_PreviewProject {}; struct ResearchMenu_ProjectViewed {}; struct ResearchMenu_SetInspectControls {}; struct ResearchMenu_ToggleTrackingProject {}; struct UnlockedTerminalElementEvent {}; struct SecurityMenu_BackOutKey {}; struct SecurityMenu_CloseMenu {}; struct SecurityMenu_ConfirmExit {}; struct SecurityMenu_EliminateUnusedKeys {}; struct SecurityMenu_GetRingHint {}; struct SecurityMenu_SelectNewKey {}; struct SecurityMenu_TryUseKey {}; struct ShipCrewAssignMenu_Assign {}; struct ShipCrewAssignMenu_Unassign {}; struct ShipCrewMenu_ViewedItem {}; struct Refuel_Accept {}; struct Refuel_Cancel {}; struct SkillsMenu_Accept {}; struct SkillsMenu_AddPatch {}; struct SkillsMenu_Cancel {}; struct SkillsMenu_ChangeCursorVisibility {}; struct SkillsMenu_SaveLastCategory {}; struct BSChargenAPI { struct BIDataUtils { struct MenuClosedEvent {}; struct PresetNPCChangedEvent {}; }; }; struct CharGen_BrowChange {}; struct CharGen_BrowColorChange {}; struct CharGen_CancelTextEntry {}; struct CharGen_CloseMenu {}; struct CharGen_CyclePronoun {}; struct CharGen_DirtScarsEtcChange {}; struct CharGen_EndBodyChange {}; struct CharGen_EndTextEntry {}; struct CharGen_EyeColorChange {}; struct CharGen_FacialHairChange {}; struct CharGen_FacialHairColorChange {}; struct CharGen_HairChange {}; struct CharGen_HairColorChange {}; struct CharGen_HeadpartPlusSelectorChange {}; struct CharGen_HeadpartPresetChange {}; struct CharGen_JewelryChange {}; struct CharGen_JewelryColorChange {}; struct CharGen_MakeupChange {}; struct CharGen_MarkingsChange {}; struct CharGen_PostBlendColorOptionChange {}; struct CharGen_PostBlendFaceChange {}; struct CharGen_PostBlendIntensityChange {}; struct CharGen_PresetChange {}; struct CharGen_RollOffLocomotion {}; struct CharGen_RollOnLocomotion {}; struct CharGen_RotatePaperdoll {}; struct CharGen_SetAdditionalSlider {}; struct CharGen_SetBackground {}; struct CharGen_SetBlockInputUnderPopup {}; struct CharGen_SetBodyValues {}; struct CharGen_SetCameraPosition {}; struct CharGen_SetPronoun {}; struct CharGen_SetSex {}; struct CharGen_SetSlider {}; struct CharGen_SetTrait {}; struct CharGen_ShowChooseBackgroundMessage {}; struct CharGen_ShowPlayerRenameMessage {}; struct CharGen_SkintoneChange {}; struct CharGen_StartBodyChange {}; struct CharGen_StartTextEntry {}; struct CharGen_SwitchBodyType {}; struct CharGen_SwitchLocomotion {}; struct CharGen_TeethChange {}; struct CharGen_TeethRollOff {}; struct CharGen_TeethRollOn {}; struct CharGen_ToggleMarking {}; struct CharGen_TogglePreviewHabSuit {}; struct UIMenuChargenMenuDisablePaperdoll {}; struct DataMenu_CloseMenu {}; struct DataMenu_ClosedForSubMenu {}; struct DataMenu_Missions {}; struct DataMenu_PlotToLocation {}; struct DataMenu_Reopened {}; struct DataMenu_SelectedAttributesMenu {}; struct DataMenu_SelectedInventoryMenu {}; struct DataMenu_SelectedMapMenu {}; struct DataMenu_SelectedPowersMenu {}; struct DataMenu_SelectedShipMenu {}; struct DataMenu_SelectedStatusMenu {}; struct DataMenu_SetMenuForQuickEntry {}; struct DataMenu_SetPaperDollActive {}; struct PauseMenu_ActionCanceled {}; struct PauseMenu_ConfirmAction {}; struct PauseMenu_ConfirmLoad {}; struct PauseMenu_ConfirmSave {}; struct PauseMenu_DeleteSave {}; struct PauseMenu_QuitToDesktop {}; struct PauseMenu_SetCharacter {}; struct PauseMenu_StartAction {}; struct PauseMenu_StartLoad {}; struct PauseMenu_UploadSave {}; struct PlayBink_CloseMenu {}; struct Reticle_OnLongAnimFinished {}; struct ShipHudQuickContainer_TransferItem {}; struct ShipHud_AbortJump {}; struct ShipHud_DockRequested {}; struct ShipHud_HailShip {}; struct ShipHud_UpdateTargetPanelRect {}; struct TakeoffMenu_CloseMenu {}; struct TakeoffMenu_ExitShip {}; struct TakeoffMenu_Launch {}; struct StarMapMenu_LandingInputInProgress {}; struct StarMapMenu_MarkerGroupContainerVisibilityChanged {}; struct StarMapMenu_MarkerGroupEntryClicked {}; struct StarMapMenu_MarkerGroupEntryHoverChanged {}; struct StarMapMenu_ScanPlanet {}; struct StarMapMenu_SelectedLandingSite {}; struct StarMapMenu_SelectedLandingSiteFailed {}; struct StarMapMenu_ShowRealCursor {}; struct StarMapMenu_QuickSelectChange {}; struct StarMapMenu_Galaxy_FocusSystem {}; struct StarMapMenu_OnGalaxyViewInitialized {}; struct StarMapMenu_ExecuteRoute {}; struct StarMapMenu_OnCancel {}; struct StarMapMenu_OnClearRoute {}; struct StarMapMenu_OnExitStarMap {}; struct StarMapMenu_OnHintButtonClicked {}; struct StarMapMenu_OnOutpostEntrySelected {}; struct StarMapMenu_ReadyToClose {}; struct SurfaceMapMenu_MarkerClicked {}; struct SurfaceMapMenu_TryPlaceCustomMarker {}; struct TerminalMenu_CancelEvent {}; struct Terminal_CloseAllViews {}; struct Terminal_CloseTopView {}; struct Terminal_CloseView {}; struct Terminal_MenuItemClick {}; struct TestMenu_DoAction {}; struct TestMenu_ExitMenu {}; struct TestMenu_ShowImages {}; struct TestMenu_ShowResources {}; struct TestMenu_TestAll {}; struct TextInputMenu_EndEditText {}; struct TextInputMenu_InputCanceled {}; struct TextInputMenu_StartEditText {}; struct CraftingMenu_Highlight3D {}; struct CraftingMenu_RevertHighlight {}; struct WorkshopBuilderMenu_ChangeBuildItem {}; struct WorkshopBuilderMenu_SelectedItem {}; struct WorkshopBuilderMenu_ToggleTracking {}; struct WorkshopMenu_AttemptBuild {}; struct WorkshopMenu_CancelAction {}; struct WorkshopMenu_ChangeVariant {}; struct WorkshopMenu_ConnectionEvent {}; struct WorkshopMenu_ExitMenu {}; struct WorkshopMenu_MessageCallback {}; struct WorkshopMenu_SelectedCategory {}; struct WorkshopMenu_SelectedGridObject {}; struct WorkshopMenu_ShowExtras {}; struct WorkshopMenu_SwitchMode {}; struct WorkshopMenu_ToggleDistance {}; struct WorkshopMenu_ToggleTracking {}; struct WorkshopMenu_ToggleView {}; struct WorkshopQuickMenu_ConfirmAction {}; struct WorkshopQuickMenu_ExitMenu {}; struct WorkshopTargetMenu_TargetHovered {}; struct WorkshopTargetMenu_TargetPicked {}; struct WorkshopActionButton_HoldFinished {}; struct WorkshopActionButton_HoldStopped {}; struct WorkshopShared_SetActionHandles {}; struct WorkshopShared_StartAction {}; struct ModelReferenceEffectEvents { struct ReferenceEffectFinished {}; }; struct BGSAcousticSpaceListener { struct StackChangedEvent {}; }; struct SpaceshipBIEvents { struct ShipPowerAllocationBIEventSent {}; }; struct BGSActorDeathEvent {}; struct Research { struct ResearchProgressEvent {}; }; struct PlayerAutoAimActorEvent {}; struct PlayerInCombatChangeEvent {}; struct BlurEvent {}; struct ContainerMenu_HideModel {}; struct ContainerMenu_Jettison {}; struct ContainerMenu_LoadModel {}; struct ContainerMenu_OpenRefuelMenu {}; struct ContainerMenu_SetMouseOverModel {}; struct ContainerMenu_TakeAll {}; struct ContainerMenu_ToggleEquip {}; struct ContainerMenu_TransferItem {}; struct DialogueMenu_OnDialogueSelect {}; struct DialogueMenu_OnListVisibilityChange {}; struct DialogueMenu_OnPersuasionAutoWin {}; struct DialogueMenu_OnScriptedDialogueSelect {}; struct DialogueMenu_RequestExit {}; struct DialogueMenu_RequestSkipDialogue {}; struct FaderMenuDisplayState {}; struct FavoritesMenu_AssignQuickkey {}; struct FavoritesMenu_UseQuickkey {}; struct LoadingMenu_RefreshText {}; struct MainMenu_ActionCanceled {}; struct MainMenu_ActionConfirmed {}; struct MainMenu_ConfirmLoad {}; struct MainMenu_DeleteSave {}; struct MainMenu_SetCharacter {}; struct MainMenu_StartAction {}; struct MainMenu_StartLoad {}; struct MainMenu_UploadSave {}; struct BGSAppPausedEvent {}; struct MessageBoxMenu_OnBackOut {}; struct MessageBoxMenu_OnButtonPress {}; struct MessageBoxMenu_OnScriptedButtonPress {}; struct SleepWaitMenu_InterruptRest {}; struct SleepWaitMenu_StartRest {}; struct ContextStackChangedEvent {}; struct UpdateSceneRectEvent {}; struct GameStalledEvent {}; // more struct TESCellNavmeshGeneratedEvent {}; struct TESHitEvent {}; struct FirstThirdPersonSwitch { struct Event {}; }; struct PerkChanged { struct Event {}; }; struct TESHarvestEvent { struct ItemHarvested {}; }; struct ActivityEvents { struct ActivityCompletedEvent {}; }; struct ChallengeCompletedEvent { struct Event {}; }; struct InventoryItemEvent { struct Event {}; }; struct BooksRead { struct Event {}; }; struct LocationExplored { struct Event {}; }; struct LocationLinked { struct Event {}; }; struct Activation { struct Event {}; }; struct ActorCellChangeEvent {}; struct ActorHeadAttachedEvent {}; struct ActorValueEvents { struct ActorValueChangedEvent {}; }; struct AliasChangeEvent {}; struct AnimationGraphDependentEvent {}; struct BGSAffinityEventEvent {}; struct BGSCellGridLoadEvent {}; struct BGSEventProcessedEvent {}; struct BGSHavokWorldCreatedEvent {}; struct BGSLocationLoadedEvent {}; struct BGSOnPlayerCompanionDismiss {}; struct BGSOnPlayerCompleteResearchEvent {}; struct BGSOnPlayerCraftItemEvent {}; struct BGSOnPlayerCreateRobotEvent {}; struct BGSOnPlayerEnterVertibirdEvent {}; struct BGSOnPlayerFallLongDistances {}; struct BGSOnPlayerFireWeaponEvent {}; struct BGSOnPlayerHealTeammateEvent {}; struct BGSOnPlayerLoiteringBeginEvent {}; struct BGSOnPlayerLoiteringEndEvent {}; struct BGSOnPlayerModArmorWeaponEvent {}; struct BGSOnPlayerModRobotEvent {}; struct BGSOnPlayerSwimmingEvent {}; struct BGSOnPlayerUseWorkBenchEvent {}; struct BGSOnSpeechChallengeAvailable {}; struct BGSRadiationDamageEvent {}; struct BuilderMenuSelectEvent {}; struct CrewAssignedEvent {}; struct CrewDismissedEvent {}; struct DestroyedEvent {}; struct HomeShipSetEvent {}; struct InstantReferenceInteractionEvent {}; struct ItemConsumedEvent {}; struct ItemSwappedEvent {}; struct LockPickedEvent {}; struct MapMarkerDiscoveredEvent {}; struct ObjectScannedEvent {}; struct PlayerAddItemEvent {}; struct PlayerArrestedEvent {}; struct PlayerAssaultActorEvent {}; struct PlayerBuyShipEvent {}; struct PlayerCrimeGoldEvent {}; struct PlayerFailedPlotRouteEvent {}; struct PlayerJailEvent {}; struct PlayerModifiedShipEvent {}; struct PlayerMurderActorEvent {}; struct PlayerPayFineEvent {}; struct PlayerPlanetSurveyCompleteEvent {}; struct PlayerPlanetSurveyProgressEvent {}; struct PlayerSellShipEvent {}; struct PlayerTrespassEvent {}; struct QuickContainerOpenedEvent {}; struct RefControlChangedEvent {}; struct ReferenceDestroyedEvent {}; struct SpeechChallengeCompletionEvent {}; struct TESActivateEvent {}; struct TESActiveEffectApplyFinishEvent {}; struct TESActiveEffectRemovedEvent {}; struct TESActorActivatedRefEvent {}; struct TESActorLocationChangeEvent {}; struct TESBookReadEvent {}; struct TESCellCriticalRefsAttachedEvent {}; struct TESCellFullyLoadedEvent {}; struct TESCellGravityChangeEvent {}; struct TESCellReadyToApplyDecalsEvent {}; struct TESCellReference3DAttachEvent {}; struct TESCellReferenceAttachDetachEvent {}; struct TESCombatEvent {}; struct TESCombatListEvent {}; struct TESCommandModeCompleteCommandEvent {}; struct TESCommandModeEnterEvent {}; struct TESCommandModeExitEvent {}; struct TESCommandModeGiveCommandEvent {}; struct TESConsciousnessEvent {}; struct TESContainerChangedEvent { u32 sourceContainerFormID; // 00 u32 targetContainerFormID; // 04 u32 itemFormID; // 08 u32 count; // 0C //... }; struct TESDeathEvent {}; struct TESDeferredKillEvent {}; struct TESDestructionStageChangedEvent {}; struct TESEnterBleedoutEvent {}; struct TESEnterSneakingEvent {}; struct TESEquipEvent {}; struct TESEscortWaitStartEvent {}; struct TESEscortWaitStopEvent {}; struct TESExitBleedoutEvent {}; struct TESExitFurnitureEvent {}; struct TESFormDeleteEvent { u32 formId; // 00 }; struct TESFormIDRemapEvent { u32 oldID; // 00 u32 newID; // 04 }; struct TESFurnitureEvent {}; struct TESGrabReleaseEvent {}; struct TESInitScriptEvent {}; struct TESLimbCrippleEvent {}; struct TESLoadGameEvent {}; struct TESLocationExploredEvent {}; struct TESLockChangedEvent {}; struct TESMagicEffectApplyEvent {}; struct TESMissionAcceptedEvent {}; struct TESObjectLoadedEvent {}; struct TESObjectREFRTranslationEvent {}; struct TESOnPCDialogueTargetEvent {}; struct TESOpenCloseEvent {}; struct TESPackageEvent {}; struct TESPerkEntryRunEvent {}; struct TESPickNewIdleEvent {}; struct TESPickpocketFailedEvent {}; struct TESPlayerActiveEffectEvent {}; struct TESPlayerFollowerWarpEvent {}; struct TESQuestInitEvent {}; struct TESQuestRejectedEvent {}; struct TESQuestStageEvent {}; struct TESQuestStageItemDoneEvent {}; struct TESQuestStartStopEvent {}; struct TESQuestTimerEvent {}; struct TESResetEvent {}; struct TESResolveNPCTemplatesEvent {}; struct TESSceneActionEvent {}; struct TESSceneEvent {}; struct TESScenePhaseEvent {}; struct TESSellEvent {}; struct TESSleepStartEvent {}; struct TESSleepStopEvent {}; struct TESSpellCastEvent {}; struct TESSpellCastFailureEvent {}; struct TESSwitchRaceCompleteEvent {}; struct TESTopicInfoEvent {}; struct TESTrackedStatsEvent {}; struct TESTrapHitEvent {}; struct TESTriggerEnterEvent {}; struct TESTriggerEvent {}; struct TESTriggerLeaveEvent {}; struct TESUniqueIDChangeEvent {}; struct TESWaitStartEvent {}; struct TESWaitStopEvent {}; struct TerminalMenuMenuItemRunEvent {}; struct TerminalMenuOnEnterEvent {}; struct WorkshopNPCTransferEvent {}; struct TESObjectREFRIsReadyForAttachEvent {}; struct DefaultObjectsReadyEvent { struct Event {}; }; struct ObjectiveState { struct Event {}; }; struct QuestStatus { struct Event {}; }; struct RefillAliasEvent { struct Event {}; }; struct TESQuestEvent { struct Event {}; }; struct RolloverIsCrimeEvent { struct Event {}; }; struct HideSubtitleEvent { struct Event {}; }; struct ShowSubtitleEvent { struct Event {}; }; struct MissionMenuStateEvent { struct Event {}; }; struct ClearShipHudTarget { struct Event {}; }; struct TryUpdateShipHudTarget { struct Event {}; }; struct LocationTextEvent { struct Event {}; }; struct TraitDiscoveryTextEvent { struct Event {}; }; struct DaysPassed { struct Event {}; }; struct HourPassed { struct Event {}; }; struct ActorDamage { struct Event {}; }; struct ActorItemEquipped { struct Event {}; }; struct ActorKill { struct Event {}; }; struct AssaultCrime { struct Event {}; }; struct DisarmedEvent { struct Event {}; }; struct FactionRankChange { struct Event {}; }; struct GrandTheftHorse { struct Event {}; }; struct MurderCrime { struct Event {}; }; struct PiracyCrime { struct Event {}; }; struct Bleedout { struct Event {}; }; struct ContractedDisease { struct Event {}; }; struct ReloadWeaponEvent { struct Event {}; }; struct SpellsLearned { struct Event {}; }; struct Bounty { struct Event {}; }; struct ChestLooted { struct Event {}; }; struct CriticalHitEvent { struct Event {}; }; struct CustomMarkerUpdate { struct Event {}; }; struct DaysJailed { struct Event {}; }; struct EnteredUnity { struct Event {}; }; struct FinePaid { struct Event {}; }; struct ItemCrafted { struct Event {}; }; struct ItemSteal { struct Event {}; }; struct JailEscape { struct Event {}; }; struct Jailing { struct Event {}; }; struct LevelIncrease { struct Event {}; }; struct LocationMarkerArrayUpdate { struct Event {}; }; struct PlayerActiveEffectChanged { struct Event {}; }; struct PlayerAmmoChanged { struct Event {}; }; struct PlayerCharacterQuestEvent { struct Event {}; }; struct PlayerDifficultySettingChanged { struct Event {}; }; struct PlayerFastTravel { struct Event {}; }; struct PlayerInDialogueChanged { struct Event {}; }; struct PlayerLifeStateChanged { struct Event {}; }; struct PlayerPickpocketSuccess { struct Event {}; }; struct PoisonedWeapon { struct Event {}; }; struct TerminalHacked { struct Event {}; }; struct TravelMarkerStateChange { struct Event {}; }; struct WeaponAttack { struct Event {}; }; struct Trespass { struct Event {}; }; struct VATSEvents { struct ModeChange {}; }; struct VATSCommand {}; struct HoursPassed { struct Event {}; }; // UI events struct MenuOpenCloseEvent { BSFixedString MenuName; bool bOpening; }; struct MenuModeChangeEvent {}; struct MenuPauseChangeEvent {}; struct MenuPauseCounterChangeEvent {}; struct TutorialEvent {}; struct BSCursorTypeChange {}; struct BSCursorRotationChange {}; struct BIUIMenuVisiblePausedBeginEvent {}; struct BIUIMenuVisiblePausedEndEvent {}; // other events struct RadioManager { struct PipboyTransmitterDetectionEvent {}; }; struct XPChange { struct Event { Actor* actor; void* unk08; float totalXP; float recievedXP; //... }; }; struct WeaponFiredEvent { void* unk00; void* unk08; Actor* actor; //... }; struct ActorEquipManagerEvent { struct Event {}; struct SpellEvent {}; }; struct AttachReference { struct Event {}; }; // namespace BSTEventDetail { class SinkBase { public: virtual ~SinkBase() {}; }; class SourceBase { public: virtual ~SourceBase() {}; DEFINE_MEMBER_FN_1(RegisterSink, void, 0x022CB470, SinkBase* sink); DEFINE_MEMBER_FN_1(UnregisterSink, void, 0x022CB600, SinkBase* sink); }; } enum class BSEventNotifyControl { kContinue, kStop }; using EventResult = BSEventNotifyControl; template class BSTEventSource; template class BSTEventSink : public BSTEventDetail::SinkBase { public: virtual ~BSTEventSink() { }; virtual EventResult ProcessEvent(const T& arEvent, BSTEventSource* eventSource) { return EventResult::kContinue; }; // pure }; template class BSTEventSource : public BSTEventDetail::SourceBase { public: virtual ~BSTEventSource(); BSTArray> pSinksA; u32 unk18; u32 unk1C; u32 unk20; u32 unk24; }; class BSTGlobalEvent { public: virtual ~BSTGlobalEvent(); template class EventSource : public BSTEventSource { public: virtual ~EventSource(); virtual EventResult ProcessEvent(const T& arEvent, BSTEventSource* eventSource); }; }; template class BSTValueEventSink : public BSTEventSink // 00 { }; template class BSTValueRequestEvent { }; template BSTEventSource* GetEventSource() { }; #define DECLARE_EVENT_SOURCE(Event, address) \ template<> inline BSTEventSource * GetEventSource() \ { \ typedef BSTEventSource * (*_GetEventSource)(); \ RelocAddr<_GetEventSource> GetEventSource(address); \ return GetEventSource(); \ } #define DECLARE_EVENT_SOURCE_EX(Event, address) \ template<> inline BSTEventSource * GetEventSource() \ { \ RelocPtr> es(address); \ return es.getPtr(); \ } DECLARE_EVENT_SOURCE(ActivityTrackerActivityStartedEvent, 0x00603C30) DECLARE_EVENT_SOURCE(ActorEquipManagerEvent::Event, 0x0189AF40) DECLARE_EVENT_SOURCE(ActorEquipManagerEvent::SpellEvent, 0x0189AF40) //DECLARE_EVENT_SOURCE(ActorInventoryEvent, 0x01984830) DECLARE_EVENT_SOURCE(ActorValueEvents::ActorValueChangedEvent, 0x002B69E0) //DECLARE_EVENT_SOURCE(AddSaveLoadEntryEvent, 0x01453850) DECLARE_EVENT_SOURCE(AliasChangeEvent, 0x00CFB890) DECLARE_EVENT_SOURCE(AnimationDataCleanupEvent, 0x0030DE70) DECLARE_EVENT_SOURCE(AnimationDataSetupEvent, 0x0030DF10) DECLARE_EVENT_SOURCE(AutoLoadDoorRolloverEvent, 0x00A93C20) DECLARE_EVENT_SOURCE(BGSAcousticSpaceListener::StackChangedEvent, 0x017911E0) DECLARE_EVENT_SOURCE(BGSActorDeathEvent, 0x013F8760) DECLARE_EVENT_SOURCE(BGSAppPausedEvent, 0x01ED76C0) DECLARE_EVENT_SOURCE(BGSCellGridLoadEvent, 0x00579770) DECLARE_EVENT_SOURCE(BGSEventProcessedEvent, 0x00EED200) //DECLARE_EVENT_SOURCE(BGSKeyword::OnDestroyEvent, 0x00C88300) DECLARE_EVENT_SOURCE(BGSOnPlayerCompleteResearchEvent, 0x018036F0) DECLARE_EVENT_SOURCE(BGSPlanet::PlayerKnowledgeFlagSetEvent, 0x007C0880) DECLARE_EVENT_SOURCE(BGSScannerGuideEffectStatusUpdateEvent, 0x015A9960) DECLARE_EVENT_SOURCE(BGSSceneActionPlayerDialogue::ActionEndEvent, 0x009C29A0) DECLARE_EVENT_SOURCE(BGSSceneActionPlayerDialogue::ActionStartEvent, 0x009C2A40) //DECLARE_EVENT_SOURCE(BSBethesdaPlatformBlocklistAvailableEvent, 0x02114360) //DECLARE_EVENT_SOURCE(BSBethesdaPlatformCuratedListAvailableEvent, 0x0145FC20) //DECLARE_EVENT_SOURCE(BSBethesdaPlatformInitializedEvent, 0x0145FB80) //DECLARE_EVENT_SOURCE(BSBethesdaPlatformLinkedLoginEvent, 0x02108630) //DECLARE_EVENT_SOURCE(BSBethesdaPlatformLoginEvent, 0x0145B940) //DECLARE_EVENT_SOURCE(BSBethesdaPlatformShutdownEvent, 0x02BFA470) DECLARE_EVENT_SOURCE(BSChargenAPI::BIDataUtils::MenuClosedEvent, 0x0165D4F0) DECLARE_EVENT_SOURCE(BSChargenAPI::BIDataUtils::PresetNPCChangedEvent, 0x0165B620) //DECLARE_EVENT_SOURCE(BSEntitlementFoundEvent, 0x021086D0) //DECLARE_EVENT_SOURCE(BSMaterial::MaterialsReloadedEvent, 0x02454BA0) //DECLARE_EVENT_SOURCE(BSRedeemableFoundEvent, 0x01343180) //DECLARE_EVENT_SOURCE(BSResource::Archive2::ClearRegistryEvent, 0x02760390) //DECLARE_EVENT_SOURCE(BSResource::Archive2::RegisteredEvent, 0x02760390) //DECLARE_EVENT_SOURCE(BSResource::Archive2::StreamOpenedEvent, 0x02760390) //DECLARE_EVENT_SOURCE(BSResource::ArchiveRegisteredEvent, 0x02760390) //DECLARE_EVENT_SOURCE(BSResource::NameFoundEvent, 0x0275BE40) //DECLARE_EVENT_SOURCE(BSScript::StatsEvent, 0x027D0600) //DECLARE_EVENT_SOURCE(BSTValueRequestEvent < FaderMenuDisplayState, 0x01E45A30) //DECLARE_EVENT_SOURCE(BSTValueRequestEvent < PlayerAutoAimActorEvent, 0x019FCAC0) //DECLARE_EVENT_SOURCE(BSTValueRequestEvent < PlayerCrosshairModeEvent, 0x0142AC00) //DECLARE_EVENT_SOURCE(BSTValueRequestEvent < SaveLoadMessageStringEvent, 0x0155D990) DECLARE_EVENT_SOURCE(BSWorldOriginShiftEvent, 0x006922F0) DECLARE_EVENT_SOURCE(BarterMenu_BuyItem, 0x015DB010) DECLARE_EVENT_SOURCE(BarterMenu_CloseMenu, 0x015DB330) DECLARE_EVENT_SOURCE(BarterMenu_HideModel, 0x015DB1F0) DECLARE_EVENT_SOURCE(BarterMenu_LoadModel, 0x015DB290) DECLARE_EVENT_SOURCE(BarterMenu_SellItem, 0x015DAF70) DECLARE_EVENT_SOURCE(BarterMenu_SetMouseOverModel, 0x015DAED0) DECLARE_EVENT_SOURCE(BarterMenu_ShowFailureMessage, 0x015DB150) DECLARE_EVENT_SOURCE(BarterMenu_ViewedItem, 0x015DB0B0) DECLARE_EVENT_SOURCE(BinkMovieStoppedPlayingEvent, 0x01402B10) DECLARE_EVENT_SOURCE(BlurEvent, 0x01E96C40) DECLARE_EVENT_SOURCE(BoundaryMenu_FastTravel, 0x013884A0) DECLARE_EVENT_SOURCE(BoundaryMenu_ShowMap, 0x01388400) //DECLARE_EVENT_SOURCE(CameraCutEvent, 0x00F8AF90) DECLARE_EVENT_SOURCE(CellAttachDetachEvent, 0x00586EB0) DECLARE_EVENT_SOURCE(ChallengeCompletedEvent::Event, 0x00602A60) DECLARE_EVENT_SOURCE(CharGen_BrowChange, 0x0165C870) DECLARE_EVENT_SOURCE(CharGen_BrowColorChange, 0x0165C550) DECLARE_EVENT_SOURCE(CharGen_CancelTextEntry, 0x0165CFF0) DECLARE_EVENT_SOURCE(CharGen_CloseMenu, 0x0165D450) DECLARE_EVENT_SOURCE(CharGen_CyclePronoun, 0x0165C410) DECLARE_EVENT_SOURCE(CharGen_DirtScarsEtcChange, 0x0165CB90) DECLARE_EVENT_SOURCE(CharGen_EndBodyChange, 0x0165BBF0) DECLARE_EVENT_SOURCE(CharGen_EndTextEntry, 0x0165D090) DECLARE_EVENT_SOURCE(CharGen_EyeColorChange, 0x0165C910) DECLARE_EVENT_SOURCE(CharGen_FacialHairChange, 0x0165C690) DECLARE_EVENT_SOURCE(CharGen_FacialHairColorChange, 0x0165C5F0) DECLARE_EVENT_SOURCE(CharGen_HairChange, 0x0165C7D0) DECLARE_EVENT_SOURCE(CharGen_HairColorChange, 0x0165C730) DECLARE_EVENT_SOURCE(CharGen_HeadpartPlusSelectorChange, 0x0165CCD0) DECLARE_EVENT_SOURCE(CharGen_HeadpartPresetChange, 0x0165D310) DECLARE_EVENT_SOURCE(CharGen_JewelryChange, 0x0165BDD0) DECLARE_EVENT_SOURCE(CharGen_JewelryColorChange, 0x0165BD30) DECLARE_EVENT_SOURCE(CharGen_MakeupChange, 0x0165B830) DECLARE_EVENT_SOURCE(CharGen_MarkingsChange, 0x0165B790) DECLARE_EVENT_SOURCE(CharGen_PostBlendColorOptionChange, 0x0165B970) DECLARE_EVENT_SOURCE(CharGen_PostBlendFaceChange, 0x0165BA10) DECLARE_EVENT_SOURCE(CharGen_PostBlendIntensityChange, 0x0165B8D0) DECLARE_EVENT_SOURCE(CharGen_PresetChange, 0x0165D3B0) DECLARE_EVENT_SOURCE(CharGen_RollOffLocomotion, 0x0165BFB0) DECLARE_EVENT_SOURCE(CharGen_RollOnLocomotion, 0x0165C050) DECLARE_EVENT_SOURCE(CharGen_RotatePaperdoll, 0x0165C0F0) DECLARE_EVENT_SOURCE(CharGen_SetAdditionalSlider, 0x0165BB50) DECLARE_EVENT_SOURCE(CharGen_SetBackground, 0x0165C9B0) DECLARE_EVENT_SOURCE(CharGen_SetBlockInputUnderPopup, 0x0165BAB0) DECLARE_EVENT_SOURCE(CharGen_SetBodyValues, 0x0165CE10) DECLARE_EVENT_SOURCE(CharGen_SetCameraPosition, 0x0165CD70) DECLARE_EVENT_SOURCE(CharGen_SetPronoun, 0x0165C370) DECLARE_EVENT_SOURCE(CharGen_SetSex, 0x0165D270) DECLARE_EVENT_SOURCE(CharGen_SetSlider, 0x0165D1D0) DECLARE_EVENT_SOURCE(CharGen_SetTrait, 0x0165CA50) DECLARE_EVENT_SOURCE(CharGen_ShowChooseBackgroundMessage, 0x0165CEB0) DECLARE_EVENT_SOURCE(CharGen_ShowPlayerRenameMessage, 0x0165CF50) DECLARE_EVENT_SOURCE(CharGen_SkintoneChange, 0x0165CC30) DECLARE_EVENT_SOURCE(CharGen_StartBodyChange, 0x0165BC90) DECLARE_EVENT_SOURCE(CharGen_StartTextEntry, 0x0165D130) DECLARE_EVENT_SOURCE(CharGen_SwitchBodyType, 0x0165C190) DECLARE_EVENT_SOURCE(CharGen_SwitchLocomotion, 0x0165C230) DECLARE_EVENT_SOURCE(CharGen_TeethChange, 0x0165C4B0) DECLARE_EVENT_SOURCE(CharGen_TeethRollOff, 0x0165BE70) DECLARE_EVENT_SOURCE(CharGen_TeethRollOn, 0x0165BF10) DECLARE_EVENT_SOURCE(CharGen_ToggleMarking, 0x0165CAF0) DECLARE_EVENT_SOURCE(CharGen_TogglePreviewHabSuit, 0x0165C2D0) //DECLARE_EVENT_SOURCE(CharacterBeginLevelUpEvent, 0x01750070) //DECLARE_EVENT_SOURCE(CharacterFinishLevelUpEvent, 0x0147DCF0) DECLARE_EVENT_SOURCE(ClearHUDMessagesEvent, 0x01491A00) DECLARE_EVENT_SOURCE(ClearQuickContainerEvent, 0x00A93CC0) DECLARE_EVENT_SOURCE(ContainerMenuClosed::Event, 0x013F2700) DECLARE_EVENT_SOURCE(ContainerMenu_CloseMenu, 0x0145B1A0) DECLARE_EVENT_SOURCE(ContainerMenu_HideModel, 0x01EB8A00) DECLARE_EVENT_SOURCE(ContainerMenu_Jettison, 0x01EB88C0) DECLARE_EVENT_SOURCE(ContainerMenu_LoadModel, 0x01EB8AA0) DECLARE_EVENT_SOURCE(ContainerMenu_OpenRefuelMenu, 0x01EB8960) DECLARE_EVENT_SOURCE(ContainerMenu_SetMouseOverModel, 0x01EB8820) DECLARE_EVENT_SOURCE(ContainerMenu_TakeAll, 0x01EB8B40) DECLARE_EVENT_SOURCE(ContainerMenu_ToggleEquip, 0x01EB8C80) //DECLARE_EVENT_SOURCE(ContainerMenu_TransferAllResources, 0x01E3FA50) DECLARE_EVENT_SOURCE(ContainerMenu_TransferItem, 0x01EB8D20) DECLARE_EVENT_SOURCE(ContextStackChangedEvent, 0x022F8690) DECLARE_EVENT_SOURCE(ControlsRemappedEvent, 0x01534A60) DECLARE_EVENT_SOURCE(CraftingMenu_CraftItem, 0x0144C8D0) DECLARE_EVENT_SOURCE(CraftingMenu_ExitBench, 0x0144CB50) DECLARE_EVENT_SOURCE(CraftingMenu_Highlight3D, 0x01719B00) DECLARE_EVENT_SOURCE(CraftingMenu_InstallMod, 0x0144C790) DECLARE_EVENT_SOURCE(CraftingMenu_RenameItem, 0x0144C3D0) DECLARE_EVENT_SOURCE(CraftingMenu_RevertHighlight, 0x01719A60) DECLARE_EVENT_SOURCE(CraftingMenu_RevertedModdedItem, 0x0144C470) DECLARE_EVENT_SOURCE(CraftingMenu_SelectedMod, 0x0144C510) DECLARE_EVENT_SOURCE(CraftingMenu_SelectedModSlot, 0x0144C5B0) DECLARE_EVENT_SOURCE(CraftingMenu_SelectedModdableItem, 0x0144C650) DECLARE_EVENT_SOURCE(CraftingMenu_SelectedRecipe, 0x0144C830) DECLARE_EVENT_SOURCE(CraftingMenu_SessionSummaryEvent, 0x0144C970) DECLARE_EVENT_SOURCE(CraftingMenu_SetInspectControls, 0x0144CAB0) DECLARE_EVENT_SOURCE(CraftingMenu_ToggleTracking, 0x0144CA10) DECLARE_EVENT_SOURCE(CraftingMenu_ViewingModdableItem, 0x0144C6F0) //DECLARE_EVENT_SOURCE(CreationUninstalledEvent, 0x01350880) DECLARE_EVENT_SOURCE(DataMenu_CloseMenu, 0x016684C0) DECLARE_EVENT_SOURCE(DataMenu_ClosedForSubMenu, 0x01668560) DECLARE_EVENT_SOURCE(DataMenu_Missions, 0x01668740) //DECLARE_EVENT_SOURCE(DataMenu_OpenPauseMenu, 0x01606520) DECLARE_EVENT_SOURCE(DataMenu_PlotToLocation, 0x01667FC0) DECLARE_EVENT_SOURCE(DataMenu_Reopened, 0x01668420) DECLARE_EVENT_SOURCE(DataMenu_SelectedAttributesMenu, 0x01668100) DECLARE_EVENT_SOURCE(DataMenu_SelectedInventoryMenu, 0x016681A0) DECLARE_EVENT_SOURCE(DataMenu_SelectedMapMenu, 0x01668240) DECLARE_EVENT_SOURCE(DataMenu_SelectedPowersMenu, 0x01668060) DECLARE_EVENT_SOURCE(DataMenu_SelectedShipMenu, 0x016682E0) DECLARE_EVENT_SOURCE(DataMenu_SelectedStatusMenu, 0x01668380) DECLARE_EVENT_SOURCE(DataMenu_SetMenuForQuickEntry, 0x016686A0) DECLARE_EVENT_SOURCE(DataMenu_SetPaperDollActive, 0x01668600) //DECLARE_EVENT_SOURCE(DataMenu_StartCloseAnim, 0x013FB180) DECLARE_EVENT_SOURCE(DataSlateButtons_acceptClicked, 0x015E62B0) DECLARE_EVENT_SOURCE(DataSlateButtons_cancelClicked, 0x015E6210) DECLARE_EVENT_SOURCE(DataSlateMenu_playSFX, 0x015E6350) DECLARE_EVENT_SOURCE(DataSlateMenu_toggleAudio, 0x015E63F0) DECLARE_EVENT_SOURCE(DefaultObjectsReadyEvent::Event, 0x00BCFCD0) //DECLARE_EVENT_SOURCE(DeferredDeleter::QueueStatusEvent, 0x0180A6F0) DECLARE_EVENT_SOURCE(DialogueMenu_CompleteExit, 0x015965F0) DECLARE_EVENT_SOURCE(DialogueMenu_OnDialogueSelect, 0x01EBD1B0) DECLARE_EVENT_SOURCE(DialogueMenu_OnListVisibilityChange, 0x01EBCFD0) DECLARE_EVENT_SOURCE(DialogueMenu_OnPersuasionAutoWin, 0x01EBD250) DECLARE_EVENT_SOURCE(DialogueMenu_OnScriptedDialogueSelect, 0x01EBCF30) DECLARE_EVENT_SOURCE(DialogueMenu_RequestExit, 0x01EBD070) DECLARE_EVENT_SOURCE(DialogueMenu_RequestSkipDialogue, 0x01EBD110) DECLARE_EVENT_SOURCE(DisplayFatigueWarningEvent, 0x015BB970) //DECLARE_EVENT_SOURCE(DocAcceptMenu_Accept, 0x01335B90) //DECLARE_EVENT_SOURCE(DynNavMeshOpRecord::CompleteEvent, 0x006862D0) //DECLARE_EVENT_SOURCE(DynamicNavMeshBuildCompleteEvent, 0x003B4240) DECLARE_EVENT_SOURCE(EndLoadGameEvent, 0x0035DA70) //DECLARE_EVENT_SOURCE(ExitVehicleEvent, 0x0132E070) DECLARE_EVENT_SOURCE(ExperienceMeterDisplayData, 0x015BAC90) DECLARE_EVENT_SOURCE(FaderMenuDisplayState, 0x01EBEB30) DECLARE_EVENT_SOURCE(FavoritesMenu_AssignQuickkey, 0x01EC6AD0) DECLARE_EVENT_SOURCE(FavoritesMenu_UseQuickkey, 0x01EC6A30) //DECLARE_EVENT_SOURCE(GameActiveChangeEvent, 0x01372540) //DECLARE_EVENT_SOURCE(GameResetEvent, 0x01830280) DECLARE_EVENT_SOURCE(GameStalledEvent, 0x027F6E10) DECLARE_EVENT_SOURCE(GlobalFunc_CloseAllMenus, 0x015AFA90) DECLARE_EVENT_SOURCE(GlobalFunc_CloseMenu, 0x015AFB30) DECLARE_EVENT_SOURCE(GlobalFunc_PlayMenuSound, 0x015AFD10) DECLARE_EVENT_SOURCE(GlobalFunc_StartGameRender, 0x015AFC70) DECLARE_EVENT_SOURCE(GlobalFunc_UserEvent, 0x015AFBD0) DECLARE_EVENT_SOURCE(HUDActivityIncreaseEvent, 0x002B7430) DECLARE_EVENT_SOURCE(HUDCrewBuffMessageEvent, 0x01440C20) DECLARE_EVENT_SOURCE(HUDModeEvent, 0x0146DC60) DECLARE_EVENT_SOURCE(HUDNotificationEvent, 0x015C8470) DECLARE_EVENT_SOURCE(HUDNotification_MissionActiveWidgetUpdate, 0x015C83D0) DECLARE_EVENT_SOURCE(HUDNotification_OpenDataMenu, 0x015C8290) DECLARE_EVENT_SOURCE(HUDNotification_OpenMissionMenu, 0x015C81F0) DECLARE_EVENT_SOURCE(HUDNotification_SetMissionActive, 0x015C8330) DECLARE_EVENT_SOURCE(HUDRolloverActivationButtonEvent, 0x0146DB20) DECLARE_EVENT_SOURCE(HUDRolloverActivationQCItemPressEvent, 0x0146DA80) DECLARE_EVENT_SOURCE(HUDWeaponWorldFOVMultChangedEvent, 0x0085A5E0) DECLARE_EVENT_SOURCE(HangarShipSelection_ChangeSystemDisplay, 0x013F28E0) DECLARE_EVENT_SOURCE(HangarShipSelection_RepairShip, 0x013F27A0) DECLARE_EVENT_SOURCE(HangarShipSelection_UpgradeSystem, 0x013F2840) DECLARE_EVENT_SOURCE(HomeShipSetEvent, 0x0130DEA0) DECLARE_EVENT_SOURCE(ImageFixtureEvent_RequestImage, 0x0255DB70) DECLARE_EVENT_SOURCE(ImageFixtureEvent_UnregisterImage, 0x0255DAD0) DECLARE_EVENT_SOURCE(InventoryItemEvent::Event, 0x012D5100) DECLARE_EVENT_SOURCE(InventoryMenu_Change3DView, 0x0145B100) DECLARE_EVENT_SOURCE(InventoryMenu_DropItem, 0x015EE150) DECLARE_EVENT_SOURCE(InventoryMenu_HideModel, 0x015EE290) DECLARE_EVENT_SOURCE(InventoryMenu_LoadModel, 0x015EE330) DECLARE_EVENT_SOURCE(InventoryMenu_OnEnterCategory, 0x015EDE30) DECLARE_EVENT_SOURCE(InventoryMenu_OpenCargoHold, 0x015EE0B0) DECLARE_EVENT_SOURCE(InventoryMenu_PaperDollTryOn, 0x0145B060) DECLARE_EVENT_SOURCE(InventoryMenu_ResetPaperDollInv, 0x0145AFC0) DECLARE_EVENT_SOURCE(InventoryMenu_SelectItem, 0x015EE1F0) DECLARE_EVENT_SOURCE(InventoryMenu_SetMouseOverModel, 0x015EDED0) //DECLARE_EVENT_SOURCE(InventoryMenu_StartCloseAnim, 0x0158B230) DECLARE_EVENT_SOURCE(InventoryMenu_ToggleFavorite, 0x015EE010) DECLARE_EVENT_SOURCE(InventoryMenu_ToggleHelmet, 0x014DDAF0) DECLARE_EVENT_SOURCE(InventoryMenu_ToggleSuit, 0x014DDA50) DECLARE_EVENT_SOURCE(Inventory_SetSort, 0x0146D9E0) DECLARE_EVENT_SOURCE(LevelIncrease::Event, 0x01A3F2A0) DECLARE_EVENT_SOURCE(LevelUp_AnimFinished, 0x015BABF0) DECLARE_EVENT_SOURCE(LevelUp_OnWidgetShown, 0x015BAA10) DECLARE_EVENT_SOURCE(LevelUp_OpenDataMenu, 0x015BAAB0) DECLARE_EVENT_SOURCE(LevelUp_ShowSkills, 0x015BAB50) DECLARE_EVENT_SOURCE(LoadScreenEndEvent, 0x00589F50) DECLARE_EVENT_SOURCE(LoadScreenStartEvent, 0x00589FF0) DECLARE_EVENT_SOURCE(LoadingMenu_RefreshText, 0x01ECD020) DECLARE_EVENT_SOURCE(LocationTextWidget_FinishedQueue, 0x015BA970) DECLARE_EVENT_SOURCE(MainMenu_ActionCanceled, 0x01ED53E0) DECLARE_EVENT_SOURCE(MainMenu_ActionConfirmed, 0x01ED5480) DECLARE_EVENT_SOURCE(MainMenu_ConfirmLoad, 0x01ED52A0) DECLARE_EVENT_SOURCE(MainMenu_DeleteSave, 0x01ED5200) //DECLARE_EVENT_SOURCE(MainMenu_LegalScreenComplete, 0x01E5BAE0) DECLARE_EVENT_SOURCE(MainMenu_SetCharacter, 0x01ED5160) DECLARE_EVENT_SOURCE(MainMenu_StartAction, 0x01ED5520) DECLARE_EVENT_SOURCE(MainMenu_StartLoad, 0x01ED5340) DECLARE_EVENT_SOURCE(MainMenu_UploadSave, 0x01ED50C0) DECLARE_EVENT_SOURCE(MessageBoxMenu_OnBackOut, 0x01EDDC70) DECLARE_EVENT_SOURCE(MessageBoxMenu_OnButtonPress, 0x01EDDDB0) DECLARE_EVENT_SOURCE(MessageBoxMenu_OnScriptedButtonPress, 0x01EDDD10) DECLARE_EVENT_SOURCE(MissionBoard_MissionEntryChanged, 0x015F3810) DECLARE_EVENT_SOURCE(MissionBoard_MissionEntryPressed, 0x015F38B0) DECLARE_EVENT_SOURCE(MissionMenu_ClearState, 0x015E1230) DECLARE_EVENT_SOURCE(MissionMenu_PlotToLocation, 0x015E1550) DECLARE_EVENT_SOURCE(MissionMenu_RejectQuest, 0x015E1410) DECLARE_EVENT_SOURCE(MissionMenu_SaveCategoryIndex, 0x015E12D0) DECLARE_EVENT_SOURCE(MissionMenu_SaveOpenedId, 0x015E1370) DECLARE_EVENT_SOURCE(MissionMenu_ShowItemLocation, 0x015E15F0) //DECLARE_EVENT_SOURCE(MissionMenu_ToggleQTDisplay, 0x0157EBC0) DECLARE_EVENT_SOURCE(MissionMenu_ToggleTrackingQuest, 0x015E14B0) DECLARE_EVENT_SOURCE(ModelReferenceEffectEvents::ReferenceEffectFinished, 0x01775630) DECLARE_EVENT_SOURCE(MonocleMenu_Bioscan, 0x015FE830) DECLARE_EVENT_SOURCE(MonocleMenu_FastTravel, 0x015FE330) DECLARE_EVENT_SOURCE(MonocleMenu_Harvest, 0x015FE8D0) DECLARE_EVENT_SOURCE(MonocleMenu_Initialize, 0x015FEAB0) //DECLARE_EVENT_SOURCE(MonocleMenu_OpenDoor, 0x0159B470) DECLARE_EVENT_SOURCE(MonocleMenu_Outpost, 0x015FE970) DECLARE_EVENT_SOURCE(MonocleMenu_PhotoMode, 0x015FE650) DECLARE_EVENT_SOURCE(MonocleMenu_Shutdown, 0x015FEA10) DECLARE_EVENT_SOURCE(MonocleMenu_SocialSpell, 0x015FE790) DECLARE_EVENT_SOURCE(MonocleMenu_StartContainerView, 0x015FE470) DECLARE_EVENT_SOURCE(MonocleMenu_StopContainerView, 0x015FE3D0) DECLARE_EVENT_SOURCE(MonocleMenu_SurfaceMap, 0x015FE6F0) DECLARE_EVENT_SOURCE(MonocleMenu_UseListScrollControls, 0x015FE290) DECLARE_EVENT_SOURCE(MonocleMenu_ZoomIn, 0x015FE5B0) DECLARE_EVENT_SOURCE(MonocleMenu_ZoomOut, 0x015FE510) DECLARE_EVENT_SOURCE(OpenContainerMenuEventData, 0x0146DD00) DECLARE_EVENT_SOURCE(OpenContainerMenuFromListenerEvent, 0x0146DBC0) DECLARE_EVENT_SOURCE(PauseMenu_ActionCanceled, 0x016713C0) DECLARE_EVENT_SOURCE(PauseMenu_ConfirmAction, 0x01671460) DECLARE_EVENT_SOURCE(PauseMenu_ConfirmLoad, 0x01671280) DECLARE_EVENT_SOURCE(PauseMenu_ConfirmSave, 0x016710A0) DECLARE_EVENT_SOURCE(PauseMenu_DeleteSave, 0x016711E0) DECLARE_EVENT_SOURCE(PauseMenu_QuitToDesktop, 0x01671000) DECLARE_EVENT_SOURCE(PauseMenu_SetCharacter, 0x01671140) DECLARE_EVENT_SOURCE(PauseMenu_StartAction, 0x01671500) DECLARE_EVENT_SOURCE(PauseMenu_StartLoad, 0x01671320) DECLARE_EVENT_SOURCE(PauseMenu_UploadSave, 0x01670F60) DECLARE_EVENT_SOURCE(PerkChanged::Event, 0x00CA46A0) DECLARE_EVENT_SOURCE(PhotoGallery_DeletePhoto, 0x013D8A10) DECLARE_EVENT_SOURCE(PhotoMode_InitializeCategory, 0x01604F40) //DECLARE_EVENT_SOURCE(PhotoMode_RefineSetting, 0x015A1D50) DECLARE_EVENT_SOURCE(PhotoMode_ResetToDefaults, 0x01604EA0) DECLARE_EVENT_SOURCE(PhotoMode_SliderChanged, 0x01604E00) DECLARE_EVENT_SOURCE(PhotoMode_StepperChanged, 0x01604D60) DECLARE_EVENT_SOURCE(PhotoMode_TakeSnapshot, 0x01604CC0) DECLARE_EVENT_SOURCE(PhotoMode_ToggleHelmet, 0x01604B80) DECLARE_EVENT_SOURCE(PhotoMode_ToggleUI, 0x01604C20) DECLARE_EVENT_SOURCE(PickRefStateChangedEvent, 0x005F8590) DECLARE_EVENT_SOURCE(PickRefUpdateEvent, 0x00F4FAC0) DECLARE_EVENT_SOURCE(PickpocketMenu_OnItemSelect, 0x01609590) DECLARE_EVENT_SOURCE(PlayBink_CloseMenu, 0x016724A0) DECLARE_EVENT_SOURCE(PlayerAutoAimActorEvent, 0x01A74670) DECLARE_EVENT_SOURCE(PlayerCharacterQuestEvent::Event, 0x00D0E3A0) DECLARE_EVENT_SOURCE(PlayerControls::PlayerIronSightsEndEvent, 0x012C48C0) DECLARE_EVENT_SOURCE(PlayerControls::PlayerIronSightsStartEvent, 0x012C4960) DECLARE_EVENT_SOURCE(PlayerControls::PlayerJumpPressEvent, 0x012BCB20) DECLARE_EVENT_SOURCE(PlayerControls::PlayerJumpReleaseEvent, 0x012BCA80) DECLARE_EVENT_SOURCE(PlayerControls::PlayerZeroGSprintJustPressedEvent, 0x012BEB40) DECLARE_EVENT_SOURCE(PlayerControls::PlayerZeroGSprintReleasedEvent, 0x012BEAA0) DECLARE_EVENT_SOURCE(PlayerCrosshairModeEvent, 0x014894A0) DECLARE_EVENT_SOURCE(PlayerDetectionLevelChangeEvent, 0x01496070) //DECLARE_EVENT_SOURCE(PlayerFastTravelFromVehicleEvent, 0x0211EFB0) DECLARE_EVENT_SOURCE(PlayerInCombatChangeEvent, 0x01A7B850) DECLARE_EVENT_SOURCE(PlayerSetWeaponStateEvent, 0x015CB7F0) DECLARE_EVENT_SOURCE(PlayerSneakingChangeEvent, 0x012BE5F0) DECLARE_EVENT_SOURCE(PlayerUpdateEvent, 0x014DDB90) DECLARE_EVENT_SOURCE(PowersMenu_ActivateEssence, 0x013DFBF0) DECLARE_EVENT_SOURCE(PowersMenu_EquipPower, 0x013DFD30) DECLARE_EVENT_SOURCE(PowersMenu_FavoritePower, 0x013DFC90) //DECLARE_EVENT_SOURCE(ProjectileBeginUpdateEvent, 0x01AC2CB0) //DECLARE_EVENT_SOURCE(ProjectileKillEvent, 0x01AC2CB0) //DECLARE_EVENT_SOURCE(QueuedReferenceFinishedEvent, 0x0055FBE0) DECLARE_EVENT_SOURCE(ReferenceCellLoadedTemps, 0x009284A0) DECLARE_EVENT_SOURCE(ReferenceQueuedEvent, 0x00572D80) //DECLARE_EVENT_SOURCE(RefreshDataMenuForSkillsChangeEvent, 0x013FB0E0) DECLARE_EVENT_SOURCE(Refuel_Accept, 0x0162A100) DECLARE_EVENT_SOURCE(Refuel_Cancel, 0x0162A060) DECLARE_EVENT_SOURCE(Research::ResearchProgressEvent, 0x01803200) DECLARE_EVENT_SOURCE(ResearchMenu_AddMaterial, 0x01614630) DECLARE_EVENT_SOURCE(ResearchMenu_CategorySelected, 0x01614810) DECLARE_EVENT_SOURCE(ResearchMenu_ExitMenu, 0x01614590) DECLARE_EVENT_SOURCE(ResearchMenu_HideModel, 0x016144F0) DECLARE_EVENT_SOURCE(ResearchMenu_PreviewProject, 0x01614770) DECLARE_EVENT_SOURCE(ResearchMenu_ProjectViewed, 0x016146D0) DECLARE_EVENT_SOURCE(ResearchMenu_SetInspectControls, 0x01614450) DECLARE_EVENT_SOURCE(ResearchMenu_ToggleTrackingProject, 0x016143B0) DECLARE_EVENT_SOURCE(ResetHistoryDataEvent, 0x00841F10) //DECLARE_EVENT_SOURCE(ResourceServerLogDumped, 0x02774EF0) DECLARE_EVENT_SOURCE(Reticle_OnLongAnimFinished, 0x0167B650) DECLARE_EVENT_SOURCE(RuntimeComponentDBFactory::ReferenceAttach, 0x003EA520) DECLARE_EVENT_SOURCE(RuntimeComponentDBFactory::ReferenceCleared3d, 0x006809A0) DECLARE_EVENT_SOURCE(RuntimeComponentDBFactory::ReferenceDestroy, 0x00680860) DECLARE_EVENT_SOURCE(RuntimeComponentDBFactory::ReferenceDetach, 0x003EA480) DECLARE_EVENT_SOURCE(RuntimeComponentDBFactory::ReferenceInit, 0x00680900) DECLARE_EVENT_SOURCE(RuntimeComponentDBFactory::ReferenceRecycle, 0x006807C0) DECLARE_EVENT_SOURCE(RuntimeComponentDBFactory::ReferenceSet3d, 0x00680A40) DECLARE_EVENT_SOURCE(RuntimeComponentDBFactory::Release3DRelatedData, 0x00681560) DECLARE_EVENT_SOURCE(SaveLoadEvent, 0x012EE230) DECLARE_EVENT_SOURCE(SaveLoadMessageStringEvent, 0x015C0870) DECLARE_EVENT_SOURCE(SecurityMenu_BackOutKey, 0x01622BC0) DECLARE_EVENT_SOURCE(SecurityMenu_CloseMenu, 0x01622D00) DECLARE_EVENT_SOURCE(SecurityMenu_ConfirmExit, 0x016229E0) DECLARE_EVENT_SOURCE(SecurityMenu_EliminateUnusedKeys, 0x01622A80) DECLARE_EVENT_SOURCE(SecurityMenu_GetRingHint, 0x01622B20) DECLARE_EVENT_SOURCE(SecurityMenu_SelectNewKey, 0x01622940) DECLARE_EVENT_SOURCE(SecurityMenu_TryUseKey, 0x01622C60) DECLARE_EVENT_SOURCE(SettingsPanel_CheckBoxChanged, 0x01537890) DECLARE_EVENT_SOURCE(SettingsPanel_ClearBinding, 0x01537610) //DECLARE_EVENT_SOURCE(SettingsPanel_LinkClicked, 0x014D64F0) DECLARE_EVENT_SOURCE(SettingsPanel_OpenCategory, 0x015376B0) DECLARE_EVENT_SOURCE(SettingsPanel_OpenSettings, 0x01537750) DECLARE_EVENT_SOURCE(SettingsPanel_RemapConfirmed, 0x01537570) DECLARE_EVENT_SOURCE(SettingsPanel_RemapMode, 0x01537BB0) DECLARE_EVENT_SOURCE(SettingsPanel_ResetToDefaults, 0x015377F0) DECLARE_EVENT_SOURCE(SettingsPanel_SaveControls, 0x01537B10) DECLARE_EVENT_SOURCE(SettingsPanel_SaveSettings, 0x01537A70) DECLARE_EVENT_SOURCE(SettingsPanel_SliderChanged, 0x015379D0) DECLARE_EVENT_SOURCE(SettingsPanel_StepperChanged, 0x01537930) DECLARE_EVENT_SOURCE(SettingsPanel_ValidateControls, 0x015374D0) //DECLARE_EVENT_SOURCE(SettingsSavedEvent, 0x014D6380) DECLARE_EVENT_SOURCE(ShipBuilder_CloseAllMenus, 0x004ED0E0) DECLARE_EVENT_SOURCE(ShipCameraStateToggled, 0x00FA5100) DECLARE_EVENT_SOURCE(ShipCrewAssignMenu_Assign, 0x01628820) DECLARE_EVENT_SOURCE(ShipCrewAssignMenu_Unassign, 0x01628780) DECLARE_EVENT_SOURCE(ShipCrewMenu_Close, 0x013F2660) DECLARE_EVENT_SOURCE(ShipCrewMenu_OpenAssignMenu, 0x01542650) DECLARE_EVENT_SOURCE(ShipCrewMenu_SetSort, 0x015426F0) DECLARE_EVENT_SOURCE(ShipCrewMenu_ViewedItem, 0x016288D0) DECLARE_EVENT_SOURCE(ShipEditor_ChangeModuleCategory, 0x004BCB90) DECLARE_EVENT_SOURCE(ShipEditor_OnColorPickerControlChanged, 0x0039A530) DECLARE_EVENT_SOURCE(ShipEditor_OnColorPickerTabChanged, 0x0039A670) DECLARE_EVENT_SOURCE(ShipEditor_OnColorSliderMouseInput, 0x0039A490) DECLARE_EVENT_SOURCE(ShipEditor_OnExitConfirmCancel, 0x004AAC50) DECLARE_EVENT_SOURCE(ShipEditor_OnExitConfirmExit, 0x004AACF0) DECLARE_EVENT_SOURCE(ShipEditor_OnExitConfirmSaveAndExit, 0x004AABB0) DECLARE_EVENT_SOURCE(ShipEditor_OnFlightCheckTabChanged, 0x004B0DE0) DECLARE_EVENT_SOURCE(ShipEditor_OnHintButtonActivated, 0x004ED040) DECLARE_EVENT_SOURCE(ShipEditor_OnRecentColorSwatchClicked, 0x0039A5D0) DECLARE_EVENT_SOURCE(ShipEditor_OnRenameEndEditText, 0x004B6BF0) DECLARE_EVENT_SOURCE(ShipEditor_OnRenameInputCancelled, 0x004B6C90) DECLARE_EVENT_SOURCE(ShipEditor_OnWeaponGroupChanged, 0x004B0D40) DECLARE_EVENT_SOURCE(ShipEditor_PreviewShipPart, 0x004BCC30) DECLARE_EVENT_SOURCE(ShipEditor_PreviewUpgrade, 0x00394420) DECLARE_EVENT_SOURCE(ShipEditor_RemoveAll3D, 0x004ECFA0) DECLARE_EVENT_SOURCE(ShipEditor_SelectedShipPart, 0x004BCCD0) DECLARE_EVENT_SOURCE(ShipEditor_SelectedUpgrade, 0x00394380) DECLARE_EVENT_SOURCE(ShipEditor_SystemSelected, 0x0038DB90) DECLARE_EVENT_SOURCE(ShipHudQuickContainer_TransferItem, 0x0167B790) DECLARE_EVENT_SOURCE(ShipHudQuickContainer_TransferMenu, 0x015702A0) DECLARE_EVENT_SOURCE(ShipHud_AbortJump, 0x0167B6F0) DECLARE_EVENT_SOURCE(ShipHud_Activate, 0x01570340) DECLARE_EVENT_SOURCE(ShipHud_BodyViewMarkerDimensions, 0x0156FB20) DECLARE_EVENT_SOURCE(ShipHud_ChangeComponentSelection, 0x01570660) DECLARE_EVENT_SOURCE(ShipHud_CloseMenu, 0x015707A0) DECLARE_EVENT_SOURCE(ShipHud_Deselect, 0x015703E0) DECLARE_EVENT_SOURCE(ShipHud_DockRequested, 0x0167B830) DECLARE_EVENT_SOURCE(ShipHud_FarTravel, 0x0156F9E0) DECLARE_EVENT_SOURCE(ShipHud_HailAccepted, 0x0156FF80) DECLARE_EVENT_SOURCE(ShipHud_HailCancelled, 0x01570020) DECLARE_EVENT_SOURCE(ShipHud_HailShip, 0x0167B8D0) DECLARE_EVENT_SOURCE(ShipHud_JumpToQuestMarker, 0x0156FE40) DECLARE_EVENT_SOURCE(ShipHud_Land, 0x01570200) DECLARE_EVENT_SOURCE(ShipHud_LandingMarkerMap, 0x015700C0) DECLARE_EVENT_SOURCE(ShipHud_Map, 0x01570160) DECLARE_EVENT_SOURCE(ShipHud_OnMonocleToggle, 0x0156FEE0) DECLARE_EVENT_SOURCE(ShipHud_OpenPhotoMode, 0x0156FBC0) DECLARE_EVENT_SOURCE(ShipHud_Repair, 0x0156FA80) DECLARE_EVENT_SOURCE(ShipHud_SetTargetMode, 0x0156FDA0) DECLARE_EVENT_SOURCE(ShipHud_Target, 0x01570480) DECLARE_EVENT_SOURCE(ShipHud_TargetShipSystem, 0x0156FD00) DECLARE_EVENT_SOURCE(ShipHud_UntargetShipSystem, 0x0156FC60) DECLARE_EVENT_SOURCE(ShipHud_UpdateComponentPower, 0x01570700) DECLARE_EVENT_SOURCE(ShipHud_UpdateTargetPanelRect, 0x0167B090) DECLARE_EVENT_SOURCE(ShowCustomWatchAlert, 0x0149BF20) DECLARE_EVENT_SOURCE(ShowHUDMessageEvent, 0x01491AA0) DECLARE_EVENT_SOURCE(ShowLongShipBootup, 0x015705C0) DECLARE_EVENT_SOURCE(ShowingQuestMarketTextEvent, 0x01486000) DECLARE_EVENT_SOURCE(SkillsMenu_Accept, 0x01630290) DECLARE_EVENT_SOURCE(SkillsMenu_AddPatch, 0x016301F0) DECLARE_EVENT_SOURCE(SkillsMenu_Cancel, 0x01630330) DECLARE_EVENT_SOURCE(SkillsMenu_ChangeCursorVisibility, 0x01630150) DECLARE_EVENT_SOURCE(SkillsMenu_SaveLastCategory, 0x016300B0) DECLARE_EVENT_SOURCE(SleepWaitMenu_InterruptRest, 0x01EE2160) DECLARE_EVENT_SOURCE(SleepWaitMenu_StartRest, 0x01EE2200) DECLARE_EVENT_SOURCE(SnapTemplateUtils::SnapReplaceEvent, 0x00941D80) DECLARE_EVENT_SOURCE(Spaceship::BoughtEvent, 0x02162DC0) DECLARE_EVENT_SOURCE(Spaceship::ContrabandScanWarningEvent, 0x021635E0) DECLARE_EVENT_SOURCE(Spaceship::DockEvent, 0x02162F00) DECLARE_EVENT_SOURCE(Spaceship::DynamicNavmeshCompleted, 0x021632C0) DECLARE_EVENT_SOURCE(Spaceship::FarTravelEvent, 0x021634A0) DECLARE_EVENT_SOURCE(Spaceship::GravJumpEvent, 0x0167B3D0) DECLARE_EVENT_SOURCE(Spaceship::LandedSetEvent, 0x0167B330) DECLARE_EVENT_SOURCE(Spaceship::LandingEvent, 0x02163360) DECLARE_EVENT_SOURCE(Spaceship::PlanetScanEvent, 0x02163540) DECLARE_EVENT_SOURCE(Spaceship::PlayerMovementOutputEvent, 0x01570520) DECLARE_EVENT_SOURCE(Spaceship::RampDownEvent, 0x02162AA0) DECLARE_EVENT_SOURCE(Spaceship::RefueledEvent, 0x02162E60) DECLARE_EVENT_SOURCE(Spaceship::RegisteredEvent, 0x02162BE0) DECLARE_EVENT_SOURCE(Spaceship::ShieldEvent, 0x02162A00) DECLARE_EVENT_SOURCE(Spaceship::ShipAddedEvent, 0x02162B40) DECLARE_EVENT_SOURCE(Spaceship::ShipCollisionEvent, 0x02162960) DECLARE_EVENT_SOURCE(Spaceship::ShipCustomizedEvent, 0x02162820) DECLARE_EVENT_SOURCE(Spaceship::SoldEvent, 0x02162D20) DECLARE_EVENT_SOURCE(Spaceship::SystemDamagedEvent, 0x021630E0) DECLARE_EVENT_SOURCE(Spaceship::SystemPowerAllocationEvent, 0x02163180) DECLARE_EVENT_SOURCE(Spaceship::SystemPowerChangeEvent, 0x02163220) DECLARE_EVENT_SOURCE(Spaceship::SystemRepairedBIEvent, 0x02162FA0) DECLARE_EVENT_SOURCE(Spaceship::SystemRepairedEvent, 0x02163040) DECLARE_EVENT_SOURCE(Spaceship::TakeDamagEvent, 0x021628C0) DECLARE_EVENT_SOURCE(Spaceship::TakeOffEvent, 0x02163400) DECLARE_EVENT_SOURCE(SpaceshipBIEvents::ShipPowerAllocationBIEventSent, 0x017A28D0) DECLARE_EVENT_SOURCE(SpaceshipWeaponBinding::SpaceshipWeaponBindingChangedEvent, 0x01311680) DECLARE_EVENT_SOURCE(StarMap::PlanetTraitKnownEvent, 0x007C0920) DECLARE_EVENT_SOURCE(StarMapMenu_ExecuteRoute, 0x016C5A20) DECLARE_EVENT_SOURCE(StarMapMenu_Galaxy_FocusSystem, 0x016B4C70) DECLARE_EVENT_SOURCE(StarMapMenu_LandingInputInProgress, 0x016961D0) DECLARE_EVENT_SOURCE(StarMapMenu_MarkerGroupContainerVisibilityChanged, 0x01695FF0) DECLARE_EVENT_SOURCE(StarMapMenu_MarkerGroupEntryClicked, 0x01695F50) DECLARE_EVENT_SOURCE(StarMapMenu_MarkerGroupEntryHoverChanged, 0x01695EB0) DECLARE_EVENT_SOURCE(StarMapMenu_OnCancel, 0x016C57A0) DECLARE_EVENT_SOURCE(StarMapMenu_OnClearRoute, 0x016C5AC0) DECLARE_EVENT_SOURCE(StarMapMenu_OnExitStarMap, 0x016C58E0) DECLARE_EVENT_SOURCE(StarMapMenu_OnGalaxyViewInitialized, 0x016B4BD0) DECLARE_EVENT_SOURCE(StarMapMenu_OnHintButtonClicked, 0x016C5980) DECLARE_EVENT_SOURCE(StarMapMenu_OnOutpostEntrySelected, 0x016C5840) DECLARE_EVENT_SOURCE(StarMapMenu_QuickSelectChange, 0x016A71D0) DECLARE_EVENT_SOURCE(StarMapMenu_ReadyToClose, 0x016C5700) DECLARE_EVENT_SOURCE(StarMapMenu_ScanPlanet, 0x01696270) DECLARE_EVENT_SOURCE(StarMapMenu_SelectedLandingSite, 0x01696090) DECLARE_EVENT_SOURCE(StarMapMenu_SelectedLandingSiteFailed, 0x016954F0) DECLARE_EVENT_SOURCE(StarMapMenu_ShowRealCursor, 0x01696130) DECLARE_EVENT_SOURCE(StartLoadGameEvent, 0x0035DB10) DECLARE_EVENT_SOURCE(StartOutpostFromListenerEvent, 0x01465250) //DECLARE_EVENT_SOURCE(SurfaceMapMenu_EnablePointCloud, 0x01682090) DECLARE_EVENT_SOURCE(SurfaceMapMenu_MarkerClicked, 0x016E4DC0) DECLARE_EVENT_SOURCE(SurfaceMapMenu_TryPlaceCustomMarker, 0x016E4D20) DECLARE_EVENT_SOURCE(TESCellCriticalRefsAttachedEvent, 0x00581CA0) DECLARE_EVENT_SOURCE(TESCellFullyLoadedEvent, 0x00581CA0) DECLARE_EVENT_SOURCE(TESCellReference3DAttachEvent, 0x0046B770) //DECLARE_EVENT_SOURCE(TESFilesCompiledEvent, 0x005A6830) //DECLARE_EVENT_SOURCE(TESObjectREFRDuplicate::Event, 0x00B611F0) DECLARE_EVENT_SOURCE(TESOpenCloseEvent, 0x01885AE0) DECLARE_EVENT_SOURCE(TESQuestEvent::Event, 0x00D0E3A0) DECLARE_EVENT_SOURCE(TESQuestRewardEvent, 0x00857350) DECLARE_EVENT_SOURCE(TESSceneEvent, 0x00CB5420) DECLARE_EVENT_SOURCE(TESUniqueIDChangeEvent, 0x00B656E0) DECLARE_EVENT_SOURCE(TakeoffMenu_CloseMenu, 0x0167B150) DECLARE_EVENT_SOURCE(TakeoffMenu_ExitShip, 0x0167B1F0) DECLARE_EVENT_SOURCE(TakeoffMenu_Launch, 0x0167B290) DECLARE_EVENT_SOURCE(TargetHitEvent, 0x01489680) DECLARE_EVENT_SOURCE(TerminalMenu_CancelEvent, 0x01700970) DECLARE_EVENT_SOURCE(Terminal_CloseAllViews, 0x017006F0) DECLARE_EVENT_SOURCE(Terminal_CloseTopView, 0x01700790) DECLARE_EVENT_SOURCE(Terminal_CloseView, 0x01700830) DECLARE_EVENT_SOURCE(Terminal_MenuItemClick, 0x017008D0) DECLARE_EVENT_SOURCE(TestMenu_DoAction, 0x0170A230) DECLARE_EVENT_SOURCE(TestMenu_ExitMenu, 0x0170A0F0) DECLARE_EVENT_SOURCE(TestMenu_ShowImages, 0x0170A2D0) DECLARE_EVENT_SOURCE(TestMenu_ShowResources, 0x0170A370) DECLARE_EVENT_SOURCE(TestMenu_TestAll, 0x0170A190) DECLARE_EVENT_SOURCE(TextInputMenu_EndEditText, 0x017175A0) DECLARE_EVENT_SOURCE(TextInputMenu_InputCanceled, 0x017176E0) DECLARE_EVENT_SOURCE(TextInputMenu_StartEditText, 0x01717640) //DECLARE_EVENT_SOURCE(TitleSequenceMenu_StartMusic, 0x01E6B910) //DECLARE_EVENT_SOURCE(UGCServicesStatusChangeEvent, 0x01E5BA40) DECLARE_EVENT_SOURCE(UIMenuChargenMenuDisablePaperdoll, 0x0165B6F0) DECLARE_EVENT_SOURCE(UnlockedTerminalElementEvent, 0x016228A0) DECLARE_EVENT_SOURCE(UpdateActivateListenerEvent, 0x01462DF0) DECLARE_EVENT_SOURCE(UpdateSceneRectEvent, 0x02557510) //DECLARE_EVENT_SOURCE(VehicleDriverEnterExitEvent, 0x0211F050) DECLARE_EVENT_SOURCE(WeaponGroupAssignmentMenu_ChangeWeaponAssignment, 0x00486080) DECLARE_EVENT_SOURCE(WeaponGroupAssignmentMenu_OnHintButtonActivated, 0x00486120) DECLARE_EVENT_SOURCE(Workshop::CargoLinkAddedEvent, 0x00F50380) DECLARE_EVENT_SOURCE(Workshop::CargoLinkTargetChangedEvent, 0x00F4FC00) DECLARE_EVENT_SOURCE(Workshop::EnterOutpostBeaconModeEvent, 0x00F4FCA0) DECLARE_EVENT_SOURCE(Workshop::ItemGrabbedEvent, 0x00F50060) DECLARE_EVENT_SOURCE(Workshop::ItemMovedEvent, 0x00F4F840) DECLARE_EVENT_SOURCE(Workshop::ItemPlacedEvent, 0x00F4FF20) DECLARE_EVENT_SOURCE(Workshop::ItemProducedEvent, 0x00F50100) DECLARE_EVENT_SOURCE(Workshop::ItemRemovedEvent, 0x00F4FFC0) DECLARE_EVENT_SOURCE(Workshop::ItemRepairedEvent, 0x00F4F7A0) DECLARE_EVENT_SOURCE(Workshop::ItemScrappedEvent, 0x00F502E0) DECLARE_EVENT_SOURCE(Workshop::OutpostNameChangedEvent, 0x00F4FB60) DECLARE_EVENT_SOURCE(Workshop::OutpostPlacedEvent, 0x00F4FD40) DECLARE_EVENT_SOURCE(Workshop::PlacementStatusEvent, 0x00F4FA20) DECLARE_EVENT_SOURCE(Workshop::PowerOffEvent, 0x00F50240) DECLARE_EVENT_SOURCE(Workshop::PowerOnEvent, 0x00F501A0) DECLARE_EVENT_SOURCE(Workshop::SnapBehaviorCycledEvent, 0x00F50560) DECLARE_EVENT_SOURCE(Workshop::WorkshopFlyCameraEvent, 0x00F4F8E0) DECLARE_EVENT_SOURCE(Workshop::WorkshopItemPlacedEvent, 0x00F4FE80) DECLARE_EVENT_SOURCE(Workshop::WorkshopModeEvent, 0x00F4F980) //DECLARE_EVENT_SOURCE(Workshop::WorkshopObjectModifiedBIEvent, 0x00F3AC60) DECLARE_EVENT_SOURCE(Workshop::WorkshopOutputLinkEvent, 0x00F4FDE0) DECLARE_EVENT_SOURCE(Workshop::WorkshopStatsChangedEvent, 0x00F50420) DECLARE_EVENT_SOURCE(Workshop::WorkshopUpdateStatsEvent, 0x00F504C0) DECLARE_EVENT_SOURCE(WorkshopActionButton_HoldFinished, 0x0173FF10) DECLARE_EVENT_SOURCE(WorkshopActionButton_HoldStopped, 0x0173FE70) DECLARE_EVENT_SOURCE(WorkshopBuilderMenu_ChangeBuildItem, 0x0171B6B0) DECLARE_EVENT_SOURCE(WorkshopBuilderMenu_SelectedItem, 0x0171B610) DECLARE_EVENT_SOURCE(WorkshopBuilderMenu_ToggleTracking, 0x0171B570) DECLARE_EVENT_SOURCE(WorkshopColorMode_ApplyColors, 0x0143EDC0) DECLARE_EVENT_SOURCE(WorkshopColorMode_SelectedTab, 0x0143ED20) DECLARE_EVENT_SOURCE(WorkshopColorMode_SliderChanged, 0x0143EC80) DECLARE_EVENT_SOURCE(WorkshopColorMode_SwatchChanged, 0x0143EBE0) DECLARE_EVENT_SOURCE(WorkshopMenu_AttemptBuild, 0x01722210) DECLARE_EVENT_SOURCE(WorkshopMenu_CancelAction, 0x01721F90) DECLARE_EVENT_SOURCE(WorkshopMenu_ChangeVariant, 0x01722030) DECLARE_EVENT_SOURCE(WorkshopMenu_ConnectionEvent, 0x01721DB0) DECLARE_EVENT_SOURCE(WorkshopMenu_ExitMenu, 0x01721EF0) DECLARE_EVENT_SOURCE(WorkshopMenu_MessageCallback, 0x01721B30) DECLARE_EVENT_SOURCE(WorkshopMenu_SelectedCategory, 0x017220D0) DECLARE_EVENT_SOURCE(WorkshopMenu_SelectedGridObject, 0x01722170) DECLARE_EVENT_SOURCE(WorkshopMenu_ShowExtras, 0x01721D10) DECLARE_EVENT_SOURCE(WorkshopMenu_SwitchMode, 0x01721E50) DECLARE_EVENT_SOURCE(WorkshopMenu_ToggleDistance, 0x01721BD0) DECLARE_EVENT_SOURCE(WorkshopMenu_ToggleTracking, 0x01721A90) DECLARE_EVENT_SOURCE(WorkshopMenu_ToggleView, 0x01721C70) DECLARE_EVENT_SOURCE(WorkshopQuickMenu_ConfirmAction, 0x01723420) DECLARE_EVENT_SOURCE(WorkshopQuickMenu_ExitMenu, 0x01723380) DECLARE_EVENT_SOURCE(WorkshopShared_SetActionHandles, 0x0173FFB0) DECLARE_EVENT_SOURCE(WorkshopShared_StartAction, 0x01740050) DECLARE_EVENT_SOURCE(WorkshopTargetMenu_TargetHovered, 0x01729930) DECLARE_EVENT_SOURCE(WorkshopTargetMenu_TargetPicked, 0x017299D0) DECLARE_EVENT_SOURCE_EX(Activation::Event, 0x0597F7B0) DECLARE_EVENT_SOURCE_EX(ActivityEvents::ActivityCompletedEvent, 0x0597C8A8) DECLARE_EVENT_SOURCE_EX(ActorCellChangeEvent, 0x0597F990) DECLARE_EVENT_SOURCE_EX(ActorDamage::Event, 0x05981E98) DECLARE_EVENT_SOURCE_EX(ActorHeadAttachedEvent, 0x0597F9B8) DECLARE_EVENT_SOURCE_EX(ActorItemEquipped::Event, 0x05981E48) DECLARE_EVENT_SOURCE_EX(ActorKill::Event, 0x05981E70) DECLARE_EVENT_SOURCE_EX(AnimationGraphDependentEvent, 0x05980CA0) DECLARE_EVENT_SOURCE_EX(AssaultCrime::Event, 0x05981F10) DECLARE_EVENT_SOURCE_EX(AttachReference::Event, 0x059238D0) DECLARE_EVENT_SOURCE_EX(BGSAffinityEventEvent, 0x0597F8A0) DECLARE_EVENT_SOURCE_EX(BGSHavokWorldCreatedEvent, 0x059809A8) DECLARE_EVENT_SOURCE_EX(BGSLocationLoadedEvent, 0x0597FC10) DECLARE_EVENT_SOURCE_EX(BGSOnPlayerCompanionDismiss, 0x05980750) DECLARE_EVENT_SOURCE_EX(BGSOnPlayerCraftItemEvent, 0x059807F0) DECLARE_EVENT_SOURCE_EX(BGSOnPlayerCreateRobotEvent, 0x05980818) DECLARE_EVENT_SOURCE_EX(BGSOnPlayerEnterVertibirdEvent, 0x059808B8) DECLARE_EVENT_SOURCE_EX(BGSOnPlayerFallLongDistances, 0x05980778) DECLARE_EVENT_SOURCE_EX(BGSOnPlayerFireWeaponEvent, 0x05980868) DECLARE_EVENT_SOURCE_EX(BGSOnPlayerHealTeammateEvent, 0x059806D8) DECLARE_EVENT_SOURCE_EX(BGSOnPlayerLoiteringBeginEvent, 0x05980700) DECLARE_EVENT_SOURCE_EX(BGSOnPlayerLoiteringEndEvent, 0x05980728) DECLARE_EVENT_SOURCE_EX(BGSOnPlayerModArmorWeaponEvent, 0x059807A0) DECLARE_EVENT_SOURCE_EX(BGSOnPlayerModRobotEvent, 0x05980840) DECLARE_EVENT_SOURCE_EX(BGSOnPlayerSwimmingEvent, 0x05980890) DECLARE_EVENT_SOURCE_EX(BGSOnPlayerUseWorkBenchEvent, 0x059808E0) DECLARE_EVENT_SOURCE_EX(BGSOnSpeechChallengeAvailable, 0x05980908) DECLARE_EVENT_SOURCE_EX(BGSRadiationDamageEvent, 0x059806B0) //DECLARE_EVENT_SOURCE_EX(BNetCallbackHelper::ImageCallbackEvent, 0x0584C7D8) //DECLARE_EVENT_SOURCE_EX(BNetCallbackHelper::UGCCallbackEvent, 0x0584C7B0) //DECLARE_EVENT_SOURCE_EX(BSMusicEvent, 0x05859648) //DECLARE_EVENT_SOURCE_EX(BSSysMonFrameCaptured, 0x0585A770) DECLARE_EVENT_SOURCE_EX(Bleedout::Event, 0x05981FC0) DECLARE_EVENT_SOURCE_EX(BooksRead::Event, 0x0597DAE0) DECLARE_EVENT_SOURCE_EX(Bounty::Event, 0x05982090) DECLARE_EVENT_SOURCE_EX(BuilderMenuSelectEvent, 0x05980A48) //DECLARE_EVENT_SOURCE_EX(CelestialLocationDiscoveredEvent, 0x058AE488) DECLARE_EVENT_SOURCE_EX(ChestLooted::Event, 0x059820B8) DECLARE_EVENT_SOURCE_EX(ClearShipHudTarget::Event, 0x05981CA8) DECLARE_EVENT_SOURCE_EX(ContractedDisease::Event, 0x05981FE8) DECLARE_EVENT_SOURCE_EX(CrewAssignedEvent, 0x0597FBC0) DECLARE_EVENT_SOURCE_EX(CrewDismissedEvent, 0x0597FBE8) DECLARE_EVENT_SOURCE_EX(CriticalHitEvent::Event, 0x05982068) DECLARE_EVENT_SOURCE_EX(CustomMarkerUpdate::Event, 0x059820E0) DECLARE_EVENT_SOURCE_EX(DaysJailed::Event, 0x05982108) DECLARE_EVENT_SOURCE_EX(DaysPassed::Event, 0x05981DD0) DECLARE_EVENT_SOURCE_EX(DestroyedEvent, 0x0597FC88) DECLARE_EVENT_SOURCE_EX(DisarmedEvent::Event, 0x05981EC0) DECLARE_EVENT_SOURCE_EX(EnteredUnity::Event, 0x05982388) DECLARE_EVENT_SOURCE_EX(FactionRankChange::Event, 0x05981EE8) DECLARE_EVENT_SOURCE_EX(FinePaid::Event, 0x05982130) DECLARE_EVENT_SOURCE_EX(FirstThirdPersonSwitch::Event, 0x05982428) //DECLARE_EVENT_SOURCE_EX(GameplayOptionAppliedEvent, 0x058AE438) //DECLARE_EVENT_SOURCE_EX(GameplayOptionChangedEvent, 0x058AE3E8) //DECLARE_EVENT_SOURCE_EX(GameplayOptionUpdateFinishedEvent, 0x058AE410) DECLARE_EVENT_SOURCE_EX(GrandTheftHorse::Event, 0x05981F88) DECLARE_EVENT_SOURCE_EX(HideSubtitleEvent::Event, 0x05981BB0) DECLARE_EVENT_SOURCE_EX(HourPassed::Event, 0x05981DF8) DECLARE_EVENT_SOURCE_EX(HoursPassed::Event, 0x059827F0) DECLARE_EVENT_SOURCE_EX(InstantReferenceInteractionEvent, 0x059809F8) DECLARE_EVENT_SOURCE_EX(ItemConsumedEvent, 0x05980D18) DECLARE_EVENT_SOURCE_EX(ItemCrafted::Event, 0x05982158) DECLARE_EVENT_SOURCE_EX(ItemSteal::Event, 0x05982180) DECLARE_EVENT_SOURCE_EX(ItemSwappedEvent, 0x05980CC8) DECLARE_EVENT_SOURCE_EX(JailEscape::Event, 0x059821A8) DECLARE_EVENT_SOURCE_EX(Jailing::Event, 0x059821D0) DECLARE_EVENT_SOURCE_EX(LocationExplored::Event, 0x0597F760) DECLARE_EVENT_SOURCE_EX(LocationLinked::Event, 0x0597F788) DECLARE_EVENT_SOURCE_EX(LocationMarkerArrayUpdate::Event, 0x05982220) DECLARE_EVENT_SOURCE_EX(LocationTextEvent::Event, 0x05981CF8) DECLARE_EVENT_SOURCE_EX(LockPickedEvent, 0x05980CF0) //DECLARE_EVENT_SOURCE_EX(MagicSystem::FlushLogEvent, 0x05839258) //DECLARE_EVENT_SOURCE_EX(MagicSystem::LogEvent, 0x05839230) DECLARE_EVENT_SOURCE_EX(MapMarkerDiscoveredEvent, 0x05980B10) DECLARE_EVENT_SOURCE_EX(MissionMenuStateEvent::Event, 0x05981C80) DECLARE_EVENT_SOURCE_EX(MurderCrime::Event, 0x05981F38) DECLARE_EVENT_SOURCE_EX(ObjectScannedEvent, 0x05980AC0) DECLARE_EVENT_SOURCE_EX(ObjectiveState::Event, 0x05980E80) DECLARE_EVENT_SOURCE_EX(PiracyCrime::Event, 0x05981F60) DECLARE_EVENT_SOURCE_EX(PlayerActiveEffectChanged::Event, 0x05982450) DECLARE_EVENT_SOURCE_EX(PlayerAddItemEvent, 0x05980930) DECLARE_EVENT_SOURCE_EX(PlayerAmmoChanged::Event, 0x05982248) DECLARE_EVENT_SOURCE_EX(PlayerArrestedEvent, 0x05980B38) DECLARE_EVENT_SOURCE_EX(PlayerAssaultActorEvent, 0x05980B60) DECLARE_EVENT_SOURCE_EX(PlayerBuyShipEvent, 0x05980C50) DECLARE_EVENT_SOURCE_EX(PlayerCrimeGoldEvent, 0x05980BB0) DECLARE_EVENT_SOURCE_EX(PlayerDifficultySettingChanged::Event, 0x05982270) DECLARE_EVENT_SOURCE_EX(PlayerFailedPlotRouteEvent, 0x0597FF80) DECLARE_EVENT_SOURCE_EX(PlayerFastTravel::Event, 0x05982360) DECLARE_EVENT_SOURCE_EX(PlayerInDialogueChanged::Event, 0x05982298) DECLARE_EVENT_SOURCE_EX(PlayerJailEvent, 0x05980BD8) DECLARE_EVENT_SOURCE_EX(PlayerLifeStateChanged::Event, 0x059822C0) DECLARE_EVENT_SOURCE_EX(PlayerModifiedShipEvent, 0x0597FFA8) DECLARE_EVENT_SOURCE_EX(PlayerMurderActorEvent, 0x05980B88) //DECLARE_EVENT_SOURCE_EX(PlayerNameEvent::NameChangedEvent, 0x058AF290) DECLARE_EVENT_SOURCE_EX(PlayerPayFineEvent, 0x05980C00) DECLARE_EVENT_SOURCE_EX(PlayerPickpocketSuccess::Event, 0x05982478) DECLARE_EVENT_SOURCE_EX(PlayerPlanetSurveyCompleteEvent, 0x05980A70) DECLARE_EVENT_SOURCE_EX(PlayerPlanetSurveyProgressEvent, 0x05980A98) DECLARE_EVENT_SOURCE_EX(PlayerSellShipEvent, 0x05980C78) DECLARE_EVENT_SOURCE_EX(PlayerTrespassEvent, 0x05980C28) DECLARE_EVENT_SOURCE_EX(PoisonedWeapon::Event, 0x059822E8) DECLARE_EVENT_SOURCE_EX(QuestStatus::Event, 0x05981328) DECLARE_EVENT_SOURCE_EX(QuickContainerOpenedEvent, 0x05980A20) //DECLARE_EVENT_SOURCE_EX(RadioManager::PipboyFrequencyDetectionEvent, 0x0584FB40) //DECLARE_EVENT_SOURCE_EX(RadioManager::PipboyRadioTuningEvent, 0x0584FB90) DECLARE_EVENT_SOURCE_EX(RadioManager::PipboyTransmitterDetectionEvent, 0x05922338) DECLARE_EVENT_SOURCE_EX(RefControlChangedEvent, 0x05980D68) DECLARE_EVENT_SOURCE_EX(ReferenceDestroyedEvent, 0x059809D0) DECLARE_EVENT_SOURCE_EX(RefillAliasEvent::Event, 0x05981300) DECLARE_EVENT_SOURCE_EX(ReloadWeaponEvent::Event, 0x05982010) DECLARE_EVENT_SOURCE_EX(RolloverIsCrimeEvent::Event, 0x05981B60) //DECLARE_EVENT_SOURCE_EX(ScannableUtils::ScannedEvent, 0x058AF100) DECLARE_EVENT_SOURCE_EX(ShowSubtitleEvent::Event, 0x05981B88) //DECLARE_EVENT_SOURCE_EX(SpaceshipEditor::TransactionEvent, 0x058A9EB8) DECLARE_EVENT_SOURCE_EX(SpeechChallengeCompletionEvent, 0x05980AE8) DECLARE_EVENT_SOURCE_EX(SpellsLearned::Event, 0x05982040) DECLARE_EVENT_SOURCE_EX(TESActivateEvent, 0x0597F850) DECLARE_EVENT_SOURCE_EX(TESActiveEffectApplyFinishEvent, 0x0597F8F0) DECLARE_EVENT_SOURCE_EX(TESActiveEffectRemovedEvent, 0x0597F918) DECLARE_EVENT_SOURCE_EX(TESActorActivatedRefEvent, 0x0597F878) DECLARE_EVENT_SOURCE_EX(TESActorLocationChangeEvent, 0x0597F968) DECLARE_EVENT_SOURCE_EX(TESBookReadEvent, 0x0597F9E0) DECLARE_EVENT_SOURCE_EX(TESCellGravityChangeEvent, 0x0597FB20) DECLARE_EVENT_SOURCE_EX(TESCellNavmeshGeneratedEvent, 0x0597FAA8) DECLARE_EVENT_SOURCE_EX(TESCellReadyToApplyDecalsEvent, 0x0597FAD0) DECLARE_EVENT_SOURCE_EX(TESCellReferenceAttachDetachEvent, 0x0597FA08) DECLARE_EVENT_SOURCE_EX(TESCombatEvent, 0x0597FB48) DECLARE_EVENT_SOURCE_EX(TESCombatListEvent, 0x0597FB70) DECLARE_EVENT_SOURCE_EX(TESCommandModeCompleteCommandEvent, 0x0597FDA0) DECLARE_EVENT_SOURCE_EX(TESCommandModeEnterEvent, 0x0597FDC8) DECLARE_EVENT_SOURCE_EX(TESCommandModeExitEvent, 0x0597FDF0) DECLARE_EVENT_SOURCE_EX(TESCommandModeGiveCommandEvent, 0x0597FE18) DECLARE_EVENT_SOURCE_EX(TESConsciousnessEvent, 0x05980610) DECLARE_EVENT_SOURCE_EX(TESContainerChangedEvent, 0x0597FB98) DECLARE_EVENT_SOURCE_EX(TESDeathEvent, 0x0597FC60) DECLARE_EVENT_SOURCE_EX(TESDeferredKillEvent, 0x0597FC38) DECLARE_EVENT_SOURCE_EX(TESDestructionStageChangedEvent, 0x0597FCB0) DECLARE_EVENT_SOURCE_EX(TESEnterBleedoutEvent, 0x0597FCD8) DECLARE_EVENT_SOURCE_EX(TESEnterSneakingEvent, 0x0597FD28) DECLARE_EVENT_SOURCE_EX(TESEquipEvent, 0x0597FE40) DECLARE_EVENT_SOURCE_EX(TESEscortWaitStartEvent, 0x0597FD50) DECLARE_EVENT_SOURCE_EX(TESEscortWaitStopEvent, 0x0597FD78) DECLARE_EVENT_SOURCE_EX(TESExitBleedoutEvent, 0x0597FD00) DECLARE_EVENT_SOURCE_EX(TESExitFurnitureEvent, 0x0597F8C8) DECLARE_EVENT_SOURCE_EX(TESFormDeleteEvent, 0x0597FE90) DECLARE_EVENT_SOURCE_EX(TESFormIDRemapEvent, 0x0597FEB8) DECLARE_EVENT_SOURCE_EX(TESFurnitureEvent, 0x0597FEE0) DECLARE_EVENT_SOURCE_EX(TESGrabReleaseEvent, 0x0597FF08) DECLARE_EVENT_SOURCE_EX(TESHarvestEvent::ItemHarvested, 0x0597C880) DECLARE_EVENT_SOURCE_EX(TESHitEvent, 0x0597FF30) DECLARE_EVENT_SOURCE_EX(TESInitScriptEvent, 0x0597FFF8) DECLARE_EVENT_SOURCE_EX(TESLimbCrippleEvent, 0x05980638) DECLARE_EVENT_SOURCE_EX(TESLoadGameEvent, 0x05980070) DECLARE_EVENT_SOURCE_EX(TESLocationExploredEvent, 0x05980020) DECLARE_EVENT_SOURCE_EX(TESLockChangedEvent, 0x05980048) DECLARE_EVENT_SOURCE_EX(TESMagicEffectApplyEvent, 0x05980098) DECLARE_EVENT_SOURCE_EX(TESMissionAcceptedEvent, 0x059801D8) DECLARE_EVENT_SOURCE_EX(TESObjectLoadedEvent, 0x059800C0) DECLARE_EVENT_SOURCE_EX(TESObjectREFRIsReadyForAttachEvent, 0x059800E8) DECLARE_EVENT_SOURCE_EX(TESObjectREFRTranslationEvent, 0x059804A8) DECLARE_EVENT_SOURCE_EX(TESOnPCDialogueTargetEvent, 0x05980688) DECLARE_EVENT_SOURCE_EX(TESPackageEvent, 0x05980138) DECLARE_EVENT_SOURCE_EX(TESPerkEntryRunEvent, 0x05980160) DECLARE_EVENT_SOURCE_EX(TESPickNewIdleEvent, 0x05980660) DECLARE_EVENT_SOURCE_EX(TESPickpocketFailedEvent, 0x05980188) DECLARE_EVENT_SOURCE_EX(TESPlayerActiveEffectEvent, 0x0597F940) DECLARE_EVENT_SOURCE_EX(TESPlayerFollowerWarpEvent, 0x0597FE68) DECLARE_EVENT_SOURCE_EX(TESQuestInitEvent, 0x059801B0) DECLARE_EVENT_SOURCE_EX(TESQuestRejectedEvent, 0x05980200) DECLARE_EVENT_SOURCE_EX(TESQuestStageEvent, 0x05980228) DECLARE_EVENT_SOURCE_EX(TESQuestStageItemDoneEvent, 0x05980250) DECLARE_EVENT_SOURCE_EX(TESQuestStartStopEvent, 0x05980278) DECLARE_EVENT_SOURCE_EX(TESQuestTimerEvent, 0x05980D40) DECLARE_EVENT_SOURCE_EX(TESResetEvent, 0x059802C8) DECLARE_EVENT_SOURCE_EX(TESResolveNPCTemplatesEvent, 0x059802F0) DECLARE_EVENT_SOURCE_EX(TESSceneActionEvent, 0x05980340) DECLARE_EVENT_SOURCE_EX(TESScenePhaseEvent, 0x05980368) DECLARE_EVENT_SOURCE_EX(TESSellEvent, 0x05980390) DECLARE_EVENT_SOURCE_EX(TESSleepStartEvent, 0x059803B8) DECLARE_EVENT_SOURCE_EX(TESSleepStopEvent, 0x059803E0) DECLARE_EVENT_SOURCE_EX(TESSpellCastEvent, 0x05980408) DECLARE_EVENT_SOURCE_EX(TESSpellCastFailureEvent, 0x05980430) DECLARE_EVENT_SOURCE_EX(TESSwitchRaceCompleteEvent, 0x059805E8) DECLARE_EVENT_SOURCE_EX(TESTopicInfoEvent, 0x05980458) DECLARE_EVENT_SOURCE_EX(TESTrackedStatsEvent, 0x05980480) DECLARE_EVENT_SOURCE_EX(TESTrapHitEvent, 0x059804D0) DECLARE_EVENT_SOURCE_EX(TESTriggerEnterEvent, 0x05980520) DECLARE_EVENT_SOURCE_EX(TESTriggerEvent, 0x059804F8) DECLARE_EVENT_SOURCE_EX(TESTriggerLeaveEvent, 0x05980548) //DECLARE_EVENT_SOURCE_EX(TESUnconsciousEvent, 0x058AE460) DECLARE_EVENT_SOURCE_EX(TESWaitStartEvent, 0x05980598) DECLARE_EVENT_SOURCE_EX(TESWaitStopEvent, 0x059805C0) DECLARE_EVENT_SOURCE_EX(TerminalHacked::Event, 0x05982310) DECLARE_EVENT_SOURCE_EX(TerminalMenuMenuItemRunEvent, 0x0597F800) DECLARE_EVENT_SOURCE_EX(TerminalMenuOnEnterEvent, 0x0597F828) DECLARE_EVENT_SOURCE_EX(TraitDiscoveryTextEvent::Event, 0x05981D20) DECLARE_EVENT_SOURCE_EX(TravelMarkerStateChange::Event, 0x059823D8) DECLARE_EVENT_SOURCE_EX(Trespass::Event, 0x05982718) DECLARE_EVENT_SOURCE_EX(TryUpdateShipHudTarget::Event, 0x05981CD0) DECLARE_EVENT_SOURCE_EX(VATSCommand, 0x05982778) DECLARE_EVENT_SOURCE_EX(VATSEvents::ModeChange, 0x05982750) //DECLARE_EVENT_SOURCE_EX(VehicleAmmoChanged::Event, 0x058AF9E8) DECLARE_EVENT_SOURCE_EX(WeaponAttack::Event, 0x05982338) DECLARE_EVENT_SOURCE_EX(WeaponFiredEvent, 0x05912258) //DECLARE_EVENT_SOURCE_EX(WorkbenchTracking::TrackingStatusChanged::Event, 0x058AF3E0) DECLARE_EVENT_SOURCE_EX(WorkshopNPCTransferEvent, 0x0597FFD0) DECLARE_EVENT_SOURCE_EX(XPChange::Event, 0x059238F8) //DECLARE_EVENT_SOURCE_EX(nsBarterMenu::CompletedEvent, 0x058AF380) ================================================ FILE: sfse/GameExtraData.cpp ================================================ #include "sfse/GameExtraData.h" BSExtraData * BaseExtraList::GetByType(BSExtraData::Type type) const { BSExtraData * result = nullptr; if(HasType(type)) { for(BSExtraData * iter = _head; iter; iter = iter->next) { if(iter->type == type) { return iter; } } } } bool BaseExtraList::HasType(BSExtraData::Type type) const { u32 flagIdx = type >> 3; u8 flagBit = 1 << (type & 7); return _flags && (_flags[flagIdx] & flagBit); } ================================================ FILE: sfse/GameExtraData.h ================================================ #pragma once #include "sfse_common/Types.h" #include "sfse_common/Utilities.h" #include "sfse/GameTypes.h" #include "sfse/GameLock.h" class BSExtraData { public: virtual ~BSExtraData(); // 00 // add virtual void Unk_01(); // 01 virtual void Unk_02(); // 02 virtual void Unk_03(); // 03 virtual void Unk_04(); // 04 virtual void Unk_05(); // 05 virtual void Unk_06(); // 06 enum Type : u8 { kNone, // 0x00 kHavok, // 0x01 - ExtraHavok kCell3D, // 0x02 - ExtraCell3D kCellWaterType, // 0x03 - ExtraCellWaterType kRegionList, // 0x04 - ExtraRegionList kSeenData, // 0x05 - ExtraSeenData kEditorID, // 0x06 - ExtraEditorID kCellMusicType, // 0x07 - ExtraCellMusicType kCellSkyRegion, // 0x08 - ExtraCellSkyRegion kProcessMiddleLow, // 0x09 - ExtraProcessMiddleLow kUnk0A, // 0x0A kPersistentCell, // 0x0B - ExtraPersistentCell kKeywords, // 0x0C - ExtraKeywords kAction, // 0x0D - ExtraAction kStartingPosition, // 0x0E - ExtraStartingPosition kUnk0F, // 0x0F kAnimGraphManager, // 0x10 - ExtraAnimGraphManager kUsedMarkers, // 0x11 - ExtraUsedMarkers kUnk12, // 0x12 kRagdollData, // 0x13 - ExtraRagDollData kInitActions, // 0x14 - ExtraInitActions kEssentialProtected, // 0x15 - ExtraEssentialProtected kPackagesStartLoc, // 0x16 - ExtraPackageStartLocation kPackage, // 0x17 - ExtraPackage kTrespassPackage, // 0x18 - ExtraTresPassPackage kRunOncePacks, // 0x19 - ExtraRunOncePacks kReferenceHandles, // 0x1A - ExtraReferenceHandles kFollower, // 0x1B - ExtraFollower kLevCreaMod, // 0x1C - ExtraLevCreaModifier kGhost, // 0x1D - ExtraGhost kOriginalReference, // 0x1E - ExtraOriginalReference kOwnership, // 0x1F - ExtraOwnership kGlobal, // 0x20 - ExtraGlobal kRank, // 0x21 - ExtraRank kCount, // 0x22 - ExtraCount kHealth, // 0x23 - ExtraHealth kRangeDistOverride, // 0x24 - ExtraRangedDistOverride kTimeLeft, // 0x25 - ExtraTimeLeft kCharge, // 0x26 - ExtraCharge kLight, // 0x27 - ExtraLight kLock, // 0x28 - ExtraLock kTeleport, // 0x29 - ExtraTeleport kMapMarker, // 0x2A - ExtraMapMarker kLeveledCreature, // 0x2B - ExtraLeveledCreature kLeveledItem, // 0x2C - ExtraLeveledItem kScale, // 0x2D - ExtraScale kSeed, // 0x2E - ExtraSeed kMagicCaster, // 0x2F - ExtraMagicCaster, NonActorMagicCaster kMagicTarget, // 0x30 - NonActorMagicTarget kUnk31, // 0x31 kPlayerCrimeList, // 0x32 - ExtraPlayerCrimeList kObjectInstance, // 0x33 - BGSObjectInstanceExtra kEnableStateParent, // 0x34 - ExtraEnableStateParent kEnableStateChildren, // 0x35 - ExtraEnableStateChildren kItemDropper, // 0x36 - ExtraItemDropper kDroppedItemList, // 0x37 - ExtraDroppedItemList kRandomTeleportMarker, // 0x38 - ExtraRandomTeleportMarker kSavedHavokData, // 0x39 - ExtraSavedHavokData kCannotWear, // 0x3A - ExtraCannotWear kPoison, // 0x3B - ExtraPoison kUnk3C, // 0x3C kLastFinishedSequence, // 0x3D - ExtraLastFinishedSequence kSavedAnimation, // 0x3E - ExtraSavedAnimation kNorthRotation, // 0x3F - ExtraNorthRotation kSpawnContainer, // 0x40 - ExtraSpawnContainer kFriendHits, // 0x41 - ExtraFriendHits kHeadingTarget, // 0x42 - ExtraHeadingTarget kUnk43, // 0x43 kRefractionProperty, // 0x44 - ExtraRefractionProperty kStartingWorldOrCell, // 0x45 - ExtraStartingWorldOrCell kFavorite, // 0x46 - ExtraFavorite kUnk47, // 0x47 kEditorRefMoveData, // 0x48 - ExtraEditorRefMoveData kUnk49, // 0x49 kNoRumors, // 0x4A - ExtraHasNoRumors kSound, // 0x4B - ExtraSound kLinkedRef, // 0x4C - ExtraLinkedRef kLinkedRefChildren, // 0x4D - ExtraLinkedRefChildren kActivateRef, // 0x4E - ExtraActivateRef kUnk4F, // 0x4F kTalkToPlayer, // 0x50 - ExtraCanTalkToPlayer kCellImageSpace, // 0x51 - ExtraCellImageSpace kNavMeshPortal, // 0x52 - ExtraNavMeshPortal kModelSwap, // 0x53 - ExtraModelSwap kRadius, // 0x54 - ExtraRadius kUnk55, // 0x55 kFactionChanges, // 0x56 - ExtraFactionChanges kActorCause, // 0x57 - ExtraActorCause kUnk58, // 0x58 kUnk59, // 0x59 kUnk5A, // 0x5A kReflectedRefs, // 0x5B - ExtraReflectedRefs kReflectorRefs, // 0x5C - ExtraReflectorRefs kEmittanceSource, // 0x5D - ExtraEmittanceSource kRadioData, // 0x5E - ExtraRadioData kCombatStyle, // 0x5F - ExtraCombatStyle kUnk60, // 0x60 kPrimitive, // 0x61 - ExtraPrimitive kOpenCloseActivateRef, // 0x62 - ExtraOpenCloseActivateRef kUnk63, // 0x63 kAmmo, // 0x64 - ExtraAmmo kPatrolRefData, // 0x65 - ExtraPatrolRefData kPackageData, // 0x66 - ExtraPackageData kUnk67, // 0x67 kCollisionData, // 0x68 - ExtraCollisionData kSayOnceADayTopicInfo, // 0x69 - ExtraSayTopicInfoOnceADay kEncounterZone, // 0x6A - ExtraEncounterZone kSayToTopicInfo, // 0x6B - ExtraSayToTopicInfo kOcclusionPlaneRefData, // 0x6C - ExtraOcclusionPlaneRefData kUnk6D, // 0x6D kUnk6E, // 0x6E kUnk6F, // 0x6F kRoomRefData, // 0x70 - ExtraRoomRefData kGuardedRefData, // 0x71 - ExtraGuardedRefData kCreatureAwakeSound, // 0x72 - ExtraCreatureAwakeSound kUnk73, // 0x73 kHorse, // 0x74 kIgnoredBySandbox, // 0x75 - ExtraIgnoredBySandbox kCellAcousticSpace, // 0x76 - ExtraCellAcousticSpace kReservedMarkers, // 0x77 - ExtraReservedMarkers kTransitionCellCount, // 0x78 - ExtraTransitionCellCount kWaterLightRefs, // 0x79 - ExtraWaterLightRefs kLitWaterRef, // 0x7A - ExtraLitWaterRef kRadioRepeater, // 0x7B - ExtraRadioRepeater kSoundHook, // 0x7C - ExtraSoundHook kPatrolRefInUseData, // 0x7D - ExtraPatrolRefInUseData kAshpileRef, // 0x7E - ExtraAshPileRef kFollowerSwimBreadcrumbs, // 0x7F - ExtraFollowerSwimBreadcrumbs kAliasInstanceArray, // 0x80 - ExtraAliasInstanceArray kLocation, // 0x81 - ExtraLocation kUnk82, // 0x82 kLocationRefType, // 0x83 - ExtraLocationRefType kPromotedRef, // 0x84 - ExtraPromotedRef kUnk85, // 0x85 kOutfitItem, // 0x86 - ExtraOutfitItem kUnk87, // 0x87 kLeveledItemBase, // 0x88 - ExtraLeveledBaseObject kLightData, // 0x89 - ExtraLightData kLightBarndoorData, // 0x8A - ExtraLightBarndoorData kLightRoundnessData, // 0x8B - ExtraLightRoundnessData kLightAreaData, // 0x8C - ExtraLightAreaData kLightLayerData, // 0x8D - ExtraLightLayerData kLightVolumetricData, // 0x8E - ExtraLightVolumetricData kScene, // 0x8F - ExtraSceneData kBadPosition, // 0x90 - ExtraBadPosition kHeadTrackingWeight, // 0x91 - ExtraHeadTrackingWeight kFromAlias, // 0x92 - ExtraFromAlias kShouldWear, // 0x93 - ExtraShouldWear kFavorCost, // 0x94 - ExtraFavorCost kAttachedArrows3D, // 0x95 - ExtraAttachedArrows3D kTextDisplayData, // 0x96 - ExtraTextDisplayData kEnchantment, // 0x97 - ExtraEnchantment kSoul, // 0x98 - ExtraSoul kForcedTarget, // 0x99 - ExtraForcedTarget kWwiseSwitchData, // 0x9A - ExtraWwiseSwitchData kUniqueID, // 0x9B - ExtraUniqueID kFlags, // 0x9C - ExtraFlags kRefrPath, // 0x9D - ExtraRefrPath kUnk9E, // 0x9E kLockList, // 0x9F - ExtraLockList kForcedLandingMarker, // 0xA0 - ExtraForcedLandingMarker kLargeRefOwnerCells, // 0xA1 - ExtraLargeRefOwnerCells kCellWaterEnvMap, // 0xA2 - ExtraCellWaterEnvMap kUnkA3, // 0xA3 kTeleportName, // 0xA4 - ExtraTeleportName kInteraction, // 0xA5 - ExtraInteraction kWaterData, // 0xA6 - ExtraWaterData kWaterCurrentZoneData, // 0xA7 - ExtraWaterCurrentZoneData kAttachRef, // 0xA8 - ExtraAttachRef kAttachRefChildren, // 0xA9 - ExtraAttachRefChildren kScriptedAnimDependence, // 0xAA - ExtraScriptedAnimDependence kCachedScale, // 0xAB - ExtraCachedScale kUnkAC, // 0xAC kUnkAD, // 0xAD kMissingRefIDs, // 0xAE - ExtraMissingRefIDs kBendableSplineParams, // 0xAF - ExtraBendableSplineParams kNavMeshSplineData, // 0xB0 - NavMeshSplineExtraData kReferenceGroup, // 0xB1 - ExtraReferenceGroup kUnkB2, // 0xB2 kUnkB3, // 0xB3 kOriginalItemBase, // 0xB4 - ExtraOriginalBaseObject kMaterialSwap, // 0xB5 - ExtraMaterialSwap kInstanceData, // 0xB6 - ExtraInstanceData kPowerArmor, // 0xB7 - ExtraPowerArmor kAcousticParent, // 0xB8 - ExtraAcousticParent kInputEnableLayer, // 0xB9 - ExtraInputEnableLayer kProjectedDecalRef, // 0xBA - ExtraProjectedDecalData kConstrainedDecalRef, // 0xBB - ExtraConstrainedDecalData kWorkshop, // 0xBC - Workshop::ExtraData kRadioReceiver, // 0xBD - ExtraRadioReceiver kCulledBone, // 0xBE - ExtraCulledBone kActorValueStorage, // 0xBF - ExtraActorValueStorage kDirectAtTarget, // 0xC0 - ExtraDirectAtTarget kActivateText, // 0xC1 - ExtraActivateText kObjectBreakable, // 0xC2 - ExtraObjectBreakable kSavedDynamicIdles, // 0xC3 - ExtraObjectSavedDynamicIdles kIgnoredAttractKeywords, // 0xC4 - ExtraIgnoredAttractKeywords kModRank, // 0xC5 - ExtraModRank kActorBoneScaleMap, // 0xC6 - ExtraBoneScaleMap kActorFXPickNodes, // 0xC7 - ExtraFXPickNodes kPowerArmorPreload, // 0xC8 - ExtraPowerArmorPreload kAnimGraphPreload, // 0xC9 - ExtraAnimGraphPreload kAnimSounds, // 0xCA - ExtraAnimSounds kPowerLinks, // 0xCB - ExtraPowerLinks kWorkshopSnapping, // 0xCC - ExtraWorkshopSnapping kSavedUnrecoverableSubgraphs, // 0xCD - ExtraObjectSavedUnrecoverableSubgraphs kRefWeaponSounds, // 0xCE - ExtraRefWeaponSounds kRefInvestedGold, // 0xCF - ExtraInvestedGold kRefFurnitureEntryData, // 0xD0 - ExtraFurnitureEntryData kVoiceType, // 0xD1 - ExtraVoiceType kCalcedPackIn, // 0xD2 - ExtraCalcedPackIn kBody, // 0xD3 - ExtraBody kSourcePackIn, // 0xD4 - ExtraSourcePackIn kTraversalData, // 0xD5 - ExtraTraversalData kTerminalMenuItems, // 0xD6 - ExtraTerminalMenuItems kCellEnvMap, // 0xD7 - ExtraCellEnvMap kModIndex, // 0xD8 - ExtraModIndex kShipArrivalData, // 0xD9 - ExtraShipArrivalData kGroupedPackin, // 0xDA - ExtraGroupedPackin kUnkDB, // 0xDB kUnkDC, // 0xDC kBlueprintPartOriginData, // 0xDD - ExtraBlueprintPartOriginData kSnapLinks, // 0xDE - ExtraSnapLinks kUnkDF, // 0xDF kUnkE0, // 0xE0 kPropertySheet, // 0xE1 - ExtraPropertySheet kCrew, // 0xE2 - CrewExtraData kTerminalMenuMenuItems, // 0xE3 - ExtraTerminalMenuMenuItems kVolumeData, // 0xE4 - ExtraVolumeData kTerminalMenuBodyTextItems, // 0xE5 - ExtraTerminalMenuBodyTextItems kCulledSubsegment, // 0xE6 - ExtraCulledSubsegment kLinkedChildrenAliasInstanceArray, // 0xE7 - ExtraLinkedChildrenAliasInstanceArray kUnkE8, // 0xE8 kFogVolume, // 0xE9 - ExtraFogVolume kOwningInstance, // 0xEA - ExtraOwningInstance kDesiredLegendaryRank, // 0xEB - ExtraDesiredLegendaryRank kGeometryDirtynessScale, // 0xEC - ExtraGeometryDirtynessScale kVolumeReflectionProbeOffsetIntensity, // 0xED - ExtraVolumeReflectionProbe_OffsetIntensity kTerminalMenuUnlockedItems, // 0xEE - ExtraTerminalMenuUnlockedItems kProceduralInstanceData, // 0xEF - ExtraProceduralInstanceData kTimeOfDayData, // 0xF0 - ExtraTimeOfDayData kLightFlickerData, // 0xF1 - ExtraLightFlickerData kLightGoboData, // 0xF2 - ExtraLightGoboData kLightColorData, // 0xF3 - ExtraLightColorData kLightStaticShadowMapData, // 0xF4 - ExtraLightStaticShadowMapData kExternalEmittanceData, // 0xF5 - ExtraExternalEmittanceData kTempLocationWorldSpace, // 0xF6 - ExtraTempLocationWorldSpace kShipBlueprintSnapData, // 0xF7 - ExtraShipBlueprintSnapData kRandomAnimStartTime, // 0xF8 - ExtraRandomAnimStartTime kExteriorReflectionProbeAdjustmentVolume, // 0xF9 - ExtraExteriorReflectionProbeAdjustmentVolume kCellGlobalDirtLayer, // 0xFA - ExtraCellGlobalDirtLayer kRadiusFalloffExponent, // 0xFB - ExtraRadiusFalloffExponent kWaterReflectionData, // 0xFC - ExtraWaterReflectionData kPlacedPlanetContent, // 0xFD - ExtraPlacedPlanetContent }; // members BSExtraData* next; // 08 u16 flags; // 10 Type type; // 12 }; static_assert(sizeof(BSExtraData) == 0x18); class BaseExtraList { public: DEFINE_MEMBER_FN_1(AddExtra, void, 0x00501750, BSExtraData* a_extra); BSExtraData * GetByType(BSExtraData::Type type) const; // inlined everywhere bool HasType(BSExtraData::Type type) const; private: // members BSExtraData* _head; // 00 BSExtraData** _tail; // 08 u8* _flags; // 10 }; static_assert(sizeof(BaseExtraList) == 0x18); class ExtraDataList : public BSIntrusiveRefCounted { public: void AddExtra(BSExtraData* a_extra) { const BSAutoWriteLock l{ _extraRWLock }; _extraData.AddExtra(a_extra); } BSExtraData* GetByType(BSExtraData::Type a_type) { const BSAutoReadLock l{ _extraRWLock }; return _extraData.GetByType(a_type); } private: // members BaseExtraList _extraData; // 08 mutable BSReadWriteLock _extraRWLock; // 20 }; static_assert(sizeof(ExtraDataList) == 0x28); ================================================ FILE: sfse/GameFormComponents.h ================================================ #pragma once #include "sfse/GameTypes.h" #include "sfse_common/Utilities.h" #include "sfse_common/Types.h" class TESObjectARMO; class ActorValueInfo; class BGSKeyword; class TBO_InstanceData; class BGSPerk; class TESRace; class BGSLocationRefType; class BGSTerminal; class BGSModelMaterialSwap; class BGSBodyPartData; class BGSAimAssistPoseData; class BaseFormComponent { public: virtual ~BaseFormComponent(); // 00 // add virtual void InitializeDataComponent(); // 01 virtual void ClearDataComponent(); // 02 virtual void CopyComponent(BaseFormComponent* a_rhs); // 03 - { return; } virtual void Unk_04(); // 04 virtual void Unk_05(); // 05 virtual void Unk_06(); // 06 virtual void Unk_07(); // 07 }; static_assert(sizeof(BaseFormComponent) == 0x08); class TESFormRefCount : public BaseFormComponent { public: volatile u64 refCount; // 00 }; class TBO_InstanceData : public BSIntrusiveRefCounted { public: virtual ~TBO_InstanceData(); virtual void Unk_01(); virtual void Unk_02(); virtual void Unk_03(); virtual void Unk_04(); virtual void Unk_05(); virtual void Unk_06(); virtual void Unk_07(); virtual void Unk_08(); virtual void Unk_09(); virtual void Unk_0A(); virtual void Unk_0B(); virtual void Unk_0C(); virtual void Unk_0D(); virtual void Unk_0E(); virtual void Unk_0F(); virtual void Unk_10(); }; class BGSSnapTemplateComponent : public BaseFormComponent { public: virtual ~BGSSnapTemplateComponent(); virtual void Unk_08(); // 08 virtual void Unk_09(); // 09 virtual void Unk_0A(); // 0A u64 unk08; // 08 u64 unk10; // 10 }; static_assert(sizeof(BGSSnapTemplateComponent) == 0x18); class BGSPreviewTransform : public BaseFormComponent { public: virtual ~BGSPreviewTransform(); virtual void Unk_08(); // 08 virtual void Unk_09(); // 09 virtual void Unk_0A(); // 0A u64 unk08; // 08 u64 unk10; // 10 u64 unk18; // 18 u64 unk20; // 20 u64 unk28; // 28 u64 unk30; // 30 u64 unk38; // 38 u64 unk40; // 40 }; static_assert(sizeof(BGSPreviewTransform) == 0x48); class BGSMod { public: class Template { public: class Items : public BaseFormComponent { public: virtual ~Items(); virtual void Unk_08(); // 08 virtual void Unk_09(); // 09 virtual void Unk_0A(); // 0A void* unk08; // 08 void* unk10; // 10 void* unk18; // 18 }; }; }; static_assert(sizeof(BGSMod::Template::Items) == 0x20); class BGSObjectPlacementDefaults : public BaseFormComponent { public: virtual void Unk_08(); // 08 virtual void Unk_09(); // 09 virtual void Unk_0A(); // 0A u64 unk08; // 08 }; static_assert(sizeof(BGSObjectPlacementDefaults) == 0x10); struct alignas(0x4) ACTOR_BASE_DATA { enum Flags { kFlags_None = 0, kFlags_Gender = (1 << 0), kFlags_Essential = (1 << 1), kFlags_Unique = (1 << 5), kFlags_Protected = (1 << 11), kFlags_WalkStyle = (1 << 19), }; u8 GetSex() const { return iActorBaseFlags & kFlags_Gender; } bool IsEssential() const { return iActorBaseFlags & kFlags_Essential; } bool IsUnique() const { return iActorBaseFlags & kFlags_Unique; } bool IsProtected() const { return iActorBaseFlags & kFlags_Protected; } s32 iActorBaseFlags; s16 sXPValueOffset; s16 sLevel; u16 usCalcLevelMin; u16 usCalcLevelMax; u16 usBaseDisposition; s16 sTemplateUseFlags; s16 sBleedoutOverride; }; static_assert(sizeof(ACTOR_BASE_DATA) == 0x14); class TESActorBaseData : public BaseFormComponent { public: virtual void Unk_08(); // 08 virtual void Unk_09(); // 09 virtual void Unk_0A(); // 0A virtual void Unk_10(); // 10 virtual void Unk_11(); // 11 virtual void Unk_12(); // 12 virtual void Unk_13(); // 13 ACTOR_BASE_DATA actorData; // 08 s32 unk1C; // 1C u64 unk20; // 20 u64 unkPad; // Added in 1.10.31 u64 unk28; // 28 u64 unk30; // 30 u64 unk38; // 38 u64 unk40; // 40 u64 unk48; // 48 u64 unk50; // 50 u64 unk58; // 58 u64 unk60; // 60 u64 unk68; // 68 }; static_assert(sizeof(TESActorBaseData) == 0x78); class TESContainer : public BaseFormComponent { public: virtual void Unk_08(); // 08 virtual void Unk_09(); // 09 virtual void Unk_0A(); // 0A void* pContainerObjectsA; // 08 u32 uiNumContainerObjects; // 10 }; static_assert(sizeof(TESContainer) == 0x18); class TESSpellList : public BaseFormComponent { public: u32 unk08; // 08 u32 unk0C; // 0C u64 unk10; // 10 }; static_assert(sizeof(TESSpellList) == 0x18); class PackageList { public: virtual void Unk_00(); u64 unk08; // 08 u64 unk10; // 10 u64 unk18; // 18 u64 unk20; // 20 }; static_assert(sizeof(PackageList) == 0x28); struct alignas(0x4) AIDATA_GAME { u16 unk00; // 00 u8 unk02; // 02 u8 pad03; // 03 u16 uiAggroRadius[4]; // 04 u16 pad0A; // 0A u8 unk0C; // 0C }; static_assert(sizeof(AIDATA_GAME) == 0x10); class TESAIForm : public BaseFormComponent { public: AIDATA_GAME AIData; // 08 PackageList AIPackList; // 18 }; static_assert(sizeof(TESAIForm) == 0x40); class TESFullName : public BaseFormComponent { public: BSFixedString strFullName; // 08 }; static_assert(sizeof(TESFullName) == 0x10); class TESDescription : public BaseFormComponent { public: u32 uiFileOffset; // 08 u32 uiChunkOffset; // 0C BGSLocalizedStringDL DescriptionText; // 10 }; static_assert(sizeof(TESDescription) == 0x18); class BGSBipedObjectForm : public BaseFormComponent { public: void* unk08; // 08 }; static_assert(sizeof(BGSBipedObjectForm) == 0x10); class BGSPreloadable { public: virtual ~BGSPreloadable(); }; enum ACTOR_VALUE_MODIFIER { AVM_PERMANENT, AVM_TEMPORARY, AVM_DAMAGE, AVM_COUNT }; class ActorValueOwner { public: virtual float GetActorValue(const ActorValueInfo* arInfo); virtual float GetPermanentActorValue(const ActorValueInfo* arInfo); virtual float GetBaseActorValue(const ActorValueInfo* arInfo); virtual void SetBaseActorValue(const ActorValueInfo* arInfo, float afValue); virtual void ModBaseActorValue(const ActorValueInfo* arInfo, float afDelta); virtual void ModActorValue(ACTOR_VALUE_MODIFIER aeModifier, const ActorValueInfo* arInfo); virtual float GetModifier(ACTOR_VALUE_MODIFIER aeModifier, const ActorValueInfo* arInfo); virtual void RestorActorValue(const ActorValueInfo* arInfo, float afAmount); virtual void SetActorValue(const ActorValueInfo* arInfo, float afValue); }; class BGSDestructibleObjectForm : public BaseFormComponent { public: void* pData; // 08 }; static_assert(sizeof(BGSDestructibleObjectForm) == 0x10); class BGSSkinForm : public BaseFormComponent { public: TESObjectARMO* pFormSkin; // 08 }; static_assert(sizeof(BGSSkinForm) == 0x10); class IKeywordFormBase { public: virtual ~IKeywordFormBase(); virtual bool HasKeyword(const BGSKeyword* apKeyword, const TBO_InstanceData* apData); virtual void CollectAllKeywords(BSScrapArray& arOutKeywordA, const TBO_InstanceData* apData); }; class BGSKeywordForm : public BaseFormComponent, public IKeywordFormBase // 08 { public: u32 unk10; u32 unk14; u64 unk18; u32 unk20; u32 unk24; u64 unk28; }; static_assert(sizeof(BGSKeywordForm) == 0x30); class BGSAttackDataForm : public BaseFormComponent { public: void*/*NiPointer*/ spAttackDataMap; // 08 }; static_assert(sizeof(BGSAttackDataForm) == 0x10); struct PerkRankData { BGSPerk* pPerk; // 00 u8 cCurrentRank; // 08 }; class BGSPerkRankArray : public BaseFormComponent { public: BSTArray pPerksA; // 08 }; static_assert(sizeof(BGSPerkRankArray) == 0x18); class BGSPropertySheet : public BaseFormComponent { public: u64 unk08; }; static_assert(sizeof(BGSPropertySheet) == 0x10); class TESRaceForm : public BaseFormComponent { public: TESRace* pFormRace; // 08 }; static_assert(sizeof(TESRaceForm) == 0x10); class BGSOverridePackCollection : public BaseFormComponent { public: u64 unk08[8]; }; static_assert(sizeof(BGSOverridePackCollection) == 0x48); class BGSForcedLocRefType : public BaseFormComponent { public: u64 unk08; // 08 u64 unk10; // 10 }; static_assert(sizeof(BGSForcedLocRefType) == 0x18); class BGSNativeTerminalForm : public BaseFormComponent { public: BGSTerminal* pTerminal; // 08 }; static_assert(sizeof(BGSNativeTerminalForm) == 0x10); class BGSAttachParentArray : public BaseFormComponent { public: void*/*BGSTypedKeywordValue<2>*/ pArray; // 08 u32 uiSize; // 10 }; static_assert(sizeof(BGSAttachParentArray) == 0x18); class TESModel : public BaseFormComponent { public: virtual void Unk_08(); // 08 - Record related virtual void Unk_09(); // 09 virtual void Unk_0A(); // 0A virtual void Unk_0B(); // 0B virtual void Unk_0C(); // 0C virtual void Unk_0D(); // 0D virtual BGSModelMaterialSwap* GetAsModelMaterialSwap(); // 0E BSFixedString cModel; // 08 u64 unk10; // 10 u32 unk18; // 18 u32 unk1C; // 1C }; static_assert(sizeof(TESModel) == 0x20); class TESModelTri : public TESModel { public: }; static_assert(sizeof(TESModelTri) == 0x20); class BGSTextureModel : public TESModel { public: }; static_assert(sizeof(BGSTextureModel) == 0x20); class BGSModelMaterialSwap : public TESModel { public: float fColorRemappingIndex; // 20 u32 pad24; // 24 }; static_assert(sizeof(BGSModelMaterialSwap) == 0x28); class IAnimationGraphComponent { public: virtual ~IAnimationGraphComponent(); virtual void Unk_01(); virtual void Unk_02(); }; class BGSAnimationGraphComponent : public BaseFormComponent, public IAnimationGraphComponent { public: BSFixedString unk10; // 10 BSFixedString unk18; // 18 BSFixedString unk20; // 20 BSFixedString unk28; // 28 u64 unk30; u8 unk38; }; static_assert(sizeof(BGSAnimationGraphComponent) == 0x40); struct FACEFX_BONESET { virtual ~FACEFX_BONESET(); u64 unk08; u64 unk10; u64 unk18; u64 unk20; }; class BoneModifierData { public: virtual ~BoneModifierData(); virtual void Unk_01(); virtual void Unk_02(); virtual void Unk_03(); virtual void Unk_04(); virtual void Unk_05(); virtual void Unk_06(); BSFixedString unk08; // 08 BSFixedString unk10; // 10 float unk18; // 18 }; class LookAtChainData : public BoneModifierData { public: BSFixedString unk20; // 20 }; class MorphDriverData : public BoneModifierData { public: float unk20; float unk24; float unk28; float unk2C; float unk30; u8 unk34; }; class PoseDeformerData : public BoneModifierData { public: float unk20[(0x58 - 0x20) >> 2]; u8 unk58; }; static_assert(sizeof(PoseDeformerData) == 0x60); class SpringBoneData : public BoneModifierData { public: float unk20[(0x60 - 0x20) >> 2]; u8 unk60; }; static_assert(sizeof(SpringBoneData) == 0x68); class BGSBodyPartInfo : public BaseFormComponent { public: BGSBodyPartData* unk08; // 08 FACEFX_BONESET* unk10; // 10 FACEFX_BONESET* unk18; // 18 BGSAimAssistPoseData* unk20; // 20 }; static_assert(sizeof(BGSBodyPartInfo) == 0x28); ================================================ FILE: sfse/GameForms.cpp ================================================ #include "sfse/GameForms.h" RelocAddr TESForm::GetFormByNumericID(0x005DEF30); RelocAddr TESForm::GetFormByEditorID(0x005DF1E0); ================================================ FILE: sfse/GameForms.h ================================================ #pragma once #include "sfse/GameFormComponents.h" #include "sfse/GameReflection.h" #include "sfse/GameChargen.h" #include "sfse/NiTypes.h" class TESFile; class TESObjectREFR; class BGSMorphableObject; class TESNPC; class NiAVObject; class TESWaterForm; enum class FormType : u32 { kNONE = 0, // 00 kTES4, // 01 kGRUP, // 02 kGMST, // 03 kKYWD, // 04 BGSKeyword kFFKW, // 05 BGSFormFolderKeywordList kLCRT, // 06 BGSLocationRefType kAACT, // 07 BGSAction kTRNS, // 08 BGSTransform kTXST, // 09 BGSTextureSet kGLOB, // 0A TESGlobal kDMGT, // 0B BGSDamageType kCLAS, // 0C TESClass kFACT, // 0D TESFaction kAFFE, // 0E BGSAffinityEvent kHDPT, // 0F BGSHeadPart kEYES, // 10 TESEyes kRACE, // 11 TESRace kSOUN, // 12 TESSound kSECH, // 13 BGSSoundEcho kASPC, // 14 BGSAcousticSpace kAOPF, // 15 BGSAudioOcclusionPrimitive kSKIL, // 16 kMGEF, // 17 EffectSetting kSCPT, // 18 Script kLTEX, // 19 TESLandTexture kPDCL, // 1A BGSProjectedDecal kENCH, // 1B EnchantmentItem kSPEL, // 1C SpellItem kSCRL, // 1D ScrollItem kACTI, // 1E TESObjectACTI kTACT, // 1F BGSTalkingActivator kCURV, // 20 BGSCurveForm kCUR3, // 21 BGSCurve3DForm kARMO, // 22 TESObjectARMO kBOOK, // 23 TESObjectBOOK kCONT, // 24 TESObjectCONT kDOOR, // 25 TESObjectDOOR kINGR, // 26 IngredientItem kLIGH, // 27 TESObjectLIGH kMISC, // 28 TESObjectMISC kSTAT, // 29 TESObjectSTAT kSCOL, // 2A BGSStaticCollection kPKIN, // 2B BGSPackIn kMSTT, // 2C BGSMovableStatic kGRAS, // 2D TESGrass kFLOR, // 2E TESFlora kFURN, // 2F TESFurniture kWEAP, // 30 TESObjectWEAP kAMMO, // 31 TESAmmo kNPC_, // 32 TESNPC kLVLN, // 33 TESLevCharacter kLVLP, // 34 BGSLevPackIn kKEYM, // 35 TESKey kALCH, // 36 AlchemyItem kIDLM, // 37 BGSIdleMarker kBMMO, // 38 BGSBiomeMarkerObject kNOTE, // 39 BGSNote kPROJ, // 3A BGSProjectile kHAZD, // 3B BGSHazard kBNDS, // 3C BGSBendableSpline kSLGM, // 3D TESSoulGem kTERM, // 3E BGSTerminal kLVLI, // 3F TESLevItem kGBFT, // 40 BGSGenericBaseFormTemplate kGBFM, // 41 BGSGenericBaseForm kLVLB, // 42 BGSLevGenericBaseForm kWTHR, // 43 TESWeather kWTHS, // 44 BGSWeatherSettingsForm kCLMT, // 45 TESClimate kSPGD, // 46 BGSShaderParticleGeometryData kREGN, // 47 TESRegion kNAVI, // 48 NavMeshInfoMap kCELL, // 49 TESObjectCELL kREFR, // 4A TESObjectREFR kACHR, // 4B Actor kPMIS, // 4C MissileProjectile kPARW, // 4D ArrowProjectile kPGRE, // 4E GrenadeProjectile kPBEA, // 4F BeamProjectile kPFLA, // 50 FlameProjectile kPCON, // 51 ConeProjectile kPPLA, // 52 PlasmaProjectile kPBAR, // 53 BarrierProjectile kPEMI, // 54 EmitterProjectile kPHZD, // 55 Hazard kWRLD, // 56 TESWorldSpace kNAVM, // 57 NavMesh kTLOD, // 58 kDIAL, // 59 TESTopic kINFO, // 5A TESTopicInfo kQUST, // 5B TESQuest kIDLE, // 5C TESIdleForm kPACK, // 5D TESPackage kCSTY, // 5E TESCombatStyle kLSCR, // 5F TESLoadScreen kLVSP, // 60 TESLevSpell kANIO, // 61 TESObjectANIO kWATR, // 62 TESWaterForm kEFSH, // 63 TESEffectShader kTOFT, // 64 kEXPL, // 65 BGSExplosion kDEBR, // 66 BGSDebris kIMGS, // 67 TESImageSpace kIMAD, // 68 TESImageSpaceModifier kFLST, // 69 BGSListForm kPERK, // 6A BGSPerk kBPTD, // 6B BGSBodyPartData kADDN, // 6C BGSAddonNode kAVIF, // 6D ActorValueInfo kCAMS, // 6E BGSCameraShot kCPTH, // 6F BGSCameraPath kVTYP, // 70 BGSVoiceType kMATT, // 71 BGSMaterialType kIPCT, // 72 BGSImpactData kIPDS, // 73 BGSImpactDataSet kARMA, // 74 TESObjectARMA kLCTN, // 75 BGSLocation kMESG, // 76 BGSMessage kRGDL, // 77 kDOBJ, // 78 BGSDefaultObjectManager kDFOB, // 79 BGSDefaultObject kLGTM, // 7A BGSLightingTemplate kMUSC, // 7B BGSMusicType kFSTP, // 7C BGSFootstep kFSTS, // 7D BGSFootstepSet kSMBN, // 7E BGSStoryManagerBranchNode kSMQN, // 7F BGSStoryManagerQuestNode kSMEN, // 80 BGSStoryManagerEventNode kDLBR, // 81 BGSDialogueBranch kMUST, // 82 BGSMusicTrackFormWrapper kDLVW, // 83 kWOOP, // 84 TESWordOfPower kSHOU, // 85 TESShout kEQUP, // 86 BGSEquipSlot kRELA, // 87 BGSRelationship kSCEN, // 88 BGSScene kASTP, // 89 BGSAssociationType kOTFT, // 8A BGSOutfit kARTO, // 8B BGSArtObject kMATO, // 8C BGSMaterialObject kMOVT, // 8D BGSMovementType kDUAL, // 8E BGSDualCastData kCOLL, // 8F BGSCollisionLayer kCLFM, // 90 BGSColorForm kREVB, // 91 BGSReverbParameters kRFGP, // 92 BGSReferenceGroup kAMDL, // 93 BGSAimModel kAAMD, // 94 BGSAimAssistModel kMAAM, // 95 BGSMeleeAimAssistModel kLAYR, // 96 kCOBJ, // 97 BGSConstructibleObject kOMOD, // 98 BGSMod::Attachment::Mod kZOOM, // 99 BGSAimDownSightModel kINNR, // 9A BGSInstanceNamingRules kKSSM, // 9B BGSSoundKeywordMapping kSCCO, // 9C kAORU, // 9D BGSAttractionRule kSTAG, // 9E BGSSoundTagSet kIRES, // 9F BGSResource kBIOM, // A0 BGSBiome kNOCM, // A1 NavMeshObstacleCoverManager kLENS, // A2 BGSLensFlare kLSPR, // A3 kOVIS, // A4 BGSObjectVisibilityManager kDLYR, // A5 kSTND, // A6 BGSSnapTemplateNode kSTMP, // A7 BGSSnapTemplate kGCVR, // A8 BGSGroundCover kMRPH, // A9 BGSMorphableObject kTRAV, // AA BGSTraversal kRSGD, // AB BGSResourceGenerationData kOSWP, // AC BGSObjectSwap kATMO, // AD BGSAtmosphere kLVSC, // AE BGSLevSpaceCell kSPCH, // AF BGSSpeechChallengeObject kRESO, // B0 kAAPD, // B1 BGSAimAssistPoseData kVOLI, // B2 BGSVolumetricLighting kSFBK, // B3 BGSSurface::Block kSFPC, // B4 kSFPT, // B5 BGSSurface::Pattern kSFTR, // B6 BGSSurface::Tree kPCMT, // B7 BGSPlanetContentManagerTree kBMOD, // B8 BGSBoneModifier kSTBH, // B9 BGSSnapBehavior kPNDT, // BA BGSPlanet::PlanetData kIUTF, // BB kCNDF, // BC BGSConditionForm kPCBN, // BD BGSPlanetContentManagerBranchNode kPCCN, // BE BGSPlanetContentManagerContentNode kSTDT, // BF BSGalaxy::BGSStar kWWED, // C0 BGSWwiseEventForm kRSPJ, // C1 BGSResearchProjectForm kAOPS, // C2 BGSAimOpticalSightModel kAMBS, // C3 BGSAmbienceSet kWBAR, // C4 BGSWeaponBarrelModel kPTST, // C5 BGSSurface::PatternStyle kLMSW, // C6 BGSLayeredMaterialSwap kFORC, // C7 BGSForceData kTMLM, // C8 BGSTerminalMenu kEFSQ, // C9 BGSEffectSequenceForm kSDLT, // CA BGSSecondaryDamageList kMTPT, // CB BGSMaterialPathForm kCLDF, // CC BGSCloudForm kFOGV, // CD BGSFogVolumeForm kWKMF, // CE BGSWwiseKeywordMapping kLGDI, // CF BGSLegendaryItem kPSDC, // D0 BGSParticleSystemDefineCollection kSUNP, // D1 BSGalaxy::BGSSunPresetForm kPMFT, // D2 BGSPhotoModeFeature kTODD, // D3 BGSTimeOfDayData kAVMD, // D4 BGSAVMData kPERS, // D5 TESDataHandlerPersistentCreatedUtil::BGSPersistentIDsForm kCHAL, // D6 BGSChallengeForm kUNK1, // D7 kUNK2, // D8 kUNK3, // D9 kTotal // DA }; class TESForm : public TESFormRefCount, public BSReflection::IObject { public: virtual ~TESForm(); // 00 struct ACTIVATE_DATA { TESObjectREFR* activatedRef; TESObjectREFR* actionRef; TESForm* objectToGet; s32 count; bool unk1C; }; // add virtual void Unk_08(); // 08 virtual void Unk_09(); // 09 virtual void Unk_0A(); // 0A virtual void Unk_0B(); // 0B virtual void Unk_0C(); // 0C virtual void Unk_0D(); // 0D virtual void Unk_0E(); // 0E virtual void Unk_0F(); // 0F virtual void Unk_10(); // 10 virtual void Unk_11(); // 11 virtual void Unk_12(); // 12 virtual void Unk_13(); // 13 virtual void Unk_14(); // 14 virtual void Unk_15(); // 15 virtual void Unk_16(); // 16 virtual bool AddChange(u32 a_changeFlags); // 17 virtual void RemoveChange(u32 a_changeFlags); // 18 virtual void Unk_19(); // 19 virtual void Unk_1A(); // 1A virtual void Unk_1B(); // 1B virtual void Unk_1C(); // 1C virtual void Unk_1D(); // 1D virtual void Unk_1E(); // 1E virtual void InitItemImpl(); // 1F virtual TESFile* GetRevertFile() const; // 20 virtual TESFile* GetDescriptionOwnerFile() const; // 21 virtual u8 GetSavedFormType(); // 22 virtual void GetFormDetailedString(char* a_dest, u32 a_size) const; // 23 virtual bool GetKnown() const; // 24 virtual bool GetRandomAnim() const; // 25 virtual bool GetPlayable() const; // 26 virtual void SetPlayable(bool a_set); // 27 virtual void Unk_28(); // 28 virtual void Unk_29(); // 29 virtual bool GetDangerous() const; // 2A virtual bool QHasCurrents() const; // 2B virtual bool GetObstacle() const; // 2C virtual void Unk_2D(); // 2D virtual bool GetOnLocalMap() const; // 2E virtual bool GetMustUpdate() const; // 2F virtual void SetOnLocalMap(bool a_val); // 30 virtual void Unk_31(); // 31 - new? virtual void Unk_32(); // 32 - GetIgnoredBySandbox()? virtual void SetDelete(bool a_deleted); // 33 virtual void SetAltered(bool a_altered); // 34 virtual void Unk_35(); // 35 virtual void Unk_36(); // 36 virtual void Unk_37(); // 37 virtual void Unk_38(); // 38 virtual void Unk_39(); // 39 virtual void Unk_3A(); // 3A virtual void Unk_3B(); // 3B virtual void Unk_3C(); // 3C virtual void Unk_3D(); // 3D virtual void Unk_3E(); // 3E virtual void Unk_3F(); // 3F virtual bool IsFurniture(); // 40 - new virtual void Unk_41(); // 41 virtual void Unk_42(); // 42 virtual void Unk_43(); // 43 virtual void Unk_44(); // 44 virtual void Unk_45(); // 45 virtual void Unk_46(); // 46 virtual void Unk_47(); // 47 virtual void Unk_48(); // 48 virtual void Unk_49(); // 49 virtual void Unk_4A(); // 4A virtual void Unk_4B(); // 4B virtual u32 GetFullNameLength() const; // 4C - new virtual const char* GetFullName() const; // 4D - new virtual void Unk_4E(); // 4E virtual void Unk_4F(); // 4F virtual void Unk_50(); // 50 virtual void Unk_51(); // 51 virtual void Unk_52(); // 52 virtual void Unk_53(); // 53 virtual bool Activate(const ACTIVATE_DATA& a_activateData); // 54 virtual void Unk_55(); // 55 virtual void Unk_56(); // 56 virtual void Unk_57(); // 57 virtual void Unk_58(); // 58 virtual void Unk_59(); // 59 virtual void Unk_5A(); // 5A virtual void Unk_5B(); // 5B virtual void Unk_5C(); // 5C virtual u32 GetFilledSlots() const; // 5D virtual u32 GetFilledSlotsImpl() const; // 5E virtual float GetDesirability() const; // 5F virtual void Unk_60(); // 60 virtual void Unk_61(); // 61 // members u32 unk18; // 18 u32 unk1C; // 1C u32 formFlags; // 20 u32 unk24; // 24 u32 formID; // 28 u8 unk2C; // 2C - also flag u8 unk2D; // 2D u8 formType; // 2E u16 modIndex; // 2F - changed to u16 in 1.14.70 using _GetFormByNumericID = TESForm * (*)(u32 formId); static RelocAddr<_GetFormByNumericID> GetFormByNumericID; using _GetFormByEditorID = TESForm * (*)(const char*); static RelocAddr<_GetFormByEditorID> GetFormByEditorID; }; static_assert(offsetof(TESForm, refCount) == 0x08); static_assert(sizeof(TESForm) == 0x38); class BGSKeyword : public TESForm { public: //... }; struct OBJ_REFR { public: // members NiPoint3 angle; // 00 NiPoint3 location; // 0C TESForm* objectReference; // 18 - TESBoundObject }; static_assert(sizeof(OBJ_REFR) == 0x20); struct LOADED_REF_DATA { public: // members void* handleList; // 00 - TODO NiPointer data3D; // 08 TESWaterForm* currentWaterType; // 10 float relevantWaterHeight; // 18 float cachedRadius; // 1C u32 flags; // 20 u16 underwaterCount; // 24 }; static_assert(sizeof(LOADED_REF_DATA) == 0x28); class BGSListForm : public TESForm { public: BSTArray ArrayOfForms; // 30 u64 unk40; // 40 u64 unk48; // 48 u64 unk50; // 50 u64 unk58; // 58 u64 unk60; // 60 u64 unk68; // 68 u64 unk70; // 70 u64 unk78; // 78 u64 unk80; // 80 }; static_assert(sizeof(BGSListForm) == 0x90); class BGSMorphableObject : public TESForm { public: BSFixedString unk30; // 30 BGSMorphableObject* unk38; // 38 - Seems to point to itself? BSFixedString performanceMaterial; // 40 BSFixedString chargenMaterial; // 48 BSFixedString unk50; // 50 u32 unk58; // 58 u32 unk5C; // 5C }; static_assert(sizeof(BGSMorphableObject) == 0x68); class BGSHeadPart : public TESForm, public TESFullName, // 30 public BGSModelMaterialSwap // 40 { public: enum HeadPartType : s32 { HeadPartMisc = 0, HeadPartFace, HeadPartRightEye, HeadPartHair, HeadPartFacialHair, HeadPart5, HeadPartEyebrows, HeadPartJewelry, HeadPart8, HeadPartTeeth, HeadPart10, HeadPart11, HeadPartLeftEye, HeadPartEyelashes, HeadPartCount }; BSFixedString unk68; // 68 BGSHeadPart* unk70; // 70 TESModel ChargenModel; // 78 TESModelTri MorphsA[3]; // 98 u8 unkF8; // F8 u8 padF9[7]; // F9 u64 unk100; // 100 BSTArray extraParts; // 108 BGSMorphableObject* morph; // 118 u64 unk120; // 120 BGSListForm* unk128; // 128 BSFixedString unk130; // 130 BSFixedString unk148; // 138 HeadPartType eType; // 140 u32 unk144; // 144 }; static_assert(sizeof(BGSHeadPart) == 0x150); static_assert(offsetof(BGSHeadPart, strFullName) == 0x40); static_assert(offsetof(BGSHeadPart, cModel) == 0x50); class BGSBoneModifier : public TESForm { public: virtual ~BGSBoneModifier(); BoneModifierData* unk30; // 30 }; static_assert(sizeof(BGSBoneModifier) == 0x40); class BGSEquipSlot : public TESForm { public: virtual ~BGSEquipSlot(); BSFixedString unk30; // 30 void* unk38; // 38 u64 unk40; // 40 u64 unk48; // 48 u64 unk50; // 50 u64 unk58; // 58 }; static_assert(sizeof(BGSEquipSlot) == 0x68); class BGSBodyPartData : public TESForm, public TESModel, // 30 public BGSPreloadable { public: u64 unk58[(0x128 - 0x58) >> 3]; // 58 BSFixedString unk128; // 128 BSFixedString unk130; // 130 BSFixedString unk138; // 138 BSFixedString unk140; // 140 BSFixedString unk148; // 148 }; static_assert(sizeof(BGSBodyPartData) == 0x158); class BGSMovementType : public TESForm { public: BSFixedString unk30; // 30 u64 unk38[(0x140 - 0x38) >> 3]; }; static_assert(sizeof(BGSMovementType) == 0x148); class BGSAimAssistPoseData : public TESForm { public: u64 unk30; // 30 u64 unk38; // 38 u64 unk40; // 40 u64 unk48; // 48 u64 unk50; // 50 }; class TESRace : public TESForm, public TESFullName, public TESDescription, public TESSpellList, public BGSSkinForm, public BGSBipedObjectForm, public BGSKeywordForm, public BGSAttackDataForm, public BGSPropertySheet, public BGSPreloadable { public: BSFixedString editorID; // E8 void* unkF0; // F0 void* unkF8; // F8 float unk100; // 100 u32 unk104; // 104 u32 unk108; // 108 u32 unk10C; // 10C u64 unk110; // 110 u64 unk118; // 118 u64 unk120; // 120 u64 unk128; // 128 u32 unk130; // 130 u32 unk134; // 134 u32 unk138; // 138 u32 unk13C; // 13C u64 unk140; // 140 u64 unk148; // 148 u64 unk150; // 150 u64 unk158; // 158 BSFixedString slotNames[64]; // 160 void* unk360[64]; // 360 BSTHashMap slotMap; // 560 struct EquipSlot { BGSEquipSlot* unk00; // 00 void* unk08; // 08 }; BSTArray unk598; // 598 u64 unk5A8; // 5A8 u64 unk5B0; // 5B0 u64 unk5B8; // 5B8 BSTArray unk5C0[2]; // 5C0 u64 unk5E0; // 5E0 TESModel unk5E8[4]; // 5E8 TESModel faceBones[2]; // 668 struct Unk6A8 { s32 unk00; float unk04; float unk08; float unk0C; float unk10; u32 unk14; u64 unk18; float unk20; u32 unk24; float unk28; float unk2C; float unk30; float unk34; float unk38; float unk3C; float unk40; float unk44; float unk48; float unk4C; u32 unk50; float unk54; float unk58; u32 unk5C; float unk60; float unk64; struct Unk68 { float unk00; float unk08; float unk0C; }; Unk68 unk68[2]; void* unk80; s32 unk88; s32 unk8C; s32 unk90; s32 unk94; s32 unk98; s32 unk9C; float unkA0; float unkA4; float unkA8; float unkAC; float unkB0; float unkB4; float unkB8; float unkBC; u32 unkC0; u32 unkC4; u32 unkC8; u32 unkCC; u64 unkD0; u64 unkD8; u64 unkE0; u32 unkE8; u32 unkEC; float unkF0; float unkF4; u32 unkF8; u32 unkFC; }; Unk6A8 unk6A8; // 6A8 u64 unk7A8; // 7A8 BGSTextureModel unk7B0[2]; // 7B0 BGSAnimationGraphComponent unk7F0[4]; // 7F0 void* unk8F0[2]; // 8F0 BGSBodyPartInfo bodyPartInfo; // 900 BGSAttachParentArray attachParentA; // 928 u64 unk940; // 940 u64 unk948; // 948 u64 unk950; // 950 BGSMovementType* unk958[4]; // 958 u64 unk978; // 978 u64 unk980; // 980 using FaceSliderID = u32; using FaceMorphID = u32; struct ChargenData { struct FaceMorphData { BSFixedString Name; // 00 BSFixedString SecondaryMorphName; // 08 BSFixedStringCS AssociatedMorphGroup; // 10 u64 AssociatedHeadPartType; // 18 BSFixedString unk20; // 20 BSFixedString unk28; // 28 BSTArray BonesA; // 30 - Probably CS? BSTArray AssociatedMorphs; // 40 BSTArray PostBlendSliderA; // 50 FaceMorphID ID; // 60 u8 SculptRegion; // 64 }; BSTHashMap faceMorphMap; BSTHashMap facialSliderMap; BSTHashMap unk70; BSTHashMap*> facialBoneRegionCategoryMapping; BSTArray headMorphA; // E0 BSFixedString unkF0; // F0 u64 unkF8; // F8 u64* unk100; // 100 u64 sliderCount; // 108 u64 unk110; // 110 BSTArray unk118; // 118 struct MorphGroup { BSFixedString name; // Probably CS? BSTArray MorphA; // Probably CS? }; BSTArray morphGroupA; // 128 char* unk138; // 138 - This is a giant csv of somekind void* unk140; // 140 BSFixedString unk148; // 148 }; ChargenData* chargenData[2]; // 988 u64 unk998; // 998 BSFixedString handMaterials[2]; // 9A0 BSFixedString skinMaterials[2]; // 9B0 BSFixedString unk9C0[2]; // 9C0 BSTArray headParts[2]; // 9D0 struct Unk9F0 { void* unk00[2]; }; Unk9F0 unk9F0[2]; BSFixedString unkA10; }; static_assert(offsetof(TESRace, unk360) == 0x368); static_assert(offsetof(TESRace, unk5C0) == 0x5C8); static_assert(offsetof(TESRace, unk5E8) == 0x5F0); static_assert(offsetof(TESRace::Unk6A8, unk80) == 0x80); static_assert(offsetof(TESRace, unk6A8) == 0x6B0); static_assert(offsetof(TESRace, unk7B0) == 0x7B8); static_assert(offsetof(TESRace, unk7F0) == 0x7F8); static_assert(offsetof(TESRace, unk8F0) == 0x8F8); static_assert(offsetof(TESRace, bodyPartInfo) == 0x908); static_assert(offsetof(TESRace, attachParentA) == 0x930); static_assert(offsetof(TESRace, unk940) == 0x948); static_assert(offsetof(TESRace, headParts) == 0x9D8); static_assert(offsetof(TESRace, unk9F0) == 0x9F8); static_assert(offsetof(TESRace, unkA10) == 0xA18); static_assert(sizeof(TESRace::Unk6A8) == 0x100); static_assert(sizeof(TESRace::ChargenData::FaceMorphData) == 0x68); static_assert(sizeof(TESRace::ChargenData) == 0x150); static_assert(sizeof(TESRace) == 0xA20); class BGSAVMData : public TESForm { public: BSFixedString editorName; // 30 BGSAVMData* unk38; // 38 - Points to itself? enum Type { SIMPLE, COMPLEX, MODULATION }; u64 type; // 40 BSFixedString name; // 48 BSFixedString name2; // 50 struct Entry { BSFixedString name; BSFixedString textureOrAVM; struct Color { u8 a, b, g, r; }; Color color; u32 unk14; }; Entry* entryBegin; // 58 Entry* entryEnd; // 60 Entry* unk68; // 68 - Why are there 2 end pointers? u64 unk70; // 70 }; static_assert(sizeof(BGSAVMData) == 0x80); ================================================ FILE: sfse/GameLock.cpp ================================================ #include "sfse/GameLock.h" ================================================ FILE: sfse/GameLock.h ================================================ #pragma once #include "sfse_common/Types.h" #include "sfse_common/Utilities.h" class BSNonReentrantSpinLock { public: DEFINE_MEMBER_FN_0(lock, void, 0x00323990); // try_lock and unlock was inlined everywhere private: // members volatile u32 _lock{}; // 0 }; static_assert(sizeof(BSNonReentrantSpinLock) == 0x4); class BSReadWriteLock { public: DEFINE_MEMBER_FN_0(lock_read, void, 0x022CE9B0); DEFINE_MEMBER_FN_0(lock_write, void, 0x022CEA30); DEFINE_MEMBER_FN_0(unlock_read, void, 0x002C6280); DEFINE_MEMBER_FN_0(unlock_write, void, 0x002C4B80); private: // members u32 _writerThread{}; // 0 volatile u32 _lock{}; // 4 }; static_assert(sizeof(BSReadWriteLock) == 0x8); class BSSpinLock { public: DEFINE_MEMBER_FN_0(lock, void, 0x022CB300); DEFINE_MEMBER_FN_0(try_lock, bool, 0x022CB2B0); DEFINE_MEMBER_FN_0(unlock, void, 0x002B6600); private: // members u32 _owningThread{}; // 0 volatile u32 _lock{}; // 4 }; static_assert(sizeof(BSSpinLock) == 0x8); template struct BSAutoLockDefaultPolicy { public: static void lock(Mutex& a_mutex) { a_mutex.lock(); } static void unlock(Mutex& a_mutex) { a_mutex.unlock(); } }; static_assert(std::is_empty_v>); template struct BSAutoLockReadLockPolicy { public: static void lock(Mutex& a_mutex) { a_mutex.lock_read(); } static void unlock(Mutex& a_mutex) { a_mutex.unlock_read(); } }; static_assert(std::is_empty_v>); template struct BSAutoLockWriteLockPolicy { public: static void lock(Mutex& a_mutex) { a_mutex.lock_write(); } static void unlock(Mutex& a_mutex) { a_mutex.unlock_write(); } }; static_assert(std::is_empty_v>); template class Policy = BSAutoLockDefaultPolicy> class BSAutoLock { public: using mutex_type = Mutex; using policy_type = Policy; explicit BSAutoLock(mutex_type& a_mutex) : _lock(std::addressof(a_mutex)) { policy_type::lock(*_lock); } explicit BSAutoLock(mutex_type* a_mutex) : _lock(a_mutex) { if (_lock) { policy_type::lock(*_lock); } } ~BSAutoLock() { if (_lock) { policy_type::unlock(*_lock); } } private: // members mutex_type* _lock{}; // 00 }; static_assert(sizeof(BSAutoLock) == 0x8); using BSAutoReadLock = BSAutoLock; static_assert(sizeof(BSAutoReadLock) == 0x8); using BSAutoWriteLock = BSAutoLock; static_assert(sizeof(BSAutoWriteLock) == 0x8); template class BSGuarded { public: template class Policy = BSAutoLockDefaultPolicy> class Guard { public: explicit Guard(U& a_data, Mutex& a_mutex) : _guard(a_mutex), _data(a_data) {} U& operator*() { return _data; } U& operator->() { return _data; } const U& operator*() const { return _data; } const U& operator->() const { return _data; } private: // members BSAutoLock _guard{}; // 0 - Lock guard is first here? U& _data; // 8 }; auto lock() { return Guard(_data, _lock); } auto lock_read() const { return Guard(_data, _lock); } auto lock_write() { return Guard(_data, _lock); } private: // members T _data{}; // ?? mutable Mutex _lock{}; // ?? }; ================================================ FILE: sfse/GameMemory.cpp ================================================ #include "sfse/GameMemory.h" RelocAddr<_GetMemoryManager> GetMemoryManager(0x002B81E0); void* Heap_Allocate(size_t size) { return GetMemoryManager()->Allocate(size, 0, false); } void Heap_Free(void* ptr) { GetMemoryManager()->Free(ptr, false); } ================================================ FILE: sfse/GameMemory.h ================================================ #pragma once #include "sfse_common/Utilities.h" class ScrapHeap // Has parent classes { public: virtual ~ScrapHeap(); u64 unk08[(0x4B8 - 0x08) >> 3]; // 08 u32 currentThreadId; // 4B8 }; static_assert(offsetof(ScrapHeap, currentThreadId) == 0x4B8); class MemoryManager { public: DEFINE_MEMBER_FN_3(Allocate, void*, 0x022CA0C0, size_t size, size_t alignment, bool aligned); DEFINE_MEMBER_FN_2(Free, void, 0x022CA330, void* buf, bool aligned); // GetThreadScrapHeap appears to be inlined everywhere. did not check all ~2000 instances }; using _GetMemoryManager = MemoryManager * (*)(); extern RelocAddr<_GetMemoryManager> GetMemoryManager; void* Heap_Allocate(size_t size); void Heap_Free(void* ptr); ================================================ FILE: sfse/GameMenu.h ================================================ #pragma once #include "sfse/ScaleformFunctions.h" #include "sfse/GameUI.h" #include "sfse/GameEvents.h" #include "sfse/ScaleformValue.h" class TESNPC; namespace Scaleform { namespace GFx { class MovieImpl; } } class IMenu : public SWFToCodeFunctionHandler, // 00 public BSInputEventUser, // 10 public BSTEventSink // 50 { public: virtual const char* GetName() const ; // 03 virtual const char* GetRootPath() const; // 04 virtual void Unk_05(); // 05 virtual void Unk_06(); // 06 virtual bool LoadMovie(bool addEventDispatcher, bool unk2); // 07 virtual void Unk_08(); // 08 virtual void Unk_09(); // 09 virtual void Unk_0A(); // 0A virtual void Unk_0B(); // 0B virtual void Unk_0C(); // 0C virtual void Unk_0D(); // 0D virtual void Unk_0E(); // 0E virtual void Unk_0F(); // 0F virtual void Unk_10(); // 10 virtual void Unk_11(); // 11 virtual void Unk_12(); // 12 virtual void Unk_13(); // 13 virtual void Unk_14(); // 14 virtual void Unk_15(); // 15 virtual void Unk_16(); // 16 virtual void Unk_17(); // 17 virtual void Unk_18(); // 18 virtual void Unk_19(); // 19 virtual void Unk_1A(); // 1A Scaleform::GFx::Value MenuObj; // 58 Scaleform::GFx::MovieImpl* pUIMovie; // 88 u64 unk90; // 90 - EventDispatcherBackend? u64 unk98; // 98 u64 unkA0; // A0 u32 unkA8; // A8 u32 unkAC; // AC BSFixedString MenuName; // B0 BSFixedString unkB8; // B8 u64 unkC0; // C0 - Flags? u32 unkC8; // C8 u32 unkCC; // CC u32 unkD0; // D0 u32 unkD4; // D4 u64 unkD8; // D8 u64 unkE0; // E0 u64 unkE8; // E8 u64 unkF0; // F0 u64 unkF8; // F8 u64 unk100; // 100 u32 unk108; // 108 u32 unk10C; // 10C u64 unk110; // 110 u64 unk118; // 118 u64 unk120; // 120 u64 unk128; // 128 u64 unk130; // 130 }; static_assert(offsetof(IMenu, pUIMovie) == 0x88); static_assert(offsetof(IMenu, MenuName) == 0xB0); class GameMenuBase : public IMenu { public: }; // 658 class ChargenMenu : public IMenu, // 00 public IDataModel, // 138 public BSTEventSink, // 140 public BSTEventSink, // 148 public BSTEventSink, // 150 public BSTEventSink, // 158 public BSTEventSink, // 160 public BSTEventSink, // 168 public BSTEventSink, // 170 public BSTEventSink, // 178 public BSTEventSink, // 180 public BSTEventSink, // 188 public BSTEventSink, // 190 public BSTEventSink, // 198 public BSTEventSink, // 1A0 public BSTEventSink, // 1A8 public BSTEventSink, // 1B0 public BSTEventSink, // 1B8 public BSTEventSink, // 1C0 public BSTEventSink, // 1C8 public BSTEventSink, // 1D0 public BSTEventSink, // 1D8 public BSTEventSink, // 1E0 public BSTEventSink, // 1E8 public BSTEventSink, // 1F0 public BSTEventSink, // 1F8 public BSTEventSink, // 200 public BSTEventSink, // 208 public BSTEventSink, // 210 public BSTEventSink, // 218 public BSTEventSink, // 220 public BSTEventSink, // 228 public BSTEventSink, // 230 public BSTEventSink, // 238 public BSTEventSink, // 240 public BSTEventSink, // 248 public BSTEventSink, // 250 public BSTEventSink, // 258 public BSTEventSink, // 260 public BSTEventSink, // 268 public BSTEventSink, // 270 public BSTEventSink, // 278 public BSTEventSink, // 280 public BSTEventSink, // 288 public BSTEventSink, // 290 public BSTEventSink, // 298 public BSTEventSink, // 2A0 public BSTEventSink, // 2A8 public BSTEventSink, // 2B0 public BSTEventSink // 2B8 { public: MenuPaperDoll* pPaperDoll; // 2C8 TESNPC* npc; // 2D0 u64 unk2D8[(0x5B8 - 0x2D8) >> 3]; u32 cameraPosition; // 5B8 u32 unk5BC; // 5BC u64 unk5C0[(0x650 - 0x5C0) >> 3]; enum { FACE_CAMERA_POSITION = 0, BODY_CAMERA_POSITION, BACKGROUND_CAMERA_POSITION, PRESET_CAMERA_POSITION, TRAITS_CAMERA_POSITION }; }; static_assert(offsetof(ChargenMenu, cameraPosition) == 0x5B8); static_assert(sizeof(ChargenMenu) == 0x650); ================================================ FILE: sfse/GameObjects.h ================================================ #pragma once #include "sfse/GameForms.h" #include "sfse/GameFormComponents.h" #include "sfse/GameEvents.h" class TESClass; class TESCombatStyle; class BGSOutfit; class BGSListForm; class TESFaction; class BGSHeadPart; class TESObject : public TESForm { public: virtual void Unk_62(); // 62 virtual void Unk_63(); // 63 virtual void Unk_64(); // 64 virtual void Unk_65(); // 65 virtual void Unk_66(); // 66 virtual void Unk_67(); // 67 virtual void Unk_68(); // 68 virtual void Unk_69(); // 69 virtual void Unk_6A(); // 6A virtual void Unk_6B(); // 6B BGSSnapTemplateComponent snapTemplate; // 38 }; static_assert(sizeof(TESObject) == 0x50); class TESBoundObject : public TESObject { public: virtual void Unk_6C(); // 6C virtual void Unk_6D(); // 6D virtual void Unk_6E(); // 6E virtual void Unk_6F(); // 6F virtual void Unk_70(); // 70 virtual void Unk_71(); // 71 virtual void Unk_72(); // 72 virtual void Unk_73(); // 73 virtual void Unk_74(); // 74 virtual void Unk_75(); // 75 virtual void Unk_76(); // 76 virtual void Unk_77(); // 77 virtual void Unk_78(); // 78 virtual void Unk_79(); // 79 virtual void Unk_7A(); // 7A virtual void Unk_7B(); // 7B virtual void Unk_7C(); // 7C virtual void Unk_7D(); // 7D virtual void Unk_7E(); // 7E virtual void Unk_7F(); // 7F NiPoint3 boundMin; // 48 NiPoint3 boundMax; // 54 BGSMod::Template::Items templateItems; // 60 BGSPreviewTransform previewTransform; // 80 BGSObjectPlacementDefaults placementDefaults; // C8 u32 unkD8; // D8 }; static_assert(offsetof(TESBoundObject, templateItems) == 0x68); static_assert(offsetof(TESBoundObject, previewTransform) == 0x88); static_assert(offsetof(TESBoundObject, placementDefaults) == 0xD0); static_assert(sizeof(TESBoundObject) == 0xE8); class TESBoundAnimObject : public TESBoundObject { public: virtual ~TESBoundAnimObject(); virtual void Unk_80(); // 80 virtual void Unk_81(); // 81 }; static_assert(sizeof(TESBoundAnimObject) == 0xE8); class TESActorBase : public TESBoundAnimObject, public TESActorBaseData, // E0 public TESContainer, // 150 public TESSpellList, // 168 public TESAIForm, // 180 public TESFullName, // 1C0 public ActorValueOwner, // 1D0 public BGSDestructibleObjectForm, // 1D8 public BGSSkinForm, // 1E8 public BGSKeywordForm, // 1F8 public BGSAttackDataForm, // 200 public BGSPerkRankArray, // 228 public BGSPropertySheet // 238 { public: virtual void Unk_82(); // 82 virtual void Unk_83(); // 83 virtual void Unk_84(); // 84 virtual void Unk_85(); // 85 }; class TESNPC : public TESActorBase, public TESRaceForm, // 250 public BGSOverridePackCollection, // 260 public BGSForcedLocRefType, // 270 public BGSNativeTerminalForm, // 2B8 public BSTEventSink // 2D0 { public: class InstanceData : public TBO_InstanceData { public: u64 unk10[(0x158 - 0x10) >> 3]; }; BGSAttachParentArray AttachParents; // 2E8 u64 unk300; // 300 u32 unk308; // 308 u32 unk30C; // 30C TESClass* pCl; // 310 //u64 unk318; // 318 - Removed 1.10.31 u64 unk320; // 320 TESCombatStyle* pCombatStyle; // 328 u32 unk330; // 330 u32 unk334; // 334 u64 unk338; // 338 TESNPC* pFaceNPC; // 340 NiPoint3 MorphWeight; // 348 float fHeight; // 354 float fHeightMax; // 358 u32 unk35C; // 35C u64 unk360; // 360 u64 unk368; // 368 u64 unk370; // 370 BSFixedString unk378; // 378 u64 unk380; // 380 u64 unk388; // 388 BGSOutfit* pDefOutfit; // 390 BGSOutfit* pSleepOutfit; // 398 BGSListForm* pDefaultPackList; // 3A0 TESFaction* pCrimeFaction; // 3A8 u64 unk3B0; // 3B0 BSTArray HeadPartsA; // 3B8 u64 unk3C8; // 3C8 BSTArray* unk3D0; // 3D0 -- 5 floats entries? BSTHashMap2* AdditionalSliders; // 3D8 BSTHashMap*>* unk3E0; // 3E0 struct HeadPartData { u32 type; // 00 1 - Mask? u32 unk04; // 04 BSFixedStringCS group; // 08 BSFixedStringCS name; // 10 BSFixedStringCS texture; // 18 struct Color { u8 a, b, g, r; }; Color color; // 20 u32 intensity; // 24 up to 128 for some reason replaces alpha, color.a does nothing? }; BSTArray HeadPartDataA; // 3E0 u32 skinTone; // 3F8 u32 unk3FC; // 3FC BSFixedStringCS teeth; // 400 BSFixedStringCS jewelryColor; // 408 BSFixedStringCS eyeColor; // 410 BSFixedStringCS hairColor; // 418 BSFixedStringCS facialHairColor; // 420 BSFixedStringCS eyebrowColor; // 428 u64 unk468; // 430 BSFixedString unk438; // 438 BSTHashMap* shapeBlendData; // 440 - ShapeBlendData Map u8 pronoun; // 448 u8 pad449[7]; // 449 DEFINE_MEMBER_FN_1(DeriveGeneticParentAppearance, void, 0x00CD9CB0, TESNPC* source); DEFINE_MEMBER_FN_1(CopyAppearance, void, 0x00CD9B30, TESNPC* source); }; static_assert(sizeof(TESNPC) == 0x458); // Un-verified after 1.10.31 static_assert(sizeof(TESNPC::HeadPartData) == 0x28); static_assert(sizeof(TESNPC::InstanceData) == 0x158); ================================================ FILE: sfse/GameRTTI.cpp ================================================ #include "sfse/GameRTTI.h" #include "sfse_common/Types.h" #include "sfse_common/Relocation.h" typedef void* (*_Runtime_DynamicCast_Internal)(void* srcObj, u32 arg1, const void* fromType, const void* toType, u32 arg4); RelocAddr <_Runtime_DynamicCast_Internal> Runtime_DynamicCast_Internal(0x037565E0); // __RTDynamicCast void* Runtime_DynamicCast(void* srcObj, const void* fromType, const void* toType) { uintptr_t fromTypeAddr = uintptr_t(fromType) + RelocationManager::s_baseAddr; uintptr_t toTypeAddr = uintptr_t(toType) + RelocationManager::s_baseAddr; return Runtime_DynamicCast_Internal(srcObj, 0, (void*)fromTypeAddr, (void*)toTypeAddr, 0); } #include "GameRTTI.inl" ================================================ FILE: sfse/GameRTTI.h ================================================ #pragma once void * Runtime_DynamicCast(void * srcObj, const void * fromType, const void * toType); #define DYNAMIC_CAST(obj, from, to) ( ## to *) Runtime_DynamicCast((void*)(obj), RTTI_ ## from, RTTI_ ## to) extern const void * RTTI_AK__StreamMgr__IAkFileLocationResolver; extern const void * RTTI_AK__StreamMgr__IAkLowLevelIOHook; extern const void * RTTI_AabbHitCollector; extern const void * RTTI_AbsorbEffect; extern const void * RTTI_AccumulatingValueModifierEffect; extern const void * RTTI_ActionActivateDoneHandler; extern const void * RTTI_ActionInput; extern const void * RTTI_ActionOutput; extern const void * RTTI_ActiveEffect; extern const void * RTTI_ActiveEffectReferenceEffectController; extern const void * RTTI_ActiveModItemDataModel; extern const void * RTTI_ActiveModItemDataModel__ActiveModItemEventShuttle; extern const void * RTTI_Actor; extern const void * RTTI_ActorEquipManager; extern const void * RTTI_ActorKnowledge; extern const void * RTTI_ActorMagicCaster; extern const void * RTTI_ActorMover; extern const void * RTTI_ActorPackageData; extern const void * RTTI_ActorSceneNextPhaseHandler; extern const void * RTTI_ActorUtils__ArmorRatingVisitor; extern const void * RTTI_ActorUtils__ArmorRatingVisitorBase; extern const void * RTTI_ActorValueBindingUpdaterService; extern const void * RTTI_ActorValueInfo; extern const void * RTTI_ActorValueOwner; extern const void * RTTI_ActorValueSnapshot; extern const void * RTTI_Actor__ForEachSpellVisitor; extern const void * RTTI_AddRagdollHandler; extern const void * RTTI_AddToInventoryOnDestroyUtils__AddToInventoryOnDestroyEventHandler; extern const void * RTTI_AimAssistData; extern const void * RTTI_AimAssist__Circle; extern const void * RTTI_AimAssist__Ellipse; extern const void * RTTI_AimAssist__Pill; extern const void * RTTI_AimDownSightData; extern const void * RTTI_AimModelData; extern const void * RTTI_AimOpticalSightData; extern const void * RTTI_AimOpticalSightStates__Active; extern const void * RTTI_AimOpticalSightStates__BetweenShots; extern const void * RTTI_AimOpticalSightStates__Deinitialization; extern const void * RTTI_AimOpticalSightStates__Inactive; extern const void * RTTI_AimOpticalSightStates__Initialization; extern const void * RTTI_AimOpticalSightStates__Ready; extern const void * RTTI_AlarmPackage; extern const void * RTTI_AlchemyItem; extern const void * RTTI_AliasLegendaryRankCalculator; extern const void * RTTI_AllowRotationHandler; extern const void * RTTI_AllowRotationHandlerReference; extern const void * RTTI_Almanac_BodySelected; extern const void * RTTI_Almanac_Inorganics_ChangeSelection; extern const void * RTTI_Almanac_Inorganics_ToggleTracking; extern const void * RTTI_Almanac_Locations_ChangeSelection; extern const void * RTTI_Almanac_Locations_FavoriteSelection; extern const void * RTTI_Almanac_Locations_OutpostSelected; extern const void * RTTI_Almanac_Organics_ChangeSelection; extern const void * RTTI_Almanac_Organics_ToggleTracking; extern const void * RTTI_Almanac_PageChanged; extern const void * RTTI_Almanac_Recipes_ChangeCategory; extern const void * RTTI_Almanac_Recipes_ChangeSelection; extern const void * RTTI_Almanac_Recipes_ToggleTracking; extern const void * RTTI_Almanac_ShowResourceBodyList; extern const void * RTTI_Almanac_Workshop_ChangeSelection; extern const void * RTTI_Almanac_Workshop_ToggleTracking; extern const void * RTTI_Almanac__AlmanacMenu; extern const void * RTTI_Almanac__AlmanacMenu__AlmanacMenuEventShuttle; extern const void * RTTI_Almanac__AlmanacState_Inorganics; extern const void * RTTI_Almanac__AlmanacState_Inorganics__AlmanacInorganicsEventShuttle; extern const void * RTTI_Almanac__AlmanacState_Locations; extern const void * RTTI_Almanac__AlmanacState_Locations__AlmanacLocationsEventShuttle; extern const void * RTTI_Almanac__AlmanacState_Null; extern const void * RTTI_Almanac__AlmanacState_Organics; extern const void * RTTI_Almanac__AlmanacState_Organics__AlmanacOrganicsEventShuttle; extern const void * RTTI_Almanac__AlmanacState_Recipes; extern const void * RTTI_Almanac__AlmanacState_Recipes__AlmanacRecipesEventShuttle; extern const void * RTTI_Almanac__AlmanacState_Workshop; extern const void * RTTI_Almanac__AlmanacState_Workshop__AlmanacWorkshopEventShuttle; extern const void * RTTI_AmmoData; extern const void * RTTI_AnimGraph; extern const void * RTTI_AnimGraphNode; extern const void * RTTI_AnimatedCameraDeltaStartHandler; extern const void * RTTI_AnimatedCameraEndHandler; extern const void * RTTI_AnimatedCameraStartHandler; extern const void * RTTI_AnimationClipDataSingleton; extern const void * RTTI_AnimationCompleteHandler; extern const void * RTTI_AnimationCorrectedNode; extern const void * RTTI_AnimationCorrectedNodeInstance; extern const void * RTTI_AnimationDrivenHandler; extern const void * RTTI_AnimationDrivenHandlerReference; extern const void * RTTI_AnimationFileManagerSingleton; extern const void * RTTI_AnimationGraph; extern const void * RTTI_AnimationGraphInstance; extern const void * RTTI_AnimationImpactSelector; extern const void * RTTI_AnimationImpactSelectorInstance; extern const void * RTTI_AnimationManager; extern const void * RTTI_AnimationNode; extern const void * RTTI_AnimationNodeInstance; extern const void * RTTI_AnimationObjectDrawHandler; extern const void * RTTI_AnimationObjectHideHandler; extern const void * RTTI_AnimationObjectLoadHandler; extern const void * RTTI_AnimationObjectUnequipAllHandler; extern const void * RTTI_AnimationObjectUnequipHandler; extern const void * RTTI_AnimationRagdoll; extern const void * RTTI_AnimationRagdollDrive; extern const void * RTTI_AnimationRagdollDriveInstance; extern const void * RTTI_AnimationRagdollInstance; extern const void * RTTI_AnimationStanceDataHelperSingleton; extern const void * RTTI_AnimationStanceDataSingletonDBData; extern const void * RTTI_AnimationStreamLoadGame; extern const void * RTTI_AnimationStreamSaveGame; extern const void * RTTI_AnimationSystemUtils__QueuedAnimationHandles; extern const void * RTTI_AnimationSystemUtils__QueuedModelHandles; extern const void * RTTI_AnimationSystemUtils__QueuedReferenceAnimationTask; extern const void * RTTI_AnimationSystemUtils__TESModelAndAnimationHandles; extern const void * RTTI_AntiGravityEffect; extern const void * RTTI_AnticipateAttackHandler; extern const void * RTTI_ArchiveFile; extern const void * RTTI_ArmorCraftingMenu; extern const void * RTTI_ArrowAttachHandler; extern const void * RTTI_ArrowDetachHandler; extern const void * RTTI_ArrowProjectile; extern const void * RTTI_AssignVariable; extern const void * RTTI_AssignVariableInstance; extern const void * RTTI_AssigniState; extern const void * RTTI_AssigniStateInstance; extern const void * RTTI_AttachDistant3DTask; extern const void * RTTI_AttachReferenceHandler; extern const void * RTTI_AttackStopHandler; extern const void * RTTI_AttractionObjectLOSManager; extern const void * RTTI_AttractionObjectLOSUtils__CacheEntry; extern const void * RTTI_AutoVanityState; extern const void * RTTI_AwakeSoundFadeHandler; extern const void * RTTI_AwakeSoundPauseHandler; extern const void * RTTI_AwakeSoundResumeHandler; extern const void * RTTI_AwakeSoundStopHandler; extern const void * RTTI_BGSAIOperationsMeter; extern const void * RTTI_BGSAIWorldLocationEditorSpacePointRadius; extern const void * RTTI_BGSAIWorldLocationInteriorCell; extern const void * RTTI_BGSAIWorldLocationPointRadius; extern const void * RTTI_BGSAIWorldLocationPrimitive; extern const void * RTTI_BGSAIWorldLocationRefRadius; extern const void * RTTI_BGSAVMData; extern const void * RTTI_BGSAbilityPerkEntry; extern const void * RTTI_BGSAcousticSpace; extern const void * RTTI_BGSAction; extern const void * RTTI_BGSActionData; extern const void * RTTI_BGSActivity; extern const void * RTTI_BGSActivityTrackerFormComponent; extern const void * RTTI_BGSActorValueActivity; extern const void * RTTI_BGSActorValueActivity_Runtime; extern const void * RTTI_BGSAdaptiveTriggerDataComponent; extern const void * RTTI_BGSAddToInventoryOnDestroy; extern const void * RTTI_BGSAddonNode; extern const void * RTTI_BGSAddonNodeSoundHandleExtra; extern const void * RTTI_BGSAffinityEvent; extern const void * RTTI_BGSAimAssistModel; extern const void * RTTI_BGSAimAssistPoseData; extern const void * RTTI_BGSAimDownSightModel; extern const void * RTTI_BGSAimModel; extern const void * RTTI_BGSAimOpticalSightModel; extern const void * RTTI_BGSAmbienceSet; extern const void * RTTI_BGSAnimationGraphComponent; extern const void * RTTI_BGSAnimationPathImplementation; extern const void * RTTI_BGSAnimationSubGraphDataSingleton; extern const void * RTTI_BGSApplyMagicEffectActivity; extern const void * RTTI_BGSApplyMagicEffectActivity_Runtime; extern const void * RTTI_BGSArtObject; extern const void * RTTI_BGSArtObjectCloneTask; extern const void * RTTI_BGSAssociationType; extern const void * RTTI_BGSAtmosphere; extern const void * RTTI_BGSAttachParentArray; extern const void * RTTI_BGSAttachTechniquesUtil__AttachTechniquesFunctor; extern const void * RTTI_BGSAttachTechniquesUtil__DetachTechniquesFunctor; extern const void * RTTI_BGSAttachTechniquesUtil__ProcessTechniquesFunctor; extern const void * RTTI_BGSAttackData; extern const void * RTTI_BGSAttackDataForm; extern const void * RTTI_BGSAttackDataMap; extern const void * RTTI_BGSAttractionRule; extern const void * RTTI_BGSAudioOcclusionPrimitive; extern const void * RTTI_BGSAudio_Internal__LooseAudioRegistrar; extern const void * RTTI_BGSAudio_Internal__WwiseActiveEventMgr; extern const void * RTTI_BGSAudio_Internal__WwiseActiveEventMgr__DelayedEventInfo; extern const void * RTTI_BGSAudio_Internal__WwiseActiveEventMgr__PlayingEventInfo; extern const void * RTTI_BGSAudio_Internal__WwiseEventPreloadMgr; extern const void * RTTI_BGSAudio_Internal__WwiseGameObjectMgr; extern const void * RTTI_BGSAudio_Internal__WwiseIODevice; extern const void * RTTI_BGSAudio_Internal__WwiseIOMgr; extern const void * RTTI_BGSAudio_Internal__WwiseMetadataMgr; extern const void * RTTI_BGSAudio__IEmitterResolver; extern const void * RTTI_BGSAudio__RefNodeResolver; extern const void * RTTI_BGSAudio__WwiseService; extern const void * RTTI_BGSAutoWater; extern const void * RTTI_BGSBarterActivity; extern const void * RTTI_BGSBarterActivity_Runtime; extern const void * RTTI_BGSBaseAlias; extern const void * RTTI_BGSBaseLODBlock; extern const void * RTTI_BGSBaseLODBlock__AutoDetachBlock; extern const void * RTTI_BGSBaseLODBlock__GeometryAutoDetachBlock; extern const void * RTTI_BGSBaseLODRuntimeComponent; extern const void * RTTI_BGSBendableSpline; extern const void * RTTI_BGSBiome; extern const void * RTTI_BGSBiomeMarkerObject; extern const void * RTTI_BGSBiome__MarkerKeywordData; extern const void * RTTI_BGSBleedoutActivity; extern const void * RTTI_BGSBleedoutActivity_Runtime; extern const void * RTTI_BGSBlockBashData; extern const void * RTTI_BGSBodyManager; extern const void * RTTI_BGSBodyPartData; extern const void * RTTI_BGSBodyPartInfo; extern const void * RTTI_BGSBodyUtils__SkinColorUpdateNode; extern const void * RTTI_BGSBoneModifier; extern const void * RTTI_BGSBuildWorkshopActivity; extern const void * RTTI_BGSBuildWorkshopActivity_Runtime; extern const void * RTTI_BGSCameraPath; extern const void * RTTI_BGSCameraShot; extern const void * RTTI_BGSChallengeForm; extern const void * RTTI_BGSCharacterMorph__FacialBoneSculptSlider; extern const void * RTTI_BGSCharacterMorph__FacialBoneSlider; extern const void * RTTI_BGSCityMapsUsageComponent; extern const void * RTTI_BGSCloudForm; extern const void * RTTI_BGSCollisionLayer; extern const void * RTTI_BGSColorForm; extern const void * RTTI_BGSCompleteResearchActivity; extern const void * RTTI_BGSCompleteResearchActivity_Runtime; extern const void * RTTI_BGSConditionForm; extern const void * RTTI_BGSConstructibleObject; extern const void * RTTI_BGSConsumeActivity; extern const void * RTTI_BGSConsumeActivity_Runtime; extern const void * RTTI_BGSContactShadowComponent; extern const void * RTTI_BGSConveyorBelt__ConveyorBelt; extern const void * RTTI_BGSCraftActivity; extern const void * RTTI_BGSCraftActivity_Runtime; extern const void * RTTI_BGSCraftableForm; extern const void * RTTI_BGSCraftingResourceOwner; extern const void * RTTI_BGSCreatedObjectManager; extern const void * RTTI_BGSCrippleLimbActivity; extern const void * RTTI_BGSCrippleLimbActivity_Runtime; extern const void * RTTI_BGSCrowdComponent; extern const void * RTTI_BGSCurve3DForm; extern const void * RTTI_BGSCurveForm; extern const void * RTTI_BGSCustomShipForm; extern const void * RTTI_BGSDamageType; extern const void * RTTI_BGSDebris; extern const void * RTTI_BGSDecalManager; extern const void * RTTI_BGSDecalNode; extern const void * RTTI_BGSDefaultObject; extern const void * RTTI_BGSDefaultObjectManager; extern const void * RTTI_BGSDestroyShipActivity; extern const void * RTTI_BGSDestroyShipActivity_Runtime; extern const void * RTTI_BGSDestructibleObjectForm; extern const void * RTTI_BGSDialogueBranch; extern const void * RTTI_BGSDisplayCaseFormComponent; extern const void * RTTI_BGSDistantObjectBlock; extern const void * RTTI_BGSDockingActivity; extern const void * RTTI_BGSDockingActivity_Runtime; extern const void * RTTI_BGSDualCastData; extern const void * RTTI_BGSDynamicLODBlock; extern const void * RTTI_BGSDynamicLODBlock__InstancedAutoDetachBlock; extern const void * RTTI_BGSEchoListener; extern const void * RTTI_BGSEffectSequenceForm; extern const void * RTTI_BGSEffectSequenceFormComponent; extern const void * RTTI_BGSEntryPointFunctionData; extern const void * RTTI_BGSEntryPointFunctionDataAVAndValue; extern const void * RTTI_BGSEntryPointFunctionDataActivateChoice; extern const void * RTTI_BGSEntryPointFunctionDataBooleanGraphVariable; extern const void * RTTI_BGSEntryPointFunctionDataLeveledList; extern const void * RTTI_BGSEntryPointFunctionDataOneValue; extern const void * RTTI_BGSEntryPointFunctionDataProjectile; extern const void * RTTI_BGSEntryPointFunctionDataSpellItem; extern const void * RTTI_BGSEntryPointFunctionDataText; extern const void * RTTI_BGSEntryPointFunctionDataTwoValue; extern const void * RTTI_BGSEntryPointPerkEntry; extern const void * RTTI_BGSEquipSlot; extern const void * RTTI_BGSExplosion; extern const void * RTTI_BGSExternalComponentDataSource; extern const void * RTTI_BGSFaceFX; extern const void * RTTI_BGSFacialExpressionData; extern const void * RTTI_BGSFadeManager; extern const void * RTTI_BGSFogVolumeForm; extern const void * RTTI_BGSFootIkImplementation; extern const void * RTTI_BGSFootstep; extern const void * RTTI_BGSFootstepManager; extern const void * RTTI_BGSFootstepSet; extern const void * RTTI_BGSForceData; extern const void * RTTI_BGSForcedLocRefType; extern const void * RTTI_BGSFormFolderKeywordList; extern const void * RTTI_BGSFormLinkData; extern const void * RTTI_BGSGameRenderSettingsManager; extern const void * RTTI_BGSGameWarningsHandler__GameWarningsSink; extern const void * RTTI_BGSGameplayOption; extern const void * RTTI_BGSGameplayOptionGroup; extern const void * RTTI_BGSGenericBaseForm; extern const void * RTTI_BGSGenericBaseFormTemplate; extern const void * RTTI_BGSGeometryConstructorManager; extern const void * RTTI_BGSGrassManager; extern const void * RTTI_BGSGrassManager__AddCellGrassTask; extern const void * RTTI_BGSGrassManager__CellGrass; extern const void * RTTI_BGSGravJumpActivity; extern const void * RTTI_BGSGravJumpActivity_Runtime; extern const void * RTTI_BGSGravityWielderEffectData; extern const void * RTTI_BGSGroundCover; extern const void * RTTI_BGSGroupedInstancedGeometry; extern const void * RTTI_BGSHarvestActivity; extern const void * RTTI_BGSHarvestActivity_Runtime; extern const void * RTTI_BGSHavokGeometryAttach; extern const void * RTTI_BGSHavokGeometryAttach__ActionPolicy; extern const void * RTTI_BGSHavokGeometryAttach__AttachPolicy; extern const void * RTTI_BGSHavokGeometryAttach__DetachPolicy; extern const void * RTTI_BGSHazard; extern const void * RTTI_BGSHeadPart; extern const void * RTTI_BGSIdleCollection; extern const void * RTTI_BGSIdleMarker; extern const void * RTTI_BGSImpactData; extern const void * RTTI_BGSImpactDataSet; extern const void * RTTI_BGSImpactManager; extern const void * RTTI_BGSInstanceNamingRules; extern const void * RTTI_BGSInventoryInterface; extern const void * RTTI_BGSInventoryList; extern const void * RTTI_BGSKeyword; extern const void * RTTI_BGSKeywordForm; extern const void * RTTI_BGSKillActivity; extern const void * RTTI_BGSKillActivity_Runtime; extern const void * RTTI_BGSLODManager; extern const void * RTTI_BGSLODSharedGeometryCache; extern const void * RTTI_BGSLODStates__Geometry__Attached; extern const void * RTTI_BGSLODStates__Geometry__Attaching; extern const void * RTTI_BGSLODStates__Geometry__DeferredDetach; extern const void * RTTI_BGSLODStates__Geometry__DeferredDetachComplete; extern const void * RTTI_BGSLODStates__Geometry__Detached; extern const void * RTTI_BGSLODStates__Geometry__Invisible; extern const void * RTTI_BGSLODStates__Geometry__Loaded; extern const void * RTTI_BGSLODStates__Geometry__Loading; extern const void * RTTI_BGSLODStates__Geometry__Prepared; extern const void * RTTI_BGSLODStates__Geometry__Preparing; extern const void * RTTI_BGSLODStates__Geometry__RequestingResources; extern const void * RTTI_BGSLODStates__Geometry__Reset; extern const void * RTTI_BGSLODStates__Geometry__ResourcesBusy; extern const void * RTTI_BGSLODStates__Geometry__ResourcesReady; extern const void * RTTI_BGSLODStates__Geometry__Unloaded; extern const void * RTTI_BGSLODStates__Geometry__Visible; extern const void * RTTI_BGSLODStates__Node__Active; extern const void * RTTI_BGSLODStates__Node__FadingIn; extern const void * RTTI_BGSLODStates__Node__FadingOut; extern const void * RTTI_BGSLODStates__Node__Inactive; extern const void * RTTI_BGSLODStates__Node__IntersectsLoadedArea; extern const void * RTTI_BGSLODStates__Node__Loaded; extern const void * RTTI_BGSLODStates__Node__OutsideLoadedArea; extern const void * RTTI_BGSLODStates__Node__PrepareFadingIn; extern const void * RTTI_BGSLODStates__Node__PrepareFadingOut; extern const void * RTTI_BGSLODStates__Node__Split; extern const void * RTTI_BGSLODStates__Node__Unloaded; extern const void * RTTI_BGSLOSGenerator; extern const void * RTTI_BGSLandPlanetActivity; extern const void * RTTI_BGSLandPlanetActivity_Runtime; extern const void * RTTI_BGSLayeredMaterialSwap; extern const void * RTTI_BGSLegendaryItem; extern const void * RTTI_BGSLensFlare; extern const void * RTTI_BGSLensFlareSprite; extern const void * RTTI_BGSLevGenericBaseForm; extern const void * RTTI_BGSLevPackIn; extern const void * RTTI_BGSLevSpaceCell; extern const void * RTTI_BGSLightingTemplate; extern const void * RTTI_BGSLinkedVoiceType; extern const void * RTTI_BGSListForm; extern const void * RTTI_BGSLoadFormBuffer; extern const void * RTTI_BGSLoadGameBuffer; extern const void * RTTI_BGSLoadGameBufferSimple; extern const void * RTTI_BGSLoadedReferenceCollection; extern const void * RTTI_BGSLoadedSceneLODBlock; extern const void * RTTI_BGSLocAlias; extern const void * RTTI_BGSLocation; extern const void * RTTI_BGSLocationDiscoveredActivity; extern const void * RTTI_BGSLocationDiscoveredActivity_Runtime; extern const void * RTTI_BGSLocationRefType; extern const void * RTTI_BGSLockPickActivity; extern const void * RTTI_BGSLockPickActivity_Runtime; extern const void * RTTI_BGSLodOwnerComponent; extern const void * RTTI_BGSLodRuntimeOwnerComponent; extern const void * RTTI_BGSLootContainerActivity; extern const void * RTTI_BGSLootContainerActivity_Runtime; extern const void * RTTI_BGSLoseEnemyActivity; extern const void * RTTI_BGSLoseEnemyActivity_Runtime; extern const void * RTTI_BGSMaterialPathForm; extern const void * RTTI_BGSMaterialPropertyComponent; extern const void * RTTI_BGSMaterialType; extern const void * RTTI_BGSMeleeAimAssistModel; extern const void * RTTI_BGSMessage; extern const void * RTTI_BGSMod__Attachment__Mod; extern const void * RTTI_BGSMod__Property__BridgeI; extern const void * RTTI_BGSMod__Template__Item; extern const void * RTTI_BGSMod__Template__Items; extern const void * RTTI_BGSModelMaterialSwap; extern const void * RTTI_BGSModelNode; extern const void * RTTI_BGSMorphableObject; extern const void * RTTI_BGSMotorAction__Action; extern const void * RTTI_BGSMotorAction__FanMotor; extern const void * RTTI_BGSMovableStatic; extern const void * RTTI_BGSMovementType; extern const void * RTTI_BGSMoviePlayer; extern const void * RTTI_BGSMultiTechniqueAttach; extern const void * RTTI_BGSMultiTechniqueAttach__ActionPolicy; extern const void * RTTI_BGSMultiTechniqueAttach__AttachPolicy; extern const void * RTTI_BGSMultiTechniqueAttach__DetachPolicy; extern const void * RTTI_BGSMusicPaletteTrack; extern const void * RTTI_BGSMusicSilenceTrack; extern const void * RTTI_BGSMusicSingleTrack; extern const void * RTTI_BGSMusicTrack; extern const void * RTTI_BGSMusicTrackFormWrapper; extern const void * RTTI_BGSMusicType; extern const void * RTTI_BGSNamedNodeAttach; extern const void * RTTI_BGSNamedNodeAttach__ActionPolicy; extern const void * RTTI_BGSNamedNodeAttach__AttachPolicy; extern const void * RTTI_BGSNamedNodeAttach__DetachPolicy; extern const void * RTTI_BGSNavigationGridManager; extern const void * RTTI_BGSNote; extern const void * RTTI_BGSObjectInstanceExtra; extern const void * RTTI_BGSObjectPlacementDefaults; extern const void * RTTI_BGSObjectSwap; extern const void * RTTI_BGSObjectVisibilityManager; extern const void * RTTI_BGSObjectWindowFilterComponent; extern const void * RTTI_BGSOrbitalDataComponent; extern const void * RTTI_BGSOrbitedDataComponent; extern const void * RTTI_BGSOutfit; extern const void * RTTI_BGSOverridePackCollection; extern const void * RTTI_BGSPackIn; extern const void * RTTI_BGSPackInUtils__BGSPackInEventHandler; extern const void * RTTI_BGSPackageDataBool; extern const void * RTTI_BGSPackageDataFloat; extern const void * RTTI_BGSPackageDataInt; extern const void * RTTI_BGSPackageDataLocation; extern const void * RTTI_BGSPackageDataLocationWrapper; extern const void * RTTI_BGSPackageDataObjectList; extern const void * RTTI_BGSPackageDataRef; extern const void * RTTI_BGSPackageDataRefOLD; extern const void * RTTI_BGSPackageDataScene; extern const void * RTTI_BGSPackageDataTargetSelector; extern const void * RTTI_BGSPackageDataTopic; extern const void * RTTI_BGSPapyrusScriptsComponent; extern const void * RTTI_BGSParticleObjectCloneTask; extern const void * RTTI_BGSParticleSystemDefineCollection; extern const void * RTTI_BGSPathfindingTaskProcessor; extern const void * RTTI_BGSPathingData; extern const void * RTTI_BGSPerk; extern const void * RTTI_BGSPerkRank; extern const void * RTTI_BGSPhotoModeFeature; extern const void * RTTI_BGSPickupPutdownSounds; extern const void * RTTI_BGSPlanetContentManager; extern const void * RTTI_BGSPlanetContentManagerBranchNode; extern const void * RTTI_BGSPlanetContentManagerContentNode; extern const void * RTTI_BGSPlanetContentManagerContentProperties; extern const void * RTTI_BGSPlanetContentManagerTree; extern const void * RTTI_BGSPlanetContentManager__ILogEventData; extern const void * RTTI_BGSPlanet__Atmosphere; extern const void * RTTI_BGSPlanet__ContentPlacement; extern const void * RTTI_BGSPlanet__IModule; extern const void * RTTI_BGSPlanet__LandingMarkers; extern const void * RTTI_BGSPlanet__Landscape; extern const void * RTTI_BGSPlanet__Manager; extern const void * RTTI_BGSPlanet__Manager__MoveToNode; extern const void * RTTI_BGSPlanet__Manager__ShiftToTask; extern const void * RTTI_BGSPlanet__MultiFiles__Grid; extern const void * RTTI_BGSPlanet__MultiFiles__MasterFile; extern const void * RTTI_BGSPlanet__NavMeshGen; extern const void * RTTI_BGSPlanet__OrderedLandTextures; extern const void * RTTI_BGSPlanet__Overlays; extern const void * RTTI_BGSPlanet__PlanetData; extern const void * RTTI_BGSPlanet__ProcGen; extern const void * RTTI_BGSPlanet__ProcGenRuntimeService; extern const void * RTTI_BGSPlanet__ScanCollection; extern const void * RTTI_BGSPlanet__SurfaceMapModule; extern const void * RTTI_BGSPlanet__UpdateNavMeshTaskNode; extern const void * RTTI_BGSPlayerMusicChanger; extern const void * RTTI_BGSPlayerPickpocketActivity; extern const void * RTTI_BGSPlayerPickpocketActivity_Runtime; extern const void * RTTI_BGSPreviewTransform; extern const void * RTTI_BGSPrimitive; extern const void * RTTI_BGSPrimitiveBox; extern const void * RTTI_BGSPrimitiveComponent; extern const void * RTTI_BGSPrimitiveCylinder; extern const void * RTTI_BGSPrimitiveEllipsoid; extern const void * RTTI_BGSPrimitiveLine; extern const void * RTTI_BGSPrimitivePlane; extern const void * RTTI_BGSPrimitiveSphere; extern const void * RTTI_BGSProcedureAcquire; extern const void * RTTI_BGSProcedureAcquireExecState; extern const void * RTTI_BGSProcedureActivate; extern const void * RTTI_BGSProcedureActivateExecState; extern const void * RTTI_BGSProcedureAmbush; extern const void * RTTI_BGSProcedureAmbushExecState; extern const void * RTTI_BGSProcedureAvoidVehicle; extern const void * RTTI_BGSProcedureAvoidVehicleExecState; extern const void * RTTI_BGSProcedureBase; extern const void * RTTI_BGSProcedureCombatTravel; extern const void * RTTI_BGSProcedureCombatTravelExecState; extern const void * RTTI_BGSProcedureDialogue; extern const void * RTTI_BGSProcedureDialogueActivate; extern const void * RTTI_BGSProcedureDialogueActivateExecState; extern const void * RTTI_BGSProcedureDialogueExecState; extern const void * RTTI_BGSProcedureDone; extern const void * RTTI_BGSProcedureDoneExecState; extern const void * RTTI_BGSProcedureEat; extern const void * RTTI_BGSProcedureEatExecState; extern const void * RTTI_BGSProcedureEscort; extern const void * RTTI_BGSProcedureEscortExecState; extern const void * RTTI_BGSProcedureFind; extern const void * RTTI_BGSProcedureFindExecState; extern const void * RTTI_BGSProcedureFlee; extern const void * RTTI_BGSProcedureFleeExecState; extern const void * RTTI_BGSProcedureFlightGrab; extern const void * RTTI_BGSProcedureFlightGrabExecState; extern const void * RTTI_BGSProcedureFollow; extern const void * RTTI_BGSProcedureFollowExecState; extern const void * RTTI_BGSProcedureFollowTo; extern const void * RTTI_BGSProcedureForceGreet; extern const void * RTTI_BGSProcedureGuard; extern const void * RTTI_BGSProcedureGuardArea; extern const void * RTTI_BGSProcedureGuardExecState; extern const void * RTTI_BGSProcedureHeadtrack; extern const void * RTTI_BGSProcedureHeadtrackExecState; extern const void * RTTI_BGSProcedureHoldPosition; extern const void * RTTI_BGSProcedureHoldPositionExecState; extern const void * RTTI_BGSProcedureHover; extern const void * RTTI_BGSProcedureHoverExecState; extern const void * RTTI_BGSProcedureKeepAnEyeOn; extern const void * RTTI_BGSProcedureKeepAnEyeOnExecState; extern const void * RTTI_BGSProcedureLock; extern const void * RTTI_BGSProcedureLockUnlockExecState; extern const void * RTTI_BGSProcedureOrbit; extern const void * RTTI_BGSProcedureOrbitExecState; extern const void * RTTI_BGSProcedurePatrol; extern const void * RTTI_BGSProcedurePatrolExecState; extern const void * RTTI_BGSProcedurePlayIdle; extern const void * RTTI_BGSProcedurePlayIdleExecState; extern const void * RTTI_BGSProcedurePursue; extern const void * RTTI_BGSProcedureRange; extern const void * RTTI_BGSProcedureRangeExecState; extern const void * RTTI_BGSProcedureSandbox; extern const void * RTTI_BGSProcedureSandboxExecState; extern const void * RTTI_BGSProcedureSay; extern const void * RTTI_BGSProcedureSayExecState; extern const void * RTTI_BGSProcedureSit; extern const void * RTTI_BGSProcedureSitSleepExecState; extern const void * RTTI_BGSProcedureSleep; extern const void * RTTI_BGSProcedureStayAway; extern const void * RTTI_BGSProcedureStayAwayExecState; extern const void * RTTI_BGSProcedureTargetingModeAutopilot; extern const void * RTTI_BGSProcedureTargetingModeAutopilotExecState; extern const void * RTTI_BGSProcedureTravel; extern const void * RTTI_BGSProcedureTravelExecState; extern const void * RTTI_BGSProcedureTreeBranch; extern const void * RTTI_BGSProcedureTreeConditionalItem; extern const void * RTTI_BGSProcedureTreeFallback; extern const void * RTTI_BGSProcedureTreeFallbackExecState; extern const void * RTTI_BGSProcedureTreeOneChildExecState; extern const void * RTTI_BGSProcedureTreeProcedure; extern const void * RTTI_BGSProcedureTreeRandom; extern const void * RTTI_BGSProcedureTreeRandomExecState; extern const void * RTTI_BGSProcedureTreeSequence; extern const void * RTTI_BGSProcedureTreeSequenceExecState; extern const void * RTTI_BGSProcedureTreeSimultaneous; extern const void * RTTI_BGSProcedureTreeSimultaneousExecState; extern const void * RTTI_BGSProcedureTreeStacked; extern const void * RTTI_BGSProcedureTreeStackedExecState; extern const void * RTTI_BGSProcedureUnlock; extern const void * RTTI_BGSProcedureUseIdleMarker; extern const void * RTTI_BGSProcedureUseIdleMarkerExecState; extern const void * RTTI_BGSProcedureUseMagic; extern const void * RTTI_BGSProcedureUseMagicExecState; extern const void * RTTI_BGSProcedureUseWeapon; extern const void * RTTI_BGSProcedureUseWeaponExecState; extern const void * RTTI_BGSProcedureWait; extern const void * RTTI_BGSProcedureWaitExecState; extern const void * RTTI_BGSProcedureWander; extern const void * RTTI_BGSProcedureWanderExecState; extern const void * RTTI_BGSProduceActivity; extern const void * RTTI_BGSProduceActivity_Runtime; extern const void * RTTI_BGSProjectedDecal; extern const void * RTTI_BGSProjectile; extern const void * RTTI_BGSPropertySheet; extern const void * RTTI_BGSQualityUpgradeFormComponent; extern const void * RTTI_BGSQuestPerkEntry; extern const void * RTTI_BGSRangeFormationsSingleton; extern const void * RTTI_BGSRefAlias; extern const void * RTTI_BGSRefCollectionAlias; extern const void * RTTI_BGSReferenceGroup; extern const void * RTTI_BGSReflectedForm; extern const void * RTTI_BGSRelationship; extern const void * RTTI_BGSReloadWeaponActivity; extern const void * RTTI_BGSReloadWeaponActivity_Runtime; extern const void * RTTI_BGSResearchProjectForm; extern const void * RTTI_BGSResource; extern const void * RTTI_BGSResourceGenerationData; extern const void * RTTI_BGSRetargetOnDeleteExtraData; extern const void * RTTI_BGSReverbParameters; extern const void * RTTI_BGSSaveFormBuffer; extern const void * RTTI_BGSSaveGameBuffer; extern const void * RTTI_BGSSaveGameBufferSimple; extern const void * RTTI_BGSSaveLoadJobSite; extern const void * RTTI_BGSSaveLoadManager; extern const void * RTTI_BGSSaveLoadStatsMap; extern const void * RTTI_BGSSaveLoadThread; extern const void * RTTI_BGSSaveLoadUtilities__BGSSaveFormBufferIgnoreIDs; extern const void * RTTI_BGSScanPlanetActivity; extern const void * RTTI_BGSScanPlanetActivity_Runtime; extern const void * RTTI_BGSScanSurfaceActivity; extern const void * RTTI_BGSScanSurfaceActivity_Runtime; extern const void * RTTI_BGSScannableFormComponent; extern const void * RTTI_BGSScene; extern const void * RTTI_BGSSceneActionAnimation; extern const void * RTTI_BGSSceneActionCamera; extern const void * RTTI_BGSSceneActionDialogue; extern const void * RTTI_BGSSceneActionFX; extern const void * RTTI_BGSSceneActionList; extern const void * RTTI_BGSSceneActionMove; extern const void * RTTI_BGSSceneActionPackage; extern const void * RTTI_BGSSceneActionPlayerDialogue; extern const void * RTTI_BGSSceneActionRadio; extern const void * RTTI_BGSSceneActionStartScene; extern const void * RTTI_BGSSceneActionTimeline; extern const void * RTTI_BGSSceneActionTimer; extern const void * RTTI_BGSSceneFillerSingleton; extern const void * RTTI_BGSSecondaryDamageList; extern const void * RTTI_BGSShaderParticleGeometryData; extern const void * RTTI_BGSShipCollectionActivity; extern const void * RTTI_BGSShipCollectionActivity_Runtime; extern const void * RTTI_BGSShipManagement; extern const void * RTTI_BGSShipbuilderActivity; extern const void * RTTI_BGSShipbuilderActivity_Runtime; extern const void * RTTI_BGSSkinForm; extern const void * RTTI_BGSSkinnedDecalChild; extern const void * RTTI_BGSSkinnedDecalGroup; extern const void * RTTI_BGSSnapBehavior; extern const void * RTTI_BGSSnapTemplate; extern const void * RTTI_BGSSnapTemplateComponent; extern const void * RTTI_BGSSnapTemplateNode; extern const void * RTTI_BGSSoundEcho; extern const void * RTTI_BGSSoundKeywordMapping; extern const void * RTTI_BGSSoundTagComponent; extern const void * RTTI_BGSSoundTagSet; extern const void * RTTI_BGSSpacePhysicsFormComponent; extern const void * RTTI_BGSSpaceshipAIActor; extern const void * RTTI_BGSSpaceshipEquipment; extern const void * RTTI_BGSSpaceshipHullCode; extern const void * RTTI_BGSSpaceshipWeaponBinding; extern const void * RTTI_BGSSpatialCombinedGrid; extern const void * RTTI_BGSSpatialGraph; extern const void * RTTI_BGSSpatialGraphCellGrid; extern const void * RTTI_BGSSpatialGraphCellGrid__MergeTask; extern const void * RTTI_BGSSpatialGraphExteriorCell; extern const void * RTTI_BGSSpatialGraphInteriorCell; extern const void * RTTI_BGSSpatialGraphManager; extern const void * RTTI_BGSSpatialGraphManager__Task; extern const void * RTTI_BGSSpatialGraphObstacleUpdateTask; extern const void * RTTI_BGSSpatialGraphParent; extern const void * RTTI_BGSSpatialGraphSpaceCell; extern const void * RTTI_BGSSpatialGraphSpaceCollection; extern const void * RTTI_BGSSpatialGraphSpaceCollectionObstacleGridUpdateTask; extern const void * RTTI_BGSSpatialGridBase; extern const void * RTTI_BGSSpatialGridCollection; extern const void * RTTI_BGSSpatialGridFieldBase; extern const void * RTTI_BGSSpatialGridSearchCustomDebugData; extern const void * RTTI_BGSSpatialGridSearchDebugData; extern const void * RTTI_BGSSpatialGridSearchPolicies__FleeSearchPolicy; extern const void * RTTI_BGSSpatialGridSearchPolicies__RandomPositionInsideArea; extern const void * RTTI_BGSSpatialSimpleGrid; extern const void * RTTI_BGSSpatialSparseGrid; extern const void * RTTI_BGSSpatialSparseGridSearchDebugData; extern const void * RTTI_BGSSpatialSparseGrid__ChunkIndexGrid; extern const void * RTTI_BGSSpatialSparseMultiLayerGrid; extern const void * RTTI_BGSSpawnOnDestroy; extern const void * RTTI_BGSSpeechChallengeActivity; extern const void * RTTI_BGSSpeechChallengeActivity_Runtime; extern const void * RTTI_BGSSpeechChallengeObject; extern const void * RTTI_BGSSprintActivity; extern const void * RTTI_BGSSprintActivity_Runtime; extern const void * RTTI_BGSStarDataComponent; extern const void * RTTI_BGSStaticCollection; extern const void * RTTI_BGSStaticCollection__RootFacade; extern const void * RTTI_BGSStoredTraversalData; extern const void * RTTI_BGSStoryManager; extern const void * RTTI_BGSStoryManagerBranchNode; extern const void * RTTI_BGSStoryManagerEventNode; extern const void * RTTI_BGSStoryManagerNodeBase; extern const void * RTTI_BGSStoryManagerQuestFinder; extern const void * RTTI_BGSStoryManagerQuestNode; extern const void * RTTI_BGSStoryManagerTreeForm; extern const void * RTTI_BGSStoryManagerTreeVisitor; extern const void * RTTI_BGSStoryTeller; extern const void * RTTI_BGSSurface__BGSBlockCellHeighGridComponent; extern const void * RTTI_BGSSurface__Block; extern const void * RTTI_BGSSurface__Manager; extern const void * RTTI_BGSSurface__Pattern; extern const void * RTTI_BGSSurface__PatternStyle; extern const void * RTTI_BGSSurface__Tree; extern const void * RTTI_BGSSynchronizedAnimationInstance; extern const void * RTTI_BGSSynchronizedAnimationManager; extern const void * RTTI_BGSTDataProxyComponentBase; extern const void * RTTI_BGSTakeActorDamageActivity; extern const void * RTTI_BGSTakeActorDamageActivity_Runtime; extern const void * RTTI_BGSTakeDamageActivity; extern const void * RTTI_BGSTakeDamageActivity_Runtime; extern const void * RTTI_BGSTalkingActivator; extern const void * RTTI_BGSTerminal; extern const void * RTTI_BGSTerminalMenu; extern const void * RTTI_BGSTerrainBlock__AlignmentModifier; extern const void * RTTI_BGSTerrainBlock__ContinentalModifier; extern const void * RTTI_BGSTerrainBlock__Grid; extern const void * RTTI_BGSTerrainBlock__GridCell; extern const void * RTTI_BGSTerrainBlock__GridCornerCell; extern const void * RTTI_BGSTerrainBlock__GridCornerEdgeXFile; extern const void * RTTI_BGSTerrainBlock__GridCornerFile; extern const void * RTTI_BGSTerrainBlock__GridEdgeFile; extern const void * RTTI_BGSTerrainBlock__GridEdgeXCell; extern const void * RTTI_BGSTerrainBlock__GridEdgeYCell; extern const void * RTTI_BGSTerrainBlock__GridFile; extern const void * RTTI_BGSTerrainBlock__GridFillCell; extern const void * RTTI_BGSTerrainBlock__GridFillFile; extern const void * RTTI_BGSTerrainBlock__HeightAdjustmentModifier; extern const void * RTTI_BGSTerrainBlock__IModifier; extern const void * RTTI_BGSTerrainBlock__OceanBiomeModifier; extern const void * RTTI_BGSTerrainBlock__OverlayGrid; extern const void * RTTI_BGSTerrainBlock__OverlayHeightModifier; extern const void * RTTI_BGSTerrainBlock__RerangeHeightModifier; extern const void * RTTI_BGSTerrainBlock__UpdateHeightModifier; extern const void * RTTI_BGSTerrain__File; extern const void * RTTI_BGSTerrain__IFileGrid; extern const void * RTTI_BGSTerrain__Manager; extern const void * RTTI_BGSTerrain__UniFile__Grid; extern const void * RTTI_BGSTextureModel; extern const void * RTTI_BGSTextureSet; extern const void * RTTI_BGSTimeOfDayData; extern const void * RTTI_BGSTrackDamageEffectData; extern const void * RTTI_BGSTransform; extern const void * RTTI_BGSTraversal; extern const void * RTTI_BGSUnity__UnityDataCache; extern const void * RTTI_BGSVehicleConfigFormComponent; extern const void * RTTI_BGSVehicleManagement; extern const void * RTTI_BGSVisitProceduresCheckGuardWarnTarget; extern const void * RTTI_BGSVisitProceduresInitActorAnimPose; extern const void * RTTI_BGSVisitProceduresInitActorLocation; extern const void * RTTI_BGSVisitProceduresProcess; extern const void * RTTI_BGSVoiceType; extern const void * RTTI_BGSVolumeFormComponent; extern const void * RTTI_BGSVolumetricLighting; extern const void * RTTI_BGSWaterCollisionManager__AutoWater; extern const void * RTTI_BGSWaterCollisionManager__BGSWaterUpdateI; extern const void * RTTI_BGSWaterCollisionManager__WaterGravityModifier; extern const void * RTTI_BGSWaterCollisionManager__WaterGravityModifierWorldStepListener; extern const void * RTTI_BGSWaterCollisionManager__bhkPlaceableWater; extern const void * RTTI_BGSWaterCollisionManager__bhkWaterfall; extern const void * RTTI_BGSWeaponBarrelData; extern const void * RTTI_BGSWeaponBarrelModel; extern const void * RTTI_BGSWeaponData__Aim; extern const void * RTTI_BGSWeaponData__Ammunition; extern const void * RTTI_BGSWeaponData__Audio; extern const void * RTTI_BGSWeaponData__Charge; extern const void * RTTI_BGSWeaponData__Damage; extern const void * RTTI_BGSWeaponData__Firing; extern const void * RTTI_BGSWeaponData__FiringStrategyBase; extern const void * RTTI_BGSWeaponData__FiringStrategy_Automatic; extern const void * RTTI_BGSWeaponData__FiringStrategy_BoltShot; extern const void * RTTI_BGSWeaponData__FiringStrategy_Burst; extern const void * RTTI_BGSWeaponData__FiringStrategy_ChargedShot; extern const void * RTTI_BGSWeaponData__FiringStrategy_SingleShot; extern const void * RTTI_BGSWeaponData__Flags; extern const void * RTTI_BGSWeaponData__General; extern const void * RTTI_BGSWeaponData__Melee; extern const void * RTTI_BGSWeaponData__Power; extern const void * RTTI_BGSWeaponData__Reload; extern const void * RTTI_BGSWeaponData__ShipWeapon; extern const void * RTTI_BGSWeaponData__Turret; extern const void * RTTI_BGSWeaponData__VariableRange; extern const void * RTTI_BGSWeaponData__Visuals; extern const void * RTTI_BGSWeatherSettingsForm; extern const void * RTTI_BGSWorkshopItemColorComponent; extern const void * RTTI_BGSWorldSpaceOverlayComponent; extern const void * RTTI_BGSWwiseEventForm; extern const void * RTTI_BGSWwiseKeywordMapping; extern const void * RTTI_BGSZoneTargetListener; extern const void * RTTI_BIEventManager; extern const void * RTTI_BIEventUtils__FindAllStarbornPowerFunctor; extern const void * RTTI_BNETRequester; extern const void * RTTI_BSAVMS__AVMNode; extern const void * RTTI_BSAVMS__AVMNodeInFlightCounted; extern const void * RTTI_BSAVMS__AVMPartialNode; extern const void * RTTI_BSAnimNotes; extern const void * RTTI_BSAnimation; extern const void * RTTI_BSAnimationAnimDBData; extern const void * RTTI_BSAnimationDBData; extern const void * RTTI_BSAnimationFileManager; extern const void * RTTI_BSAnimationGraph; extern const void * RTTI_BSAnimationGraphChannel; extern const void * RTTI_BSAnimationGraphLoadScrapper; extern const void * RTTI_BSAnimationGraphManager; extern const void * RTTI_BSAnimationObjectManager; extern const void * RTTI_BSAnimationUtils__FindEventClipGeneratorsFunctor; extern const void * RTTI_BSAnimationUtils__MatchEventToClipGeneratorsFunctor; extern const void * RTTI_BSAttachConfig__ArtObjectAttach; extern const void * RTTI_BSAttachConfig__AttachmentConfiguration; extern const void * RTTI_BSAttachConfig__BaseInstance; extern const void * RTTI_BSAttachConfig__ISearchMethod; extern const void * RTTI_BSAttachConfig__NodeAttachmentInstance; extern const void * RTTI_BSAttachConfig__ObjectAttachmentInstance; extern const void * RTTI_BSAttachConfig__ParticleAttachmentInstance; extern const void * RTTI_BSAttachConfig__SearchMethodBase; extern const void * RTTI_BSAttachConfig__SearchMultipleNamesMultipleNodes; extern const void * RTTI_BSAttachConfig__SearchRootNode; extern const void * RTTI_BSAttachConfig__SearchSingleNameSingleNode; extern const void * RTTI_BSAttachRefController; extern const void * RTTI_BSAttachTechniques__AttachTechniqueInput; extern const void * RTTI_BSAttachTechniques__BSAttachTechnique; extern const void * RTTI_BSAutoQueuedDependentNodeBase; extern const void * RTTI_BSAwardsSystemUtility; extern const void * RTTI_BSBehaviorGraphExtraData; extern const void * RTTI_BSBehaviorGraphSwapSingleton; extern const void * RTTI_BSBind__BGSExternalEmittanceController; extern const void * RTTI_BSBind__BGSLensFlareController; extern const void * RTTI_BSBind__ColorCurveController; extern const void * RTTI_BSBind__ColorLerpController; extern const void * RTTI_BSBind__ComponentBinding; extern const void * RTTI_BSBind__ComponentProperty; extern const void * RTTI_BSBind__Directory; extern const void * RTTI_BSBind__Float2DCurveController; extern const void * RTTI_BSBind__Float2DLerpController; extern const void * RTTI_BSBind__Float3DCurveController; extern const void * RTTI_BSBind__Float3DLerpController; extern const void * RTTI_BSBind__Float4DCurveController; extern const void * RTTI_BSBind__Float4DLerpController; extern const void * RTTI_BSBind__FloatCurveController; extern const void * RTTI_BSBind__FloatLerpController; extern const void * RTTI_BSBind__IAddressControllerStore; extern const void * RTTI_BSBind__IController; extern const void * RTTI_BSBind__IDataBinding; extern const void * RTTI_BSBind__INode; extern const void * RTTI_BSBind__ModuleState; extern const void * RTTI_BSBind__MultiBinding; extern const void * RTTI_BSBind__Multiplex; extern const void * RTTI_BSBind__Snapshot; extern const void * RTTI_BSBind__StableBinding; extern const void * RTTI_BSBind__TimerController; extern const void * RTTI_BSBlastNode; extern const void * RTTI_BSBlendTreadTransfInterpolator; extern const void * RTTI_BSBoneLODExtraData; extern const void * RTTI_BSBound; extern const void * RTTI_BSBoxConstructor; extern const void * RTTI_BSCSVUtils__ParserBuffer; extern const void * RTTI_BSCapsuleConstructor; extern const void * RTTI_BSClonePools; extern const void * RTTI_BSCloneReserver; extern const void * RTTI_BSClothExtraData; extern const void * RTTI_BSClothUtils__BSGeometryBuffer; extern const void * RTTI_BSClothUtils__BSInstantiationUtil; extern const void * RTTI_BSClothUtils__BSTransformSet; extern const void * RTTI_BSComponentDB2__DB; extern const void * RTTI_BSComponentDB2__DBFileIndex__IDFixupVisitor; extern const void * RTTI_BSComponentDB2__JsonDBIDHandler; extern const void * RTTI_BSComponentDB2__JsonResourceIDHandler; extern const void * RTTI_BSComponentDB2__Memory__ConcurrentPageAllocImpl; extern const void * RTTI_BSComponentDB2__StorageService; extern const void * RTTI_BSComponentDB2__StorageService__Impl; extern const void * RTTI_BSComponentDB2__StorageService__ObjectReferenceVisitor; extern const void * RTTI_BSComponentDB__BaseComponents; extern const void * RTTI_BSComponentDB__IComponentFactory; extern const void * RTTI_BSConnectPoint__ChildOrigin; extern const void * RTTI_BSConnectPoint__Children; extern const void * RTTI_BSConnectPoint__Parents; extern const void * RTTI_BSCoreMessage__MessageSource; extern const void * RTTI_BSCounterStorage; extern const void * RTTI_BSCrashCache; extern const void * RTTI_BSCylinderConstructor; extern const void * RTTI_BSDamageStage; extern const void * RTTI_BSDebounceManager; extern const void * RTTI_BSDebrisNode; extern const void * RTTI_BSDecalLayerManager; extern const void * RTTI_BSDiagData; extern const void * RTTI_BSDiscBootSystemUtility; extern const void * RTTI_BSDistantObjectExtraData; extern const void * RTTI_BSDynamicGeometry; extern const void * RTTI_BSExceptionHandler; extern const void * RTTI_BSExteriorReflectionProbeAdjustmentVolume; extern const void * RTTI_BSExtraData; extern const void * RTTI_BSFaceDB__AttachHeadControlNode; extern const void * RTTI_BSFaceDB__CreateHeadControlNode; extern const void * RTTI_BSFaceDB__CrowdHairCustomization; extern const void * RTTI_BSFaceDB__EyeCustomization; extern const void * RTTI_BSFaceDB__FaceCustomizationTexturesNode; extern const void * RTTI_BSFaceDB__HairCustomization; extern const void * RTTI_BSFaceDB__JewelryCustomizationNode; extern const void * RTTI_BSFaceDB__RequestCompleteNode; extern const void * RTTI_BSFaceDB__RequestHeadPartResourcesNode; extern const void * RTTI_BSFaceDB__TeethCustomizationNode; extern const void * RTTI_BSFaceFX; extern const void * RTTI_BSFaceGenAnimationData; extern const void * RTTI_BSFaceGenManager; extern const void * RTTI_BSFaceGenNiNode; extern const void * RTTI_BSFaceGenUtils__UpdateFaceCustomizationTexturesNode; extern const void * RTTI_BSFadeNode; extern const void * RTTI_BSFile; extern const void * RTTI_BSFile__PageCache__PhysReadType; extern const void * RTTI_BSFixedSizeBlockAllocator__IAlloc; extern const void * RTTI_BSFixedSizeBlockAllocator__UserPoolImplBase; extern const void * RTTI_BSFocusShadowManager; extern const void * RTTI_BSFogVolume; extern const void * RTTI_BSFrameManager; extern const void * RTTI_BSFrustumFOVController; extern const void * RTTI_BSFurnitureMarkerNode; extern const void * RTTI_BSGFxFunctionBase; extern const void * RTTI_BSGFxFunctionHandler; extern const void * RTTI_BSGFxObject; extern const void * RTTI_BSGalaxy__BGSStar; extern const void * RTTI_BSGalaxy__BGSSunPresetForm; extern const void * RTTI_BSGalaxy__BiomeMapDB__LoadBiome; extern const void * RTTI_BSGalaxy__Biomes__Map; extern const void * RTTI_BSGalaxy__ModuleState; extern const void * RTTI_BSGalaxy__Physics__Havok__BSGalaxyCollisionObject; extern const void * RTTI_BSGalaxy__Physics__Havok__bhkSpaceWorld; extern const void * RTTI_BSGalaxy__Storage__SkipCelestialsAndSpaceCellsFunctor; extern const void * RTTI_BSGalaxy__Storage__SkipCelestialsFunctor; extern const void * RTTI_BSGalaxy__hknpBSShiftOffsetCollector; extern const void * RTTI_BSGameDataSystemUtility; extern const void * RTTI_BSGameStreamUtility; extern const void * RTTI_BSGamepadDevice; extern const void * RTTI_BSGamerProfile; extern const void * RTTI_BSGdkTaskletGroupData; extern const void * RTTI_BSGdkTaskletManager; extern const void * RTTI_BSGeometry; extern const void * RTTI_BSGeometryConstructorManager; extern const void * RTTI_BSGeometrySegmentData; extern const void * RTTI_BSGrabIKNote; extern const void * RTTI_BSIMusicTrack; extern const void * RTTI_BSIdleInputWatcher; extern const void * RTTI_BSInputDevice; extern const void * RTTI_BSInputDeviceManager; extern const void * RTTI_BSInputEnableManager; extern const void * RTTI_BSInputEventQueue; extern const void * RTTI_BSInputEventReceiver; extern const void * RTTI_BSInputEventSingleUser; extern const void * RTTI_BSInputEventUser; extern const void * RTTI_BSInstancedGeometry; extern const void * RTTI_BSInvMarker; extern const void * RTTI_BSJobs2__Detail__ControlNodeJob; extern const void * RTTI_BSJobs2__Detail__GroupThread; extern const void * RTTI_BSJobs2__Memory__HeapMemoryPolicy; extern const void * RTTI_BSJobs2__Memory__LSAMemoryPolicy; extern const void * RTTI_BSJobs2__Memory__ScrapMemoryPolicy; extern const void * RTTI_BSJobs__Jobs2Adaptor; extern const void * RTTI_BSKeyboardDevice; extern const void * RTTI_BSLagBoneController; extern const void * RTTI_BSLegacyStreamableStub; extern const void * RTTI_BSLensFlareRender__BSLensFlareSpriteRenderData; extern const void * RTTI_BSLight; extern const void * RTTI_BSLookIKNote; extern const void * RTTI_BSMaterialBinding__MaterialPropertyNode; extern const void * RTTI_BSMaterialBinding__MaterialUVStreamPropertyNode; extern const void * RTTI_BSMaterial__ModuleState; extern const void * RTTI_BSMemStorage; extern const void * RTTI_BSMemStorageReadOnly; extern const void * RTTI_BSMenu3D__SceneManager; extern const void * RTTI_BSMissionMenu; extern const void * RTTI_BSMissionMenu__MissionMenuEventShuttle; extern const void * RTTI_BSModelDB__BSModelProcessor; extern const void * RTTI_BSModelDB__DependencyCacheManager; extern const void * RTTI_BSModelDB__ModelResourceNode; extern const void * RTTI_BSModelDB__QueuedHandles; extern const void * RTTI_BSModelNode; extern const void * RTTI_BSModelNodeAnimRig; extern const void * RTTI_BSModelNodePhysicsComponentI; extern const void * RTTI_BSModelNodeRigI; extern const void * RTTI_BSMorphDB__AutoQueuedNode; extern const void * RTTI_BSMorphDB__QueuedHandles; extern const void * RTTI_BSMorphTargetData; extern const void * RTTI_BSMouseDevice; extern const void * RTTI_BSMsgDialogSystemUtility; extern const void * RTTI_BSMultiTargetTreadTransfController; extern const void * RTTI_BSNavMeshGenAntiseedTrimmerTask; extern const void * RTTI_BSNavMeshGenCollapserTask; extern const void * RTTI_BSNavMeshGenComputeBoundTask; extern const void * RTTI_BSNavMeshGenContext; extern const void * RTTI_BSNavMeshGenContextGroup; extern const void * RTTI_BSNavMeshGenCoverTask; extern const void * RTTI_BSNavMeshGenData; extern const void * RTTI_BSNavMeshGenInputProcessTask; extern const void * RTTI_BSNavMeshGenInputProcessor; extern const void * RTTI_BSNavMeshGenLinkDoorTask; extern const void * RTTI_BSNavMeshGenOutputProcessTask; extern const void * RTTI_BSNavMeshGenOutputProcessor; extern const void * RTTI_BSNavMeshGenRecastImport; extern const void * RTTI_BSNavMeshGenRecastTask; extern const void * RTTI_BSNavMeshGenRequestPauseTask; extern const void * RTTI_BSNavMeshGenRequestResumeTask; extern const void * RTTI_BSNavMeshGenSeedTrimmerTask; extern const void * RTTI_BSNavMeshGenSmallAreaTrimmerTask; extern const void * RTTI_BSNavMeshGenSplitter; extern const void * RTTI_BSNavMeshGenSplitterTask; extern const void * RTTI_BSNavMeshGenStitcher; extern const void * RTTI_BSNavMeshGenStitcherTask; extern const void * RTTI_BSNavMeshGenTask; extern const void * RTTI_BSNavMeshGenTaskGraphProcessor; extern const void * RTTI_BSNavMeshGenTaskGroup; extern const void * RTTI_BSNavMeshGenTaskProgress; extern const void * RTTI_BSNavMeshGenTaskServer; extern const void * RTTI_BSNavMeshGenTerrainTrimmerTask; extern const void * RTTI_BSNavMeshGenTraversalTask; extern const void * RTTI_BSNavMeshGenTriangleHeightTask; extern const void * RTTI_BSNavMeshGenTrianglePlatformTask; extern const void * RTTI_BSNavMeshGenTriangleSplitter; extern const void * RTTI_BSNavMeshGenTriangleSplitterTask; extern const void * RTTI_BSNavMeshGenTriangleTunnelTask; extern const void * RTTI_BSNavMeshGenTriangleWaterTask; extern const void * RTTI_BSNavMeshGenUpdateNavMeshInfoTask; extern const void * RTTI_BSNavMeshGenVertexDataTask; extern const void * RTTI_BSNavMeshGenWaypointTask; extern const void * RTTI_BSNavMeshGenerator; extern const void * RTTI_BSNavMeshGenerator__BSNavMeshGenBarrierNode; extern const void * RTTI_BSNavMeshGenerator__BSNavMeshGenBeginFinalizeAdjacenCellsNode; extern const void * RTTI_BSNavMeshGenerator__BSNavMeshGenBeginFinalizerNode; extern const void * RTTI_BSNavMeshGenerator__BSNavMeshGenBeginNode; extern const void * RTTI_BSNavMeshGenerator__BSNavMeshGenEndFinalizeAdjacentCellsNode; extern const void * RTTI_BSNavMeshGenerator__BSNavMeshGenEndFinalizerNode; extern const void * RTTI_BSNavMeshGenerator__BSNavMeshGenParentNode; extern const void * RTTI_BSNavigationGraph; extern const void * RTTI_BSNavigationGraphInfo; extern const void * RTTI_BSNavigationGraphManager; extern const void * RTTI_BSNavigationGraphRefCount; extern const void * RTTI_BSNavigationGrid; extern const void * RTTI_BSNavigationGridBase; extern const void * RTTI_BSNavigationGridChunk; extern const void * RTTI_BSNavigationGridFieldBase; extern const void * RTTI_BSNavigationGridInfo; extern const void * RTTI_BSNavigationGridManager; extern const void * RTTI_BSNavigationGridManager__Task; extern const void * RTTI_BSNavigationGridObstacleUpdateTask; extern const void * RTTI_BSNavmesh; extern const void * RTTI_BSNavmeshInfo; extern const void * RTTI_BSNavmeshInfoMap; extern const void * RTTI_BSNavmeshInfoMap__IRecursiveVisitor; extern const void * RTTI_BSNavmeshInfoSearch; extern const void * RTTI_BSNavmeshObstacleCoverData; extern const void * RTTI_BSNavmeshObstacleData; extern const void * RTTI_BSNavmeshReferenceObstacleArray; extern const void * RTTI_BSNavmeshSearch; extern const void * RTTI_BSNavmeshSearchAvailableSpaceDirectional; extern const void * RTTI_BSNavmeshSearchAvailableSpaceRadius; extern const void * RTTI_BSNavmeshSearchBase; extern const void * RTTI_BSNavmeshSearchFilters; extern const void * RTTI_BSNavmeshSearchHideFilter; extern const void * RTTI_BSNiNode; extern const void * RTTI_BSNodeReferences; extern const void * RTTI_BSNoise__Add; extern const void * RTTI_BSNoise__Billow; extern const void * RTTI_BSNoise__Crater; extern const void * RTTI_BSNoise__Invert; extern const void * RTTI_BSNoise__Perlin; extern const void * RTTI_BSNoise__Ridged; extern const void * RTTI_BSNoise__SmoothStep; extern const void * RTTI_BSNoise__Subtract; extern const void * RTTI_BSNoise__Turbulence; extern const void * RTTI_BSNoise__Voronoi; extern const void * RTTI_BSNonUniformScaleExtraData; extern const void * RTTI_BSOfflineRTExtraData; extern const void * RTTI_BSOrderedNode; extern const void * RTTI_BSPCDualSenseGamepadDevice; extern const void * RTTI_BSPCGamepadDevice; extern const void * RTTI_BSPCGamepadDeviceHandler; extern const void * RTTI_BSPCGamerProfile; extern const void * RTTI_BSPCKeyboardDevice; extern const void * RTTI_BSPCMouseDevice; extern const void * RTTI_BSPCVirtualKeyboardDevice; extern const void * RTTI_BSPageFile__MemoryWriteStorage; extern const void * RTTI_BSPageFile__MultiplexWrite; extern const void * RTTI_BSParseCSV__IGetBufferCB; extern const void * RTTI_BSParticle; extern const void * RTTI_BSPathBuilder; extern const void * RTTI_BSPathEventManager; extern const void * RTTI_BSPathSmootherPOVSearch; extern const void * RTTI_BSPathing; extern const void * RTTI_BSPathingCellManager; extern const void * RTTI_BSPathingRequest; extern const void * RTTI_BSPathingRequestPolicies__DestinationArea; extern const void * RTTI_BSPathingRequestPolicies__EscortRequest; extern const void * RTTI_BSPathingRequestPolicies__FleeRequestPolicy; extern const void * RTTI_BSPathingSearchRayCast; extern const void * RTTI_BSPathingSite; extern const void * RTTI_BSPathingSpace; extern const void * RTTI_BSPathingStreamSimpleBufferRead; extern const void * RTTI_BSPathingStreamSimpleBufferWrite; extern const void * RTTI_BSPathingTraversal; extern const void * RTTI_BSPathingTraversalAction; extern const void * RTTI_BSPathingTraversalData; extern const void * RTTI_BSPathingTraversalManager; extern const void * RTTI_BSPathing__CheckLineOfSightFilter; extern const void * RTTI_BSPathing__DetermineAvailableRadiusAtPositionVisitor; extern const void * RTTI_BSPathing__DetermineAvailableRadiusInDirectionVisitor; extern const void * RTTI_BSPathing__EdgeFoundVisitor; extern const void * RTTI_BSPausableItem; extern const void * RTTI_BSPauseRequester; extern const void * RTTI_BSPistonController; extern const void * RTTI_BSPlatform__BNetAsyncRequestBase; extern const void * RTTI_BSPlatform__BNetFile__download; extern const void * RTTI_BSPlatform__BNetFile__marketplaceDownload; extern const void * RTTI_BSPlatform__BNetImage; extern const void * RTTI_BSPlatform__BSBethesdaPlatform; extern const void * RTTI_BSPlatform__BSMarketplaceImage; extern const void * RTTI_BSPlatform__BSMarketplaceUploader; extern const void * RTTI_BSPlatform__BSUserContent; extern const void * RTTI_BSPlatform__BSUserContentCollection; extern const void * RTTI_BSPlatform__BSUserContentOperations; extern const void * RTTI_BSPlatform__BSUserContentSearcherAgent; extern const void * RTTI_BSPlayerDistanceCheckController; extern const void * RTTI_BSPrecomputedNavmeshInfoSearch; extern const void * RTTI_BSProbeGridVolume; extern const void * RTTI_BSProcGen__DataManager; extern const void * RTTI_BSProcGen__Resources; extern const void * RTTI_BSProceduralLightningController; extern const void * RTTI_BSProceduralLightningTasklet; extern const void * RTTI_BSProjectedDecal; extern const void * RTTI_BSRecastModule__BSRecastJob; extern const void * RTTI_BSReference; extern const void * RTTI_BSReflectionProbe; extern const void * RTTI_BSReflection__AnyType; extern const void * RTTI_BSReflection__BSFixedStringType; extern const void * RTTI_BSReflection__BasicType; extern const void * RTTI_BSReflection__ClassType; extern const void * RTTI_BSReflection__ConstCStringType; extern const void * RTTI_BSReflection__EnumerationType; extern const void * RTTI_BSReflection__IConstEnumerator; extern const void * RTTI_BSReflection__IObject; extern const void * RTTI_BSReflection__ResourceIDStringConverter; extern const void * RTTI_BSReflection__Serializer; extern const void * RTTI_BSReflection__TypeManager; extern const void * RTTI_BSReflection__UIDStringConverter; extern const void * RTTI_BSRenderSettingsManager; extern const void * RTTI_BSRendererState; extern const void * RTTI_BSResource2__CacheBase; extern const void * RTTI_BSResource2__EntryBase; extern const void * RTTI_BSResource2__ProxyStream; extern const void * RTTI_BSResource2__ResourceCreateNode; extern const void * RTTI_BSResourceNiBinaryStream; extern const void * RTTI_BSResourceReloadManager; extern const void * RTTI_BSResourceStreamParser; extern const void * RTTI_BSResourceStreamStorage; extern const void * RTTI_BSResource__Archive2__AsyncReaderStream; extern const void * RTTI_BSResource__Archive2__Index; extern const void * RTTI_BSResource__Archive2__Manager; extern const void * RTTI_BSResource__Archive2__Manager__MemoryCacheLocation; extern const void * RTTI_BSResource__Archive2__ReaderStream; extern const void * RTTI_BSResource__ArchiveIDConverter; extern const void * RTTI_BSResource__AsyncStream; extern const void * RTTI_BSResource__IMemoryFileBuffer; extern const void * RTTI_BSResource__Location; extern const void * RTTI_BSResource__LocationTraverser; extern const void * RTTI_BSResource__LooseFileLocation; extern const void * RTTI_BSResource__MemoryFileBuffer; extern const void * RTTI_BSResource__MemoryFileLocation; extern const void * RTTI_BSResource__MemoryFileStream; extern const void * RTTI_BSResource__SDirectory2__IDirectoryIDIterator; extern const void * RTTI_BSResource__SDirectory2__IDirectoryStreamIterator; extern const void * RTTI_BSResource__SDirectory2__ThreadCursor; extern const void * RTTI_BSResource__Server__Commands__CancelAll; extern const void * RTTI_BSResource__Server__Control__Srv; extern const void * RTTI_BSResource__Server__GraphProcessor; extern const void * RTTI_BSResource__Server__LinearProcessor; extern const void * RTTI_BSResource__Server__NodeBase; extern const void * RTTI_BSResource__Server__PostProcess__Srv; extern const void * RTTI_BSResource__Server__ResourceServerDebug; extern const void * RTTI_BSResource__Stream; extern const void * RTTI_BSResource__StreamBase; extern const void * RTTI_BSRotAccumTransfInterpolator; extern const void * RTTI_BSSaveDataSystemUtility; extern const void * RTTI_BSSaveDataSystemUtilityFile; extern const void * RTTI_BSScaleformFileOpener; extern const void * RTTI_BSScaleformImageLoader; extern const void * RTTI_BSScaleformManager; extern const void * RTTI_BSScaleformMovieLoadTask; extern const void * RTTI_BSScaleformTranslator__ScaleformImpl; extern const void * RTTI_BSSceneNode; extern const void * RTTI_BSScript__ByteCode__PackedInstructionStream__InstructionFunctor; extern const void * RTTI_BSScript__CompiledScriptLoader; extern const void * RTTI_BSScript__ErrorLogger; extern const void * RTTI_BSScript__ICachedErrorMessage; extern const void * RTTI_BSScript__IClientVM; extern const void * RTTI_BSScript__IComplexType; extern const void * RTTI_BSScript__IFunction; extern const void * RTTI_BSScript__IHandleReaderWriter; extern const void * RTTI_BSScript__ILoader; extern const void * RTTI_BSScript__IMemoryPagePolicy; extern const void * RTTI_BSScript__IObjectHandlePolicy; extern const void * RTTI_BSScript__IObjectProcessor; extern const void * RTTI_BSScript__IProfilePolicy; extern const void * RTTI_BSScript__ISavePatcherInterface; extern const void * RTTI_BSScript__IStackCallbackFunctor; extern const void * RTTI_BSScript__IStackCallbackSaveInterface; extern const void * RTTI_BSScript__IStore; extern const void * RTTI_BSScript__IVMDebugInterface; extern const void * RTTI_BSScript__IVMObjectBindInterface; extern const void * RTTI_BSScript__IVMSaveLoadInterface; extern const void * RTTI_BSScript__IVirtualMachine; extern const void * RTTI_BSScript__Internal__AutoPropGetFunction; extern const void * RTTI_BSScript__Internal__AutoPropSetFunction; extern const void * RTTI_BSScript__Internal__CodeTasklet; extern const void * RTTI_BSScript__Internal__FunctionMessageNode; extern const void * RTTI_BSScript__Internal__FunctionMessageProcessor; extern const void * RTTI_BSScript__Internal__IFuncCallQuery; extern const void * RTTI_BSScript__Internal__IVMFunctionMessageDispatch; extern const void * RTTI_BSScript__Internal__NativeFunctionStub; extern const void * RTTI_BSScript__Internal__RawFuncCallQuery; extern const void * RTTI_BSScript__Internal__ScriptFunction; extern const void * RTTI_BSScript__Internal__VirtualMachine; extern const void * RTTI_BSScript__LinkerProcessor; extern const void * RTTI_BSScript__NF_util__NativeFunctionBase; extern const void * RTTI_BSScript__ObjectBindPolicy; extern const void * RTTI_BSScript__ObjectTypeInfo; extern const void * RTTI_BSScript__SimpleAllocMemoryPagePolicy; extern const void * RTTI_BSScript__StructTypeInfo; extern const void * RTTI_BSScript__UnlinkedTypes__InstructionStream__InstructionFunctor; extern const void * RTTI_BSSequence__AnimationEvent; extern const void * RTTI_BSSequence__AnimationTrack; extern const void * RTTI_BSSequence__AnimationVariableTrack; extern const void * RTTI_BSSequence__AnimationVectorVariableTrack; extern const void * RTTI_BSSequence__BindingEvent; extern const void * RTTI_BSSequence__BoundPropertyTrack; extern const void * RTTI_BSSequence__CameraShakeEvent; extern const void * RTTI_BSSequence__CameraShakeStrengthTrack; extern const void * RTTI_BSSequence__CameraShakeTrack; extern const void * RTTI_BSSequence__ColorCurveEvent; extern const void * RTTI_BSSequence__ColorLerpEvent; extern const void * RTTI_BSSequence__ColorNoiseEvent; extern const void * RTTI_BSSequence__ColorTriggerEvent; extern const void * RTTI_BSSequence__ConsoleScriptEvent; extern const void * RTTI_BSSequence__CullEvent; extern const void * RTTI_BSSequence__DissolveEvent; extern const void * RTTI_BSSequence__DissolveFrequencyScaleTrack; extern const void * RTTI_BSSequence__DissolveOffsetTrack; extern const void * RTTI_BSSequence__DissolveTrack; extern const void * RTTI_BSSequence__Event; extern const void * RTTI_BSSequence__ExplosionObjectSpawn; extern const void * RTTI_BSSequence__Float2CurveEvent; extern const void * RTTI_BSSequence__Float2LerpEvent; extern const void * RTTI_BSSequence__Float2TriggerEvent; extern const void * RTTI_BSSequence__FloatCurveEvent; extern const void * RTTI_BSSequence__FloatLerpEvent; extern const void * RTTI_BSSequence__FloatNoiseEvent; extern const void * RTTI_BSSequence__FloatTriggerEvent; extern const void * RTTI_BSSequence__ITimeMultiplierProvider; extern const void * RTTI_BSSequence__ImageSpaceLifetimeEvent; extern const void * RTTI_BSSequence__ImageSpaceStrengthTrack; extern const void * RTTI_BSSequence__ImageSpaceTrack; extern const void * RTTI_BSSequence__ImpactEffectEvent; extern const void * RTTI_BSSequence__ImpactEffectTrack; extern const void * RTTI_BSSequence__LightColorTrack; extern const void * RTTI_BSSequence__LightEffectDirectReferenceTrack; extern const void * RTTI_BSSequence__LightEffectReferenceTrack; extern const void * RTTI_BSSequence__LightEffectTrack; extern const void * RTTI_BSSequence__LightIntensityTrack; extern const void * RTTI_BSSequence__LightLensFlareVisiblityTrack; extern const void * RTTI_BSSequence__LightRadiusTrack; extern const void * RTTI_BSSequence__LightSpawnEvent; extern const void * RTTI_BSSequence__LightTrackBase; extern const void * RTTI_BSSequence__LoopMarker; extern const void * RTTI_BSSequence__MaterialFlipbookIndexGeneratorEvent; extern const void * RTTI_BSSequence__MaterialFlipbookIndexTrack; extern const void * RTTI_BSSequence__MaterialPropertyTrack; extern const void * RTTI_BSSequence__MaterialTrack; extern const void * RTTI_BSSequence__Mediator; extern const void * RTTI_BSSequence__NamedSequenceMap; extern const void * RTTI_BSSequence__NodeTrackBase; extern const void * RTTI_BSSequence__NoteEvent; extern const void * RTTI_BSSequence__NoteTrack; extern const void * RTTI_BSSequence__Object; extern const void * RTTI_BSSequence__ObjectAttachmentSubnodeTrack; extern const void * RTTI_BSSequence__ObjectAttachmentTrack; extern const void * RTTI_BSSequence__ObjectSpawnEvent; extern const void * RTTI_BSSequence__ObjectSpawnTrack; extern const void * RTTI_BSSequence__ParticleEffectReferenceTrack; extern const void * RTTI_BSSequence__ParticleEffectTrack; extern const void * RTTI_BSSequence__ParticleEvent; extern const void * RTTI_BSSequence__ParticleMaterialPropertyTrack; extern const void * RTTI_BSSequence__ParticleParameterTrack; extern const void * RTTI_BSSequence__PlaySubSequenceEvent; extern const void * RTTI_BSSequence__PositionTrack; extern const void * RTTI_BSSequence__PositionTrack__TrackState; extern const void * RTTI_BSSequence__ProjectedDecalAlphaTrack; extern const void * RTTI_BSSequence__ProjectedDecalSpawnEvent; extern const void * RTTI_BSSequence__ProjectedDecalTrack; extern const void * RTTI_BSSequence__PropertyControllerBase; extern const void * RTTI_BSSequence__PropertyControllerEvent; extern const void * RTTI_BSSequence__PropertyLerpControllerEvent; extern const void * RTTI_BSSequence__ReferenceSpawnEvent; extern const void * RTTI_BSSequence__RevertMaterialOverrideEvent; extern const void * RTTI_BSSequence__RotationTrack; extern const void * RTTI_BSSequence__RotationTrack__TrackState; extern const void * RTTI_BSSequence__ScaleTrack; extern const void * RTTI_BSSequence__SceneNodeTrack; extern const void * RTTI_BSSequence__ScriptTrack; extern const void * RTTI_BSSequence__SetPropertyEvent; extern const void * RTTI_BSSequence__SoundEvent; extern const void * RTTI_BSSequence__SoundTrack; extern const void * RTTI_BSSequence__SubSequenceTrack; extern const void * RTTI_BSSequence__Track; extern const void * RTTI_BSSequence__TrackGroup; extern const void * RTTI_BSSequence__TriggerMaterialSwap; extern const void * RTTI_BSSequence__VectorCurveEvent; extern const void * RTTI_BSSequence__VectorLerpEvent; extern const void * RTTI_BSSequence__VectorNoiseEvent; extern const void * RTTI_BSSequence__VectorTriggerEvent; extern const void * RTTI_BSSequence__VisibilityTrack; extern const void * RTTI_BSService__JobSite; extern const void * RTTI_BSShadowLight; extern const void * RTTI_BSShapeConstructor; extern const void * RTTI_BSSimpleScaleController; extern const void * RTTI_BSSkin__BoneData; extern const void * RTTI_BSSkin__Instance; extern const void * RTTI_BSSpatialGraph; extern const void * RTTI_BSSpatialGraphInfo; extern const void * RTTI_BSSpatialGraphManager; extern const void * RTTI_BSSpatialGraphSearch; extern const void * RTTI_BSSplatterExtraData; extern const void * RTTI_BSSteamSysInfoSystemUtility; extern const void * RTTI_BSStorage; extern const void * RTTI_BSStream; extern const void * RTTI_BSStreamParserData; extern const void * RTTI_BSStreaming__DataStorage; extern const void * RTTI_BSSubBehaviorGraphSingleton; extern const void * RTTI_BSSubBehaviorGraphSingletonData; extern const void * RTTI_BSSubBehaviorGraphSingletonDataAddToDeferredDeleterTask; extern const void * RTTI_BSSubSceneNode; extern const void * RTTI_BSSysInfoSystemUtility; extern const void * RTTI_BSSystemFileAsyncFunctor; extern const void * RTTI_BSSystemFileStorage; extern const void * RTTI_BSSystemFileStreamer__HeapData; extern const void * RTTI_BSSystemFileStreamer__PhysicalRequest; extern const void * RTTI_BSSystemFileStreamer__PinnedData; extern const void * RTTI_BSSystemFileStreamer__Streamer; extern const void * RTTI_BSSystemFileStreamer__Streamer__ControlThread; extern const void * RTTI_BSSystemFileStreamer__Streamer__StreamerThread; extern const void * RTTI_BSSystemUtilitiesStrings; extern const void * RTTI_BSSystemUtility; extern const void * RTTI_BSTArrayBase__IAllocatorFunctor; extern const void * RTTI_BSTEventDetail__SourceBase; extern const void * RTTI_BSTGlobalEvent; extern const void * RTTI_BSTSmartPointerPrivate__HandleManagerBase; extern const void * RTTI_BSTableCurve; extern const void * RTTI_BSTaskJobber; extern const void * RTTI_BSTaskJobber__Task; extern const void * RTTI_BSTaskThread; extern const void * RTTI_BSTaskletGroupData; extern const void * RTTI_BSTaskletManager; extern const void * RTTI_BSTempEffect; extern const void * RTTI_BSTempEffectDebris; extern const void * RTTI_BSTempEffectGeometryDecal; extern const void * RTTI_BSTempEffectParticle; extern const void * RTTI_BSTempEffectSPG; extern const void * RTTI_BSTempEffectScreenSpaceDecal; extern const void * RTTI_BSTempEffectWeaponBlood; extern const void * RTTI_BSTerrainEffect; extern const void * RTTI_BSTextureStreamer__ArchiveLayer; extern const void * RTTI_BSTextureStreamer__LoadQueueService; extern const void * RTTI_BSTextureStreamer__Manager; extern const void * RTTI_BSTextureStreamer__ManagerBase; extern const void * RTTI_BSTextureStreamer__ManagerServiceFramework; extern const void * RTTI_BSTextureStreamer__TextureArchiveIDConverter; extern const void * RTTI_BSTextureStreamer__TextureLoad; extern const void * RTTI_BSThread; extern const void * RTTI_BSThreadStagesManager; extern const void * RTTI_BSTransformExtra; extern const void * RTTI_BSTreadTransfInterpolator; extern const void * RTTI_BSUIExternalTexture; extern const void * RTTI_BSUserActivitiesSystemUtility; extern const void * RTTI_BSVMFileFenceNode; extern const void * RTTI_BSVMLoadNode; extern const void * RTTI_BSVMPostProcessNode; extern const void * RTTI_BSValueNode; extern const void * RTTI_BSWArray; extern const void * RTTI_BSWeakReferenceNode; extern const void * RTTI_BSWin32ExceptionHandler; extern const void * RTTI_BSWinPCAwardsSystemUtility; extern const void * RTTI_BSWinPCGameDataSystemUtility; extern const void * RTTI_BSWinPCGameDataSystemUtility__CCallbackInternal_OnDLCInstalled; extern const void * RTTI_BSWinPCSaveDataSystemUtility; extern const void * RTTI_BSWinPCSystemUtility; extern const void * RTTI_BSWinPCSystemUtility__ConnectionStatusManager; extern const void * RTTI_BSXFlags; extern const void * RTTI_BShkbHkxDB__QueuedHandles; extern const void * RTTI_BShkbUtils__GraphInspectionFunctor; extern const void * RTTI_BackgroundProcessNode; extern const void * RTTI_BackgroundProcessThread; extern const void * RTTI_BanishEffect; extern const void * RTTI_BarrierProjectile; extern const void * RTTI_BarterMenu; extern const void * RTTI_BarterMenu_BuyItem; extern const void * RTTI_BarterMenu_CloseMenu; extern const void * RTTI_BarterMenu_HideModel; extern const void * RTTI_BarterMenu_LoadModel; extern const void * RTTI_BarterMenu_SellItem; extern const void * RTTI_BarterMenu_SetMouseOverModel; extern const void * RTTI_BarterMenu_ShowFailureMessage; extern const void * RTTI_BarterMenu_ViewedItem; extern const void * RTTI_BarterMenu__BarterMenuEventShuttle; extern const void * RTTI_BaseFormComponent; extern const void * RTTI_BaseLightAnimData; extern const void * RTTI_BeamProjectile; extern const void * RTTI_BedEnterHandler; extern const void * RTTI_BedFurnitureExitHandler; extern const void * RTTI_BleedoutCameraState; extern const void * RTTI_BlendNode; extern const void * RTTI_BlendNodeInstance; extern const void * RTTI_BlendTree; extern const void * RTTI_BlendTreeInstance; extern const void * RTTI_Blueprints__Blueprint; extern const void * RTTI_Blueprints__BlueprintMainStatusHandler; extern const void * RTTI_Blueprints__BlueprintVariant; extern const void * RTTI_BodyCollisionsTask; extern const void * RTTI_BodyEffects__Effect; extern const void * RTTI_BodyEffects__ResourceVisualizationEffect; extern const void * RTTI_BodyEffects__ScanlinesEffect; extern const void * RTTI_BoneConstraint; extern const void * RTTI_BoneConstraintInstance; extern const void * RTTI_BoneModifierData; extern const void * RTTI_BoneModifierExtra; extern const void * RTTI_BoneModifierInstance; extern const void * RTTI_BookMenu; extern const void * RTTI_BookMenu__BookData; extern const void * RTTI_BookMenu__BookMenuUIDataEventShuttle; extern const void * RTTI_BoundaryMenu; extern const void * RTTI_BoundaryMenu_FastTravel; extern const void * RTTI_BoundaryMenu_ShowMap; extern const void * RTTI_BowZoomStartHandler; extern const void * RTTI_BowZoomStopHandler; extern const void * RTTI_ButtonEvent; extern const void * RTTI_CCallbackBase; extern const void * RTTI_CPUCaptureHandler; extern const void * RTTI_CalcContainerWeight; extern const void * RTTI_Calendar; extern const void * RTTI_CalmEffect; extern const void * RTTI_CameraOverrideStartHandler; extern const void * RTTI_CameraOverrideStopHandler; extern const void * RTTI_CameraShakeHandler; extern const void * RTTI_CameraShake__ShakeData; extern const void * RTTI_CameraZoomHandler; extern const void * RTTI_Camera__DebugCinematicCamera; extern const void * RTTI_Camera__DebugFollowCamera; extern const void * RTTI_Camera__DebugFreeCamera; extern const void * RTTI_Camera__DebugModule; extern const void * RTTI_Camera__DebugOrbitalCamera; extern const void * RTTI_Camera__DebugTargetCamera; extern const void * RTTI_Camera__IBaseModule; extern const void * RTTI_Camera__IDebugCamera; extern const void * RTTI_Camera__InteriorModule; extern const void * RTTI_Camera__Manager; extern const void * RTTI_Camera__PlayerModule; extern const void * RTTI_Camera__SpaceModule; extern const void * RTTI_CapacityValueModifierEffect; extern const void * RTTI_CellHandleManager; extern const void * RTTI_CellHfCollision; extern const void * RTTI_ChainExplosion; extern const void * RTTI_ChairEnterHandler; extern const void * RTTI_ChairFurnitureExitHandler; extern const void * RTTI_ChangeAnimArchetypeHandler; extern const void * RTTI_CharGen_BrowChange; extern const void * RTTI_CharGen_BrowColorChange; extern const void * RTTI_CharGen_CancelTextEntry; extern const void * RTTI_CharGen_CloseMenu; extern const void * RTTI_CharGen_CyclePronoun; extern const void * RTTI_CharGen_DirtScarsEtcChange; extern const void * RTTI_CharGen_EndBodyChange; extern const void * RTTI_CharGen_EndTextEntry; extern const void * RTTI_CharGen_EyeColorChange; extern const void * RTTI_CharGen_FacialHairChange; extern const void * RTTI_CharGen_FacialHairColorChange; extern const void * RTTI_CharGen_HairChange; extern const void * RTTI_CharGen_HairColorChange; extern const void * RTTI_CharGen_HeadpartPlusSelectorChange; extern const void * RTTI_CharGen_HeadpartPresetChange; extern const void * RTTI_CharGen_JewelryChange; extern const void * RTTI_CharGen_JewelryColorChange; extern const void * RTTI_CharGen_MakeupChange; extern const void * RTTI_CharGen_MarkingsChange; extern const void * RTTI_CharGen_PostBlendColorOptionChange; extern const void * RTTI_CharGen_PostBlendFaceChange; extern const void * RTTI_CharGen_PostBlendIntensityChange; extern const void * RTTI_CharGen_PresetChange; extern const void * RTTI_CharGen_RollOffLocomotion; extern const void * RTTI_CharGen_RollOnLocomotion; extern const void * RTTI_CharGen_RotatePaperdoll; extern const void * RTTI_CharGen_SetAdditionalSlider; extern const void * RTTI_CharGen_SetBackground; extern const void * RTTI_CharGen_SetBlockInputUnderPopup; extern const void * RTTI_CharGen_SetBodyValues; extern const void * RTTI_CharGen_SetCameraPosition; extern const void * RTTI_CharGen_SetPronoun; extern const void * RTTI_CharGen_SetSex; extern const void * RTTI_CharGen_SetSlider; extern const void * RTTI_CharGen_SetTrait; extern const void * RTTI_CharGen_ShowChooseBackgroundMessage; extern const void * RTTI_CharGen_ShowPlayerRenameMessage; extern const void * RTTI_CharGen_SkintoneChange; extern const void * RTTI_CharGen_StartBodyChange; extern const void * RTTI_CharGen_StartTextEntry; extern const void * RTTI_CharGen_SwitchBodyType; extern const void * RTTI_CharGen_SwitchLocomotion; extern const void * RTTI_CharGen_TeethChange; extern const void * RTTI_CharGen_TeethRollOff; extern const void * RTTI_CharGen_TeethRollOn; extern const void * RTTI_CharGen_ToggleMarking; extern const void * RTTI_CharGen_TogglePreviewHabSuit; extern const void * RTTI_CharacterCollisionHandler; extern const void * RTTI_CharacterCollisionMessagePlayerAdapter; extern const void * RTTI_CharacterEvent; extern const void * RTTI_ChargenMenu; extern const void * RTTI_ChargenMenu__ChargenMenuEventShuttle; extern const void * RTTI_CheckGoalReachedFunctor; extern const void * RTTI_CheckLineOfSightFilterMisc; extern const void * RTTI_CheckParameterReachedFunctor; extern const void * RTTI_CheckStoppedMovingFunctor; extern const void * RTTI_ClientBIMetrics__CombatHitMetricsI; extern const void * RTTI_ClientBIMetrics__HeartBeat__EventSink; extern const void * RTTI_ClientBIMetrics__Performance__EventSink; extern const void * RTTI_ClientBIMetrics__ShipCombatHitMetricsBPSImp; extern const void * RTTI_ClientBIPrebuiltHTTPSPostPrivate__CurlHTTPSPost; extern const void * RTTI_CloakEffect; extern const void * RTTI_ClonePoseNode; extern const void * RTTI_ClonePoseNodeInstance; extern const void * RTTI_CloudSaveWriter; extern const void * RTTI_CombatAcquireSearchDebugData; extern const void * RTTI_CombatAimController; extern const void * RTTI_CombatAlignRollPathController; extern const void * RTTI_CombatAnimatedPath; extern const void * RTTI_CombatApproachTargetPathController; extern const void * RTTI_CombatAreaHoldPosition; extern const void * RTTI_CombatAreaReference; extern const void * RTTI_CombatAreaShape; extern const void * RTTI_CombatAreaStandard; extern const void * RTTI_CombatBarrelRollPathController; extern const void * RTTI_CombatBehaviorAttackFromCover; extern const void * RTTI_CombatBehaviorBlindFireFromCover; extern const void * RTTI_CombatBehaviorContextCover; extern const void * RTTI_CombatBehaviorContextGrenade; extern const void * RTTI_CombatBehaviorMoveInCover; extern const void * RTTI_CombatBehaviorProvideSuppressiveFire; extern const void * RTTI_CombatBehaviorResource; extern const void * RTTI_CombatBehaviorShipAcquire; extern const void * RTTI_CombatBehaviorShipAttackManeuver; extern const void * RTTI_CombatBehaviorShipBarrelRoll; extern const void * RTTI_CombatBehaviorShipBoost; extern const void * RTTI_CombatBehaviorShipBreak; extern const void * RTTI_CombatBehaviorShipBreakStalemate; extern const void * RTTI_CombatBehaviorShipCut; extern const void * RTTI_CombatBehaviorShipDirectAttack; extern const void * RTTI_CombatBehaviorShipDisengage; extern const void * RTTI_CombatBehaviorShipLeadTurn; extern const void * RTTI_CombatBehaviorShipLurk; extern const void * RTTI_CombatBehaviorShipOrbitCombatArea; extern const void * RTTI_CombatBehaviorShipOrbitTarget; extern const void * RTTI_CombatBehaviorShipPass; extern const void * RTTI_CombatBehaviorShipPathDestinationRef; extern const void * RTTI_CombatBehaviorShipPursue; extern const void * RTTI_CombatBehaviorShipScissors; extern const void * RTTI_CombatBehaviorShipSliceback; extern const void * RTTI_CombatBehaviorShipSlideDodge; extern const void * RTTI_CombatBehaviorShipSlideTurn; extern const void * RTTI_CombatBehaviorShipStationaryTracking; extern const void * RTTI_CombatBehaviorShipStrafe; extern const void * RTTI_CombatBehaviorShipStrafeTurn; extern const void * RTTI_CombatBehaviorShipTargetingModeAutopilot; extern const void * RTTI_CombatBehaviorShipTurn; extern const void * RTTI_CombatBehaviorTree; extern const void * RTTI_CombatBehaviorTreeAcquireObject; extern const void * RTTI_CombatBehaviorTreeAction; extern const void * RTTI_CombatBehaviorTreeActionEquipmentSelector; extern const void * RTTI_CombatBehaviorTreeAvoidThreat; extern const void * RTTI_CombatBehaviorTreeBlock; extern const void * RTTI_CombatBehaviorTreeBow; extern const void * RTTI_CombatBehaviorTreeChargingCloseMovement; extern const void * RTTI_CombatBehaviorTreeChargingMovement; extern const void * RTTI_CombatBehaviorTreeCheckUnreachableTarget; extern const void * RTTI_CombatBehaviorTreeCloseMovement; extern const void * RTTI_CombatBehaviorTreeCombat; extern const void * RTTI_CombatBehaviorTreeCreateContextNodeBase; extern const void * RTTI_CombatBehaviorTreeFindAttackLocation; extern const void * RTTI_CombatBehaviorTreeFindValidLocation; extern const void * RTTI_CombatBehaviorTreeFlankingMovement; extern const void * RTTI_CombatBehaviorTreeFlee; extern const void * RTTI_CombatBehaviorTreeFlight; extern const void * RTTI_CombatBehaviorTreeGrenade; extern const void * RTTI_CombatBehaviorTreeGun; extern const void * RTTI_CombatBehaviorTreeHide; extern const void * RTTI_CombatBehaviorTreeLinkNode; extern const void * RTTI_CombatBehaviorTreeLowCombat; extern const void * RTTI_CombatBehaviorTreeMagic; extern const void * RTTI_CombatBehaviorTreeMelee; extern const void * RTTI_CombatBehaviorTreeMovement; extern const void * RTTI_CombatBehaviorTreeMovementRequest; extern const void * RTTI_CombatBehaviorTreeNode; extern const void * RTTI_CombatBehaviorTreePlayerShipCombat; extern const void * RTTI_CombatBehaviorTreeRangedMovement; extern const void * RTTI_CombatBehaviorTreeRetreatClose; extern const void * RTTI_CombatBehaviorTreeRetreatRanged; extern const void * RTTI_CombatBehaviorTreeReturnToCombatArea; extern const void * RTTI_CombatBehaviorTreeRootNode; extern const void * RTTI_CombatBehaviorTreeSearch; extern const void * RTTI_CombatBehaviorTreeShipAction; extern const void * RTTI_CombatBehaviorTreeShipActionEquipmentSelector; extern const void * RTTI_CombatBehaviorTreeShipCombat; extern const void * RTTI_CombatBehaviorTreeShipDetection; extern const void * RTTI_CombatBehaviorTreeShipFlee; extern const void * RTTI_CombatBehaviorTreeShipManeuvers; extern const void * RTTI_CombatBehaviorTreeShipMovement; extern const void * RTTI_CombatBehaviorTreeShipPowerAllocation; extern const void * RTTI_CombatBehaviorTreeSpaceshipWeapon; extern const void * RTTI_CombatBehaviorTreeTargetingMode; extern const void * RTTI_CombatBehaviorTreeThrow; extern const void * RTTI_CombatBehaviorTreeUseCover; extern const void * RTTI_CombatBehaviorTreeUsePotion; extern const void * RTTI_CombatBehaviorTreeWrapperNode; extern const void * RTTI_CombatBehaviorWaitBehindCover; extern const void * RTTI_CombatBlackboardMemberBase; extern const void * RTTI_CombatChangePositionPathController; extern const void * RTTI_CombatChargingSearchData; extern const void * RTTI_CombatCluster; extern const void * RTTI_CombatCoverLocation; extern const void * RTTI_CombatCoverMap; extern const void * RTTI_CombatCoverSearch; extern const void * RTTI_CombatCoverSearchDebugData; extern const void * RTTI_CombatCoverSearchResult; extern const void * RTTI_CombatCoveredPath; extern const void * RTTI_CombatCoveredPathDebugData; extern const void * RTTI_CombatDebugManager; extern const void * RTTI_CombatDialogueDebugData; extern const void * RTTI_CombatDialogueManager; extern const void * RTTI_CombatDisableActionController; extern const void * RTTI_CombatDisableAimController; extern const void * RTTI_CombatDisableCollisionController; extern const void * RTTI_CombatEffectSite; extern const void * RTTI_CombatEncounterBIEvents__CombatEnounterMetricsManager; extern const void * RTTI_CombatEncounterMetrics; extern const void * RTTI_CombatEnterCoverPathController; extern const void * RTTI_CombatFlankingSearchData; extern const void * RTTI_CombatFleeAimController; extern const void * RTTI_CombatFollowTargetPathController; extern const void * RTTI_CombatGroupDetectionListener; extern const void * RTTI_CombatInceptionDebugData; extern const void * RTTI_CombatInterface; extern const void * RTTI_CombatInventoryItem; extern const void * RTTI_CombatInventoryItemComposite; extern const void * RTTI_CombatInventoryItemGrenade; extern const void * RTTI_CombatInventoryItemMagic; extern const void * RTTI_CombatInventoryItemMelee; extern const void * RTTI_CombatInventoryItemOneHandedBlock; extern const void * RTTI_CombatInventoryItemRanged; extern const void * RTTI_CombatInventoryItemShield; extern const void * RTTI_CombatInventoryItemThrown; extern const void * RTTI_CombatInventoryItemTorch; extern const void * RTTI_CombatMagicCaster; extern const void * RTTI_CombatMagicCasterArmor; extern const void * RTTI_CombatMagicCasterBoundItem; extern const void * RTTI_CombatMagicCasterChameleon; extern const void * RTTI_CombatMagicCasterCloak; extern const void * RTTI_CombatMagicCasterDash; extern const void * RTTI_CombatMagicCasterDisarm; extern const void * RTTI_CombatMagicCasterInvisibility; extern const void * RTTI_CombatMagicCasterLight; extern const void * RTTI_CombatMagicCasterOffensive; extern const void * RTTI_CombatMagicCasterParalyze; extern const void * RTTI_CombatMagicCasterReanimate; extern const void * RTTI_CombatMagicCasterRestore; extern const void * RTTI_CombatMagicCasterScript; extern const void * RTTI_CombatMagicCasterStagger; extern const void * RTTI_CombatMagicCasterSummon; extern const void * RTTI_CombatMagicCasterTargetEffect; extern const void * RTTI_CombatMagicCasterWard; extern const void * RTTI_CombatMagicEffectDataManager; extern const void * RTTI_CombatMagicItemData; extern const void * RTTI_CombatMagicItemSkillChecker; extern const void * RTTI_CombatMaintainDistancePathController; extern const void * RTTI_CombatManager; extern const void * RTTI_CombatMantlePathController; extern const void * RTTI_CombatMatchTargetAimController; extern const void * RTTI_CombatMeleeAimController; extern const void * RTTI_CombatMeleeAttackController; extern const void * RTTI_CombatMeleeDebugData; extern const void * RTTI_CombatMovementRequestActivateTarget; extern const void * RTTI_CombatMovementRequestFollowActor; extern const void * RTTI_CombatNavmeshCoverLocation; extern const void * RTTI_CombatNavmeshPathingDebugData; extern const void * RTTI_CombatObjectGlobalSharedSaveLoadManager; extern const void * RTTI_CombatPath; extern const void * RTTI_CombatPathBuilder; extern const void * RTTI_CombatPathBuilderCovered; extern const void * RTTI_CombatPathBuilderNavmeshOpen; extern const void * RTTI_CombatPathBuilderNavmeshStandard; extern const void * RTTI_CombatPathBuilderNavmeshUtilities__CheckNavmeshPathFilter; extern const void * RTTI_CombatPathBuilderSpaceStandard; extern const void * RTTI_CombatPathBuilderSpatialGraphOpen; extern const void * RTTI_CombatPathBuilderSpatialGraphStandard; extern const void * RTTI_CombatPathBuilderTrackInfo; extern const void * RTTI_CombatPathBuilderTracker; extern const void * RTTI_CombatPathDestinationAcquire; extern const void * RTTI_CombatPathDestinationActor; extern const void * RTTI_CombatPathDestinationBarrelRoll; extern const void * RTTI_CombatPathDestinationBreak; extern const void * RTTI_CombatPathDestinationDirectlyToTarget; extern const void * RTTI_CombatPathDestinationDisengage; extern const void * RTTI_CombatPathDestinationEvade; extern const void * RTTI_CombatPathDestinationFlee; extern const void * RTTI_CombatPathDestinationFollowActor; extern const void * RTTI_CombatPathDestinationLeadTurn; extern const void * RTTI_CombatPathDestinationOrbitRef; extern const void * RTTI_CombatPathDestinationPursue; extern const void * RTTI_CombatPathDestinationRef; extern const void * RTTI_CombatPathDestinationRefs; extern const void * RTTI_CombatPathDestinationRemainNear; extern const void * RTTI_CombatPathDestinationSlideDodge; extern const void * RTTI_CombatPathDestinationSlideTurn; extern const void * RTTI_CombatPathDestinationStrafe; extern const void * RTTI_CombatPathDestinationStrafeTurn; extern const void * RTTI_CombatPathManager; extern const void * RTTI_CombatPathingDebugData; extern const void * RTTI_CombatPathingDelayedTweener; extern const void * RTTI_CombatPathingRequest; extern const void * RTTI_CombatPathingRequestAdapter; extern const void * RTTI_CombatPathingRequestCovered; extern const void * RTTI_CombatPathingRequestDebugData; extern const void * RTTI_CombatPathingRequestMultiGoal; extern const void * RTTI_CombatPathingRequestStandard; extern const void * RTTI_CombatPathingSearch; extern const void * RTTI_CombatPathingSearchArea; extern const void * RTTI_CombatPathingTweener; extern const void * RTTI_CombatPositionMap; extern const void * RTTI_CombatPositionReservation; extern const void * RTTI_CombatPositionTracker; extern const void * RTTI_CombatProjectileAimController; extern const void * RTTI_CombatProjectileDebugData; extern const void * RTTI_CombatQueuedEvent; extern const void * RTTI_CombatRangedMovementPathSpeedController; extern const void * RTTI_CombatReservation; extern const void * RTTI_CombatReservationMap; extern const void * RTTI_CombatSearchLockData; extern const void * RTTI_CombatSearchMap2D; extern const void * RTTI_CombatSearchMap3D; extern const void * RTTI_CombatShipGenericPathController; extern const void * RTTI_CombatShipPursueTargetPathController; extern const void * RTTI_CombatSoftCoverLocation; extern const void * RTTI_CombatSpatialGraphPathingDebugData; extern const void * RTTI_CombatStandardCoverLocation; extern const void * RTTI_CombatSuppressiveFireBehavior; extern const void * RTTI_CombatTargetLocation; extern const void * RTTI_CombatTargetLocationSearch; extern const void * RTTI_CombatTargetLocationSearchResult; extern const void * RTTI_CombatTargetMap; extern const void * RTTI_CombatTargetSelector; extern const void * RTTI_CombatTargetSelectorFixed; extern const void * RTTI_CombatTargetSelectorPreferred; extern const void * RTTI_CombatTargetSelectorRandom; extern const void * RTTI_CombatTargetSelectorSpaceship; extern const void * RTTI_CombatTargetSelectorStandard; extern const void * RTTI_CombatTargetSelectorWorkshopObject; extern const void * RTTI_CombatTeleportPathController; extern const void * RTTI_CombatThreat; extern const void * RTTI_CombatThreatExplosion; extern const void * RTTI_CombatThreatLOF; extern const void * RTTI_CombatThreatMap; extern const void * RTTI_CombatThreatMelee; extern const void * RTTI_CombatThreatProjectile; extern const void * RTTI_CombatTrackTargetAimController; extern const void * RTTI_CombatTunnelPathController; extern const void * RTTI_CombatTunnelPathingRequestData; extern const void * RTTI_CombatViewController; extern const void * RTTI_CombatViewControllerGlance; extern const void * RTTI_CombatViewControllerPath; extern const void * RTTI_CombatViewControllerStandard; extern const void * RTTI_CommandEffect; extern const void * RTTI_CommandSummonedEffect; extern const void * RTTI_CompactingStore__MoveCallback; extern const void * RTTI_CompactingStore__NoopMoveCallback; extern const void * RTTI_CompressedArchiveFile; extern const void * RTTI_ConditionVariable; extern const void * RTTI_ConeProjectile; extern const void * RTTI_ConfirmNewWithModsCallback; extern const void * RTTI_ConfirmResetCallback; extern const void * RTTI_ConnectionTypeCallback; extern const void * RTTI_Console; extern const void * RTTI_ConsoleEngine; extern const void * RTTI_ConsoleLog; extern const void * RTTI_ConsoleNativeUIMenu; extern const void * RTTI_ContainerMenu; extern const void * RTTI_ContainerMenuDataModel; extern const void * RTTI_ContainerMenuDataModel__ContainerMenuEventShuttle; extern const void * RTTI_ContainerMenu_CloseMenu; extern const void * RTTI_ContainerMenu_HideModel; extern const void * RTTI_ContainerMenu_Jettison; extern const void * RTTI_ContainerMenu_LoadModel; extern const void * RTTI_ContainerMenu_OpenRefuelMenu; extern const void * RTTI_ContainerMenu_SetMouseOverModel; extern const void * RTTI_ContainerMenu_TakeAll; extern const void * RTTI_ContainerMenu_ToggleEquip; extern const void * RTTI_ContainerMenu_TransferAllResources; extern const void * RTTI_ContainerMenu_TransferItem; extern const void * RTTI_ControlMap; extern const void * RTTI_ControlMapDataModel; extern const void * RTTI_ControllerInternalState; extern const void * RTTI_ConvertBoneToVar; extern const void * RTTI_ConvertBoneToVarInstance; extern const void * RTTI_CopyBoneWeights; extern const void * RTTI_CopyBoneWeightsInstance; extern const void * RTTI_CraftingInfoCardDataModel; extern const void * RTTI_CraftingInfoCardDataModel__CraftingItemInfoCardEventShuttle; extern const void * RTTI_CraftingMenuCommon; extern const void * RTTI_CraftingMenu_CraftItem; extern const void * RTTI_CraftingMenu_ExitBench; extern const void * RTTI_CraftingMenu_Highlight3D; extern const void * RTTI_CraftingMenu_InstallMod; extern const void * RTTI_CraftingMenu_RenameItem; extern const void * RTTI_CraftingMenu_RevertHighlight; extern const void * RTTI_CraftingMenu_RevertedModdedItem; extern const void * RTTI_CraftingMenu_SelectedMod; extern const void * RTTI_CraftingMenu_SelectedModSlot; extern const void * RTTI_CraftingMenu_SelectedModdableItem; extern const void * RTTI_CraftingMenu_SelectedRecipe; extern const void * RTTI_CraftingMenu_SetInspectControls; extern const void * RTTI_CraftingMenu_ToggleTracking; extern const void * RTTI_CraftingMenu_ViewingModdableItem; extern const void * RTTI_CraftingRecipesDataModel; extern const void * RTTI_CraftingRecipesDataModel__CraftingRecipesEventShuttle; extern const void * RTTI_CraftingRequirementsDataModel; extern const void * RTTI_CraftingRequirementsDataModel__CraftingRequirementsEventShuttle; extern const void * RTTI_CreateNavigationGridTask; extern const void * RTTI_CreationData; extern const void * RTTI_CreationRendererPrivate__AddProbeBorderRenderPass; extern const void * RTTI_CreationRendererPrivate__AddScatteringOrderRenderPass; extern const void * RTTI_CreationRendererPrivate__AllocateSkinningBuffersRenderPass; extern const void * RTTI_CreationRendererPrivate__ApiAbstractionLayer__BindlessArray; extern const void * RTTI_CreationRendererPrivate__ApiAbstractionLayer__BindlessBufferArray; extern const void * RTTI_CreationRendererPrivate__ApiAbstractionLayer__BindlessTextureArray; extern const void * RTTI_CreationRendererPrivate__ApiAbstractionLayer__CmdPool; extern const void * RTTI_CreationRendererPrivate__ApiAbstractionLayer__CmdPoolDx12; extern const void * RTTI_CreationRendererPrivate__ApiAbstractionLayer__IDynamicResolution; extern const void * RTTI_CreationRendererPrivate__ApiAbstractionLayer__PipelineDx12; extern const void * RTTI_CreationRendererPrivate__ApiAbstractionLayer__ResourceUploader__Impl; extern const void * RTTI_CreationRendererPrivate__ArtValidationRenderPass; extern const void * RTTI_CreationRendererPrivate__AtmosphericScatteringRenderGraphBase; extern const void * RTTI_CreationRendererPrivate__AtmosphericScatteringRenderPass; extern const void * RTTI_CreationRendererPrivate__BRDFIntegrationRenderPass; extern const void * RTTI_CreationRendererPrivate__BakeSHBasisRenderPass; extern const void * RTTI_CreationRendererPrivate__BinkMovieDrawRenderPass; extern const void * RTTI_CreationRendererPrivate__BinkMovieSubgraphRenderPass; extern const void * RTTI_CreationRendererPrivate__BinkUpdatePlanesRenderPass; extern const void * RTTI_CreationRendererPrivate__BlendAllReflectionProbesRenderPass; extern const void * RTTI_CreationRendererPrivate__BlendProbeRayRenderPass; extern const void * RTTI_CreationRendererPrivate__BlendReflectionProbeRenderPass; extern const void * RTTI_CreationRendererPrivate__BlendedDecalRenderPass; extern const void * RTTI_CreationRendererPrivate__BlendedDecal_OptionalRenderPass; extern const void * RTTI_CreationRendererPrivate__BlendedDecal_OverwriteMaskRenderPass; extern const void * RTTI_CreationRendererPrivate__BlendedDecalsRenderPass; extern const void * RTTI_CreationRendererPrivate__BlurHeightfieldHorizontalRenderPass; extern const void * RTTI_CreationRendererPrivate__BlurHeightfieldVerticalRenderPass; extern const void * RTTI_CreationRendererPrivate__BlurSpaceGlareRenderPass; extern const void * RTTI_CreationRendererPrivate__BlurTerrainHeightClipmapHorizontalRenderPass; extern const void * RTTI_CreationRendererPrivate__BlurTerrainHeightClipmapVerticalRenderPass; extern const void * RTTI_CreationRendererPrivate__BlurredMipChain_idTech7RenderPass; extern const void * RTTI_CreationRendererPrivate__BlurredMipchainSetup_idTech7RenderPass; extern const void * RTTI_CreationRendererPrivate__BruteForceRaymarchingRenderPass; extern const void * RTTI_CreationRendererPrivate__BufferReadbackRenderPass; extern const void * RTTI_CreationRendererPrivate__BuildAccelerationStructureRenderPass; extern const void * RTTI_CreationRendererPrivate__CRScaleform__CRScaleformThreadCommandQueue; extern const void * RTTI_CreationRendererPrivate__CelestialBodiesGeometryRenderPass; extern const void * RTTI_CreationRendererPrivate__CelestialBodiesLightingAndCompositeRenderPass; extern const void * RTTI_CreationRendererPrivate__CelestialBodiesMultiLayerDecalRenderPass; extern const void * RTTI_CreationRendererPrivate__CelestialBodiesPrepareRenderPass; extern const void * RTTI_CreationRendererPrivate__CelestialBodiesRenderPass; extern const void * RTTI_CreationRendererPrivate__ChargenMorphService; extern const void * RTTI_CreationRendererPrivate__ClearCubemapCaptureArrayRenderPass; extern const void * RTTI_CreationRendererPrivate__ClearFallbackCubemapRenderPass; extern const void * RTTI_CreationRendererPrivate__ClearRenderGraphOutputRenderPass; extern const void * RTTI_CreationRendererPrivate__ClearShadowMapGroupRenderPass; extern const void * RTTI_CreationRendererPrivate__ClearShadowMapsRenderPass; extern const void * RTTI_CreationRendererPrivate__ClearSkyCubemapHistogramRenderPass; extern const void * RTTI_CreationRendererPrivate__ClearThinDeferredGBufferRenderPass; extern const void * RTTI_CreationRendererPrivate__CloudCardsRenderPass; extern const void * RTTI_CreationRendererPrivate__CloudLayersRenderPass; extern const void * RTTI_CreationRendererPrivate__CloudsHalfResCompositeRenderPass; extern const void * RTTI_CreationRendererPrivate__CloudsRenderPass; extern const void * RTTI_CreationRendererPrivate__ColorGradingMergeRenderPass; extern const void * RTTI_CreationRendererPrivate__CompositeAdditiveHalfResOITParticlesRenderPass; extern const void * RTTI_CreationRendererPrivate__CompositeHalfResOITParticlesRenderPass; extern const void * RTTI_CreationRendererPrivate__CompositeMomentBasedOITRenderPass; extern const void * RTTI_CreationRendererPrivate__ComputeLightInfluenceRenderPass; extern const void * RTTI_CreationRendererPrivate__ComputeMinMaxShadowMapLevelRenderPass; extern const void * RTTI_CreationRendererPrivate__ComputeMinMaxShadowMapRenderPass; extern const void * RTTI_CreationRendererPrivate__ComputeSHCoefRenderPass; extern const void * RTTI_CreationRendererPrivate__ComputeScatterRadianceRenderPass; extern const void * RTTI_CreationRendererPrivate__ComputeScatteringOrderRenderPass; extern const void * RTTI_CreationRendererPrivate__ComputeSkyCubemapHistogramRenderpass; extern const void * RTTI_CreationRendererPrivate__ComputeSkyCubemapLuminanceDataRenderpass; extern const void * RTTI_CreationRendererPrivate__ContrastAdaptiveSharpeningRenderPass; extern const void * RTTI_CreationRendererPrivate__CopyAtmosScatteringRenderPass; extern const void * RTTI_CreationRendererPrivate__CopyAtmosScatteringWithStarfieldRenderPass; extern const void * RTTI_CreationRendererPrivate__CopyHighOrderScatteringLUTRenderPass; extern const void * RTTI_CreationRendererPrivate__CopyIntegrationToTempLUTRenderPass; extern const void * RTTI_CreationRendererPrivate__CopyLightInfluenceRenderPass; extern const void * RTTI_CreationRendererPrivate__CopyRenderPass; extern const void * RTTI_CreationRendererPrivate__CopyScreenSizeToReadBackRenderPass; extern const void * RTTI_CreationRendererPrivate__CopySectorIntoHeightfieldRenderPass; extern const void * RTTI_CreationRendererPrivate__CopyToColorWithoutHighlightRenderPass; extern const void * RTTI_CreationRendererPrivate__CopyToRenderGraphOutputRenderPass; extern const void * RTTI_CreationRendererPrivate__CopyWithShaderLetterboxedRenderPass; extern const void * RTTI_CreationRendererPrivate__CopyWithShaderRenderPass; extern const void * RTTI_CreationRendererPrivate__CubemapBackgroundRenderPass; extern const void * RTTI_CreationRendererPrivate__DLSSFrameGenerationRenderPass; extern const void * RTTI_CreationRendererPrivate__DLSSFrameGenerationUIRenderPass; extern const void * RTTI_CreationRendererPrivate__DLSSProduceInputsRenderPass; extern const void * RTTI_CreationRendererPrivate__DLSSUpscaleRenderPass; extern const void * RTTI_CreationRendererPrivate__DeDitherRenderPass; extern const void * RTTI_CreationRendererPrivate__DeferredCompositeRenderPass; extern const void * RTTI_CreationRendererPrivate__DeferredGBufferOptionalRenderPass; extern const void * RTTI_CreationRendererPrivate__DeferredGBufferRenderPass; extern const void * RTTI_CreationRendererPrivate__DeferredGBufferTranslucentRenderPass; extern const void * RTTI_CreationRendererPrivate__DepthDownsampleAvgRenderPass; extern const void * RTTI_CreationRendererPrivate__DepthDownsampleRenderPass; extern const void * RTTI_CreationRendererPrivate__DepthGraphRenderPass; extern const void * RTTI_CreationRendererPrivate__DepthMVFixupRenderPass; extern const void * RTTI_CreationRendererPrivate__DepthMVFixupStandardRenderPass; extern const void * RTTI_CreationRendererPrivate__DepthOfFieldBlurRenderPass; extern const void * RTTI_CreationRendererPrivate__DepthOfFieldCoCBlurRenderPass; extern const void * RTTI_CreationRendererPrivate__DepthOfFieldCoCRenderPass; extern const void * RTTI_CreationRendererPrivate__DepthOfFieldCompositeRenderPass; extern const void * RTTI_CreationRendererPrivate__DepthOfFieldDownsampleRenderPass; extern const void * RTTI_CreationRendererPrivate__DepthOfFieldFloodFillBlurRenderPass; extern const void * RTTI_CreationRendererPrivate__DepthOfFieldHTileMaskRenderPass; extern const void * RTTI_CreationRendererPrivate__DepthOfFieldSubGraph; extern const void * RTTI_CreationRendererPrivate__DepthOfFieldTAARenderPass; extern const void * RTTI_CreationRendererPrivate__DepthOfFieldTapBlurRenderPass; extern const void * RTTI_CreationRendererPrivate__DepthPrepassRenderPass; extern const void * RTTI_CreationRendererPrivate__DistantAtmospheresRenderPass; extern const void * RTTI_CreationRendererPrivate__DistortionBaseRenderPass; extern const void * RTTI_CreationRendererPrivate__DistortionCalculateColorRenderPass; extern const void * RTTI_CreationRendererPrivate__DistortionOutputRenderPass; extern const void * RTTI_CreationRendererPrivate__DistortionParticlesRenderPass; extern const void * RTTI_CreationRendererPrivate__DistortionRenderPass; extern const void * RTTI_CreationRendererPrivate__DoubleVisionRenderPass; extern const void * RTTI_CreationRendererPrivate__DownsampleHeightfieldRenderPass; extern const void * RTTI_CreationRendererPrivate__DownsampleSpaceGlareRenderPass; extern const void * RTTI_CreationRendererPrivate__DrawDistantAtmospheresRenderPass; extern const void * RTTI_CreationRendererPrivate__DrawDistantAtmospheresTransparencyRenderPass; extern const void * RTTI_CreationRendererPrivate__DrawGlobalDirtOverlayRenderPass; extern const void * RTTI_CreationRendererPrivate__DrawProjectedDecalsRenderPass; extern const void * RTTI_CreationRendererPrivate__DrawProjectedDecals_HighlightMaskRenderPass; extern const void * RTTI_CreationRendererPrivate__DrawProjectedDecals_OptionalRenderPass; extern const void * RTTI_CreationRendererPrivate__DynamicResolution; extern const void * RTTI_CreationRendererPrivate__DynamicShadowDepthPyramidRenderPass; extern const void * RTTI_CreationRendererPrivate__DynamicShadowDrawMeshInstanceSubGraph; extern const void * RTTI_CreationRendererPrivate__DynamicShadowDrawSubGraph; extern const void * RTTI_CreationRendererPrivate__DynamicShadowFalseNegativesDrawSubGraph; extern const void * RTTI_CreationRendererPrivate__DynamicShadowFilterFocusGeometriesRenderPass; extern const void * RTTI_CreationRendererPrivate__DynamicShadowFrustumMaskRenderPass; extern const void * RTTI_CreationRendererPrivate__DynamicShadowGeometryCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__DynamicShadowGeometryOffsetsRenderPass; extern const void * RTTI_CreationRendererPrivate__DynamicShadowGraph; extern const void * RTTI_CreationRendererPrivate__DynamicShadowMapBarriersRenderPass; extern const void * RTTI_CreationRendererPrivate__DynamicShadowMaterialIndexOffsetsRenderPass; extern const void * RTTI_CreationRendererPrivate__DynamicShadowMeshletCullingFalseNegativesRenderPass; extern const void * RTTI_CreationRendererPrivate__DynamicShadowMeshletCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__DynamicShadowMeshletListBuildFalseNegativesRenderPass; extern const void * RTTI_CreationRendererPrivate__DynamicShadowMeshletListBuildRenderPass; extern const void * RTTI_CreationRendererPrivate__DynamicShadowPrepareDrawParamsRenderPass; extern const void * RTTI_CreationRendererPrivate__DynamicShadowPrepareGroupedDrawsRenderPass; extern const void * RTTI_CreationRendererPrivate__DynamicShadowSceneSetupRenderPass; extern const void * RTTI_CreationRendererPrivate__DynamicShadowTriangleCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__DynamicShadowWithFalseNegativesGraph; extern const void * RTTI_CreationRendererPrivate__DynamicShadowsMeshInstancePatchPrepareArgsRenderPass; extern const void * RTTI_CreationRendererPrivate__EmptyRenderPass; extern const void * RTTI_CreationRendererPrivate__EndMultiscatteringIntegrationRenderPass; extern const void * RTTI_CreationRendererPrivate__EpipolarSamplingRefineSampleLocationsRenderPass; extern const void * RTTI_CreationRendererPrivate__EpipolarSamplingRenderCoordinateTextureRenderPass; extern const void * RTTI_CreationRendererPrivate__EpipolarSamplingRenderPass; extern const void * RTTI_CreationRendererPrivate__EpipolarSamplingRenderSliceEndPointsRenderPass; extern const void * RTTI_CreationRendererPrivate__FSR2ProduceInputsRenderPass; extern const void * RTTI_CreationRendererPrivate__FSR2UpscaleRenderPass; extern const void * RTTI_CreationRendererPrivate__FSR3FrameInterpolationRenderPass; extern const void * RTTI_CreationRendererPrivate__FSR3ProduceUIInputRenderPass; extern const void * RTTI_CreationRendererPrivate__FSR3UpscaleRenderPass; extern const void * RTTI_CreationRendererPrivate__FaceCustomizationCopyMipChainToOutputRenderPass; extern const void * RTTI_CreationRendererPrivate__FaceCustomizationMipChainRenderPass; extern const void * RTTI_CreationRendererPrivate__FaceCustomizationMipChainRoughnessRenderPass; extern const void * RTTI_CreationRendererPrivate__FaceCustomizationProduceMipChainRenderPass; extern const void * RTTI_CreationRendererPrivate__FaceCustomizationRenderPass; extern const void * RTTI_CreationRendererPrivate__FillCullingDataRenderPass; extern const void * RTTI_CreationRendererPrivate__FillHeightfieldCullingDataRenderPass; extern const void * RTTI_CreationRendererPrivate__FilmGrainRenderPass; extern const void * RTTI_CreationRendererPrivate__FilterCulledGeometriesRenderPass; extern const void * RTTI_CreationRendererPrivate__FilterHeightfieldRenderPass; extern const void * RTTI_CreationRendererPrivate__FirstPersonDepthRenderPass; extern const void * RTTI_CreationRendererPrivate__FixupIndirectArgsRenderPass; extern const void * RTTI_CreationRendererPrivate__FixupSkinningIndirectArgsRenderPass; extern const void * RTTI_CreationRendererPrivate__FlattenTextureScreensizeRenderPass; extern const void * RTTI_CreationRendererPrivate__ForwardBlendedAlphaOutputRenderPass; extern const void * RTTI_CreationRendererPrivate__ForwardBlendedCopyToDestRenderPass; extern const void * RTTI_CreationRendererPrivate__ForwardBlendedCorrectionRenderPass; extern const void * RTTI_CreationRendererPrivate__ForwardBlendedFullResAlwaysRenderPass; extern const void * RTTI_CreationRendererPrivate__ForwardBlendedMainFullResRenderPass; extern const void * RTTI_CreationRendererPrivate__ForwardBlendedMainHalfResRenderPass; extern const void * RTTI_CreationRendererPrivate__ForwardBlendedRenderPass; extern const void * RTTI_CreationRendererPrivate__ForwardRenderPass; extern const void * RTTI_CreationRendererPrivate__FrameInitRenderPass; extern const void * RTTI_CreationRendererPrivate__FrameInterpolationSubGraph; extern const void * RTTI_CreationRendererPrivate__FrameRenderGraph; extern const void * RTTI_CreationRendererPrivate__FrameSetupRenderPass; extern const void * RTTI_CreationRendererPrivate__FullScreenBlurCompositeRenderPass; extern const void * RTTI_CreationRendererPrivate__FullScreenBlurRenderPass; extern const void * RTTI_CreationRendererPrivate__FullScreenColorRenderPass; extern const void * RTTI_CreationRendererPrivate__FullScreenColor_AlphaFillRenderPass; extern const void * RTTI_CreationRendererPrivate__FullScreenColor_BloomRenderPass; extern const void * RTTI_CreationRendererPrivate__FullScreenColor_CubemapRenderPass; extern const void * RTTI_CreationRendererPrivate__FullScreenColor_DefaultRenderPass; extern const void * RTTI_CreationRendererPrivate__FullScreenColor_MonochromeRenderPass; extern const void * RTTI_CreationRendererPrivate__FullScreenColor_OverlayRenderPass; extern const void * RTTI_CreationRendererPrivate__FullScreenDownsampleRenderPass; extern const void * RTTI_CreationRendererPrivate__FullScreenScanlineRenderPass; extern const void * RTTI_CreationRendererPrivate__FullScreenTapBlurRenderPass; extern const void * RTTI_CreationRendererPrivate__GBufferOverviewRenderPass; extern const void * RTTI_CreationRendererPrivate__GPUDataInspectorConvertValuesRenderPass; extern const void * RTTI_CreationRendererPrivate__GPUDataInspectorDrawQuadsRenderPass; extern const void * RTTI_CreationRendererPrivate__GPUDataInspectorGenerateIndirectDispatchRenderPass; extern const void * RTTI_CreationRendererPrivate__GPUDataInspectorGenerateIndirectDrawRenderPass; extern const void * RTTI_CreationRendererPrivate__GPUDataInspectorRenderPass; extern const void * RTTI_CreationRendererPrivate__GPUDebugGeometryDrawLinesRenderPass; extern const void * RTTI_CreationRendererPrivate__GPUDebugGeometryPrepareLinesRenderPass; extern const void * RTTI_CreationRendererPrivate__GPUDebugGeometryPrintfDraw3DRenderPass; extern const void * RTTI_CreationRendererPrivate__GPUDebugGeometryPrintfPrepareBuffersRenderPass; extern const void * RTTI_CreationRendererPrivate__GPUDebugGeometryRenderPass; extern const void * RTTI_CreationRendererPrivate__GPUDebugGeometryResetBuffersRenderPass; extern const void * RTTI_CreationRendererPrivate__GalaxyStateStarsRenderPass; extern const void * RTTI_CreationRendererPrivate__GatherGeometryInstancesRenderPass; extern const void * RTTI_CreationRendererPrivate__GatherHighlightsRenderPass; extern const void * RTTI_CreationRendererPrivate__GatherIndirectRenderPass; extern const void * RTTI_CreationRendererPrivate__GatherLightsRenderPass; extern const void * RTTI_CreationRendererPrivate__GatherNodeExtraVisualDataRenderPass; extern const void * RTTI_CreationRendererPrivate__GatherTransformsRenderPass; extern const void * RTTI_CreationRendererPrivate__GenerateDepthPyramidBaseRenderPass; extern const void * RTTI_CreationRendererPrivate__GenerateDepthPyramidRenderPass; extern const void * RTTI_CreationRendererPrivate__GenerateFogMapRenderPass; extern const void * RTTI_CreationRendererPrivate__GenerateGeometryInstanceMaskRenderPass; extern const void * RTTI_CreationRendererPrivate__GenerateShadowDepthPyramidRenderPass; extern const void * RTTI_CreationRendererPrivate__GenerateShadowDepthPyramidWithMaskRenderPass; extern const void * RTTI_CreationRendererPrivate__GeometryCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__GeometryCullingShadowsRenderPass; extern const void * RTTI_CreationRendererPrivate__GeometryParticleBatchDepthRenderPass; extern const void * RTTI_CreationRendererPrivate__GeometryParticleBatchRenderPass; extern const void * RTTI_CreationRendererPrivate__GeometryRenderPass; extern const void * RTTI_CreationRendererPrivate__GlobalDirtOverlayRenderPass; extern const void * RTTI_CreationRendererPrivate__GroupedDynamicShadowMapRenderPass; extern const void * RTTI_CreationRendererPrivate__HDRColorGradingMergeRenderPass; extern const void * RTTI_CreationRendererPrivate__HDRCompositeRenderPass; extern const void * RTTI_CreationRendererPrivate__HDRHistogramClearRenderPass; extern const void * RTTI_CreationRendererPrivate__HDRHistogramReadLightAdaptRenderPass; extern const void * RTTI_CreationRendererPrivate__HDRSubGraph; extern const void * RTTI_CreationRendererPrivate__HeightFieldRenderPass; extern const void * RTTI_CreationRendererPrivate__HeightFieldSubGraphRenderPass; extern const void * RTTI_CreationRendererPrivate__HeightfieldSystemRenderPass; extern const void * RTTI_CreationRendererPrivate__HighlightMaskRenderPass; extern const void * RTTI_CreationRendererPrivate__HighlightPrepareRenderPass; extern const void * RTTI_CreationRendererPrivate__HighlightRenderPass; extern const void * RTTI_CreationRendererPrivate__ImGuiEventHandler; extern const void * RTTI_CreationRendererPrivate__ImageCaptureData; extern const void * RTTI_CreationRendererPrivate__ImageCaptureHDR_CopyRenderTargetRenderPass; extern const void * RTTI_CreationRendererPrivate__ImageCapture_CopyRenderTargetRenderPass; extern const void * RTTI_CreationRendererPrivate__ImageCapture_CopyRenderTarget_UseDepthAsAlphaRenderPass; extern const void * RTTI_CreationRendererPrivate__ImageCapture_IconGenerationRenderPass; extern const void * RTTI_CreationRendererPrivate__ImageProcessCreateResourceMapRenderPass; extern const void * RTTI_CreationRendererPrivate__ImageProcessEdgeDetectionRenderPass; extern const void * RTTI_CreationRendererPrivate__ImageProcessMedianBlurRenderPass; extern const void * RTTI_CreationRendererPrivate__ImageProcessNearestNeighborUpscaleRenderPass; extern const void * RTTI_CreationRendererPrivate__ImageProcessRenderGraph; extern const void * RTTI_CreationRendererPrivate__IndirectRenderPass; extern const void * RTTI_CreationRendererPrivate__IndirectSetupRenderPass; extern const void * RTTI_CreationRendererPrivate__InitializeInscatterOrderRenderPass; extern const void * RTTI_CreationRendererPrivate__InitializeMinMaxShadowMapRenderPass; extern const void * RTTI_CreationRendererPrivate__InjectDistantAtmosphereLUTRenderPass; extern const void * RTTI_CreationRendererPrivate__InjectMotionVectorHistoryCurrentDynamicResolutionRenderPass; extern const void * RTTI_CreationRendererPrivate__InjectPreviousDepthBufferCurrentDynamicResolutionRenderPass; extern const void * RTTI_CreationRendererPrivate__InjectSpaceGlareCurrentFrameRenderPass; extern const void * RTTI_CreationRendererPrivate__InjectTerrainShadowResourcesRenderPass; extern const void * RTTI_CreationRendererPrivate__InterpolateIrradianceRenderPass; extern const void * RTTI_CreationRendererPrivate__LensFlareComputeRenderPass; extern const void * RTTI_CreationRendererPrivate__LensFlareDrawRenderPass; extern const void * RTTI_CreationRendererPrivate__LensFlareSystemRenderPass; extern const void * RTTI_CreationRendererPrivate__LensFlare_AlphaBlendRenderPass; extern const void * RTTI_CreationRendererPrivate__LensFlare_VisibilityRenderPass; extern const void * RTTI_CreationRendererPrivate__LightCoarseCullingCompactionRenderPass; extern const void * RTTI_CreationRendererPrivate__LightCoarseCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__LightInfluenceDepthMinRenderPass; extern const void * RTTI_CreationRendererPrivate__LightInfluenceSubGraphRenderPass; extern const void * RTTI_CreationRendererPrivate__LightingRenderPass; extern const void * RTTI_CreationRendererPrivate__LoadMenuHiddenEventHandler; extern const void * RTTI_CreationRendererPrivate__LogicalCell; extern const void * RTTI_CreationRendererPrivate__MainRenderGraph; extern const void * RTTI_CreationRendererPrivate__MeshEventHandler; extern const void * RTTI_CreationRendererPrivate__MeshInstancePatchCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__MeshInstancePatchDepthRenderPass; extern const void * RTTI_CreationRendererPrivate__MeshInstancePatchOcclusionCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__MeshInstancePatchPrepareArgsBaseRenderPass; extern const void * RTTI_CreationRendererPrivate__MeshInstancePatchPrepareArgsRenderPass; extern const void * RTTI_CreationRendererPrivate__MeshInstancePatchPrepareArgsShadowRenderPass; extern const void * RTTI_CreationRendererPrivate__MeshInstancePatchRenderPass; extern const void * RTTI_CreationRendererPrivate__MeshInstancePatchShadowRenderPass; extern const void * RTTI_CreationRendererPrivate__MeshLODDB; extern const void * RTTI_CreationRendererPrivate__MeshletBuildIndexBufferRenderPass; extern const void * RTTI_CreationRendererPrivate__MeshletFrustumCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__MeshletListBuildRenderPass; extern const void * RTTI_CreationRendererPrivate__MeshletMaterialOffsetsRenderPass; extern const void * RTTI_CreationRendererPrivate__MeshletOcclusionCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__MeshletPrepareArgsRenderPass; extern const void * RTTI_CreationRendererPrivate__MeshletPrepareDrawParamsRenderPass; extern const void * RTTI_CreationRendererPrivate__MeshletProduceResourcesRenderPass; extern const void * RTTI_CreationRendererPrivate__MeshletProduceResourcesShadowsRenderPass; extern const void * RTTI_CreationRendererPrivate__MeshletReadbackIndexCountRenderPass; extern const void * RTTI_CreationRendererPrivate__MeshletTriangleCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__Messaging__Dependency__GeneralDependencyNode; extern const void * RTTI_CreationRendererPrivate__Messaging__Dependency__InternalDependencyGraphHolder; extern const void * RTTI_CreationRendererPrivate__Messaging__Dependency__InternalProcessorType; extern const void * RTTI_CreationRendererPrivate__MomentBasedOITRenderAdditiveTransparencyRenderPass; extern const void * RTTI_CreationRendererPrivate__MomentBasedOITRenderMomentsRenderPass; extern const void * RTTI_CreationRendererPrivate__MomentBasedOITRenderPass; extern const void * RTTI_CreationRendererPrivate__MomentBasedOITRenderTransparencyRenderPass; extern const void * RTTI_CreationRendererPrivate__MorphDB; extern const void * RTTI_CreationRendererPrivate__MorphRenderPass; extern const void * RTTI_CreationRendererPrivate__MorphSystemEndFrameRenderPass; extern const void * RTTI_CreationRendererPrivate__MotionBlurMaxTileVelocityRenderPass; extern const void * RTTI_CreationRendererPrivate__MotionBlurRenderPass; extern const void * RTTI_CreationRendererPrivate__MotionBlurSubGraph; extern const void * RTTI_CreationRendererPrivate__MotionVectorCompositeRenderPass; extern const void * RTTI_CreationRendererPrivate__MultiscatteringIntegrationStepRenderPass; extern const void * RTTI_CreationRendererPrivate__NV_Streamline__StreamlineEventHandler; extern const void * RTTI_CreationRendererPrivate__PartialClearColorBufferRenderPass; extern const void * RTTI_CreationRendererPrivate__ParticleComputeLightingLevel0RenderPass; extern const void * RTTI_CreationRendererPrivate__ParticleComputeLightingLevel1RenderPass; extern const void * RTTI_CreationRendererPrivate__ParticleComputeLightingLevel2RenderPass; extern const void * RTTI_CreationRendererPrivate__ParticleComputeLightingLevel3RenderPass; extern const void * RTTI_CreationRendererPrivate__ParticleDataPreFilterRenderPass; extern const void * RTTI_CreationRendererPrivate__ParticleLightingClearBuffersRenderPass; extern const void * RTTI_CreationRendererPrivate__ParticleLightingGenerateIndirectBufferRenderPass; extern const void * RTTI_CreationRendererPrivate__ParticleLightingRenderPass; extern const void * RTTI_CreationRendererPrivate__ParticlesCopyToDestRenderPass; extern const void * RTTI_CreationRendererPrivate__ParticlesCorrectionRenderPass; extern const void * RTTI_CreationRendererPrivate__ParticlesMainFullResRenderPass; extern const void * RTTI_CreationRendererPrivate__ParticlesMainHalfResRenderPass; extern const void * RTTI_CreationRendererPrivate__ParticlesMomentBasedOITRenderMomentsRenderPass; extern const void * RTTI_CreationRendererPrivate__ParticlesMomentBasedOITRenderTransparencyRenderPass; extern const void * RTTI_CreationRendererPrivate__ParticlesRenderPass; extern const void * RTTI_CreationRendererPrivate__PauseMenuExitedEventHandler; extern const void * RTTI_CreationRendererPrivate__PointCloudCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__PointCloudDrawRenderPass; extern const void * RTTI_CreationRendererPrivate__PointCloudEventHandler; extern const void * RTTI_CreationRendererPrivate__PostEffectPreUpscaleRenderPass; extern const void * RTTI_CreationRendererPrivate__PostSharpenRenderPass; extern const void * RTTI_CreationRendererPrivate__PostUpscaleImageSpaceSubGraph; extern const void * RTTI_CreationRendererPrivate__PostUpscaleSubGraph; extern const void * RTTI_CreationRendererPrivate__PreUpscaleImageSpaceSubGraph; extern const void * RTTI_CreationRendererPrivate__PrecomputeAtmosphericScatteringDataRenderPass; extern const void * RTTI_CreationRendererPrivate__PrecomputeAtmosphericScatteringTransmittanceRenderPass; extern const void * RTTI_CreationRendererPrivate__PrecomputeNetDensityToAtmTopRenderPass; extern const void * RTTI_CreationRendererPrivate__PrecomputePerlinNoise3DRenderPass; extern const void * RTTI_CreationRendererPrivate__PrecomputeSingleScatteringRenderPass; extern const void * RTTI_CreationRendererPrivate__PrefilterCubemapRenderPass; extern const void * RTTI_CreationRendererPrivate__PrepareAtmosphericScatteringRenderPass; extern const void * RTTI_CreationRendererPrivate__PrepareEndFrameRenderPass; extern const void * RTTI_CreationRendererPrivate__PrepareFirstPersonSkinningRenderPass; extern const void * RTTI_CreationRendererPrivate__PrepareProjectedDecalsRenderPass; extern const void * RTTI_CreationRendererPrivate__PrepareReflectionProbeDataRenderPass; extern const void * RTTI_CreationRendererPrivate__PrepareSkinningRenderPass; extern const void * RTTI_CreationRendererPrivate__PrepareSkyCubemapCelestialBodiesRenderPass; extern const void * RTTI_CreationRendererPrivate__PrepareSkyCubemapRenderPass; extern const void * RTTI_CreationRendererPrivate__ProbeClassifyRenderPass; extern const void * RTTI_CreationRendererPrivate__ProbeCoarseLightCullingCompactionRenderPass; extern const void * RTTI_CreationRendererPrivate__ProbeCoarseLightCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__ProbeFaceSceneSetupRenderPass; extern const void * RTTI_CreationRendererPrivate__ProbeGridGPUCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__ProbeLightCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__ProbeRenderPass; extern const void * RTTI_CreationRendererPrivate__ProbeSystemRenderPass; extern const void * RTTI_CreationRendererPrivate__ProduceAndClearHeightfieldRenderPass; extern const void * RTTI_CreationRendererPrivate__ProduceDynamicShadowMapDataRenderPass; extern const void * RTTI_CreationRendererPrivate__ProduceMomentBasedOITForwardHalfResTargetRenderPass; extern const void * RTTI_CreationRendererPrivate__ProduceMomentBasedOITParticleTargetsHalfResRenderPass; extern const void * RTTI_CreationRendererPrivate__ProduceMomentBasedOITTargetsAlwaysFullResRenderPass; extern const void * RTTI_CreationRendererPrivate__ProduceMomentBasedOITTargetsHalfResRenderPass; extern const void * RTTI_CreationRendererPrivate__ProduceMomentBasedOITTargetsRenderPass; extern const void * RTTI_CreationRendererPrivate__ProduceSceneDebugBuffersSubGraphRenderPass; extern const void * RTTI_CreationRendererPrivate__ProduceShadingRateImageRenderPass; extern const void * RTTI_CreationRendererPrivate__ProduceShadowMapCullingResourcesRenderPass; extern const void * RTTI_CreationRendererPrivate__ProduceShadowMaskFrustumRenderPass; extern const void * RTTI_CreationRendererPrivate__ProduceThinGBufferResourcesRenderPass; extern const void * RTTI_CreationRendererPrivate__ProjectedDecalRenderPass; extern const void * RTTI_CreationRendererPrivate__RadialBlurRenderPass; extern const void * RTTI_CreationRendererPrivate__RayTraceProbeComputeRenderPass; extern const void * RTTI_CreationRendererPrivate__RayTraceProbeNonRandomRaysComputeRenderPass; extern const void * RTTI_CreationRendererPrivate__RaymarchSampleLocationsRenderPass; extern const void * RTTI_CreationRendererPrivate__RaymarchShadowedSampleLocationsRenderPass; extern const void * RTTI_CreationRendererPrivate__RaymarchUsingMinMaxShadowMapRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbeBlendingSubGraphRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbeClearThinDeferredGBufferRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbeComputeSHRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbeCopyDepth; extern const void * RTTI_CreationRendererPrivate__ReflectionProbeCopySky; extern const void * RTTI_CreationRendererPrivate__ReflectionProbeFaceSubGraphRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbeGeometryCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbeGeometryOffsetsRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbeLightCoarseCullingCompactionRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbeLightCoarseCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbeMaterialIndexOffsetsRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbeMeshletCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbeMeshletListBuildRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbeMipChainRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbeOcclusionCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbePrefilterCubemapRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbePrepareDrawParamsRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbePrepareGroupedDrawsRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbeRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbeSceneSetupRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbeShadowMapSceneSetupRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbeSubGraphRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbeTerrainRenderPass; extern const void * RTTI_CreationRendererPrivate__ReflectionProbeTriangleCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__RefractionBlurRenderPass; extern const void * RTTI_CreationRendererPrivate__RefractionDownsample0RenderPass; extern const void * RTTI_CreationRendererPrivate__RefractionDownsampleMipChainRenderPass; extern const void * RTTI_CreationRendererPrivate__RefractionMaskDilationRenderPass; extern const void * RTTI_CreationRendererPrivate__RefractionMaskGenRenderPass; extern const void * RTTI_CreationRendererPrivate__RefractionMaskRenderPass; extern const void * RTTI_CreationRendererPrivate__RenderCoarseUnshadowedInscatteringRenderPass; extern const void * RTTI_CreationRendererPrivate__RenderGraph; extern const void * RTTI_CreationRendererPrivate__RenderGraphEventHandler; extern const void * RTTI_CreationRendererPrivate__RenderPass; extern const void * RTTI_CreationRendererPrivate__RenderSceneSubGraph; extern const void * RTTI_CreationRendererPrivate__RenderSliceUVDirAndOriginRenderPass; extern const void * RTTI_CreationRendererPrivate__RenderViewSubGraph; extern const void * RTTI_CreationRendererPrivate__ReprojectShadingRateImageRenderPass; extern const void * RTTI_CreationRendererPrivate__ResetCullingMemoryRequestHandler; extern const void * RTTI_CreationRendererPrivate__ResourceLifecycleJobSite; extern const void * RTTI_CreationRendererPrivate__SAOEmptyRenderPass; extern const void * RTTI_CreationRendererPrivate__SAORenderPass; extern const void * RTTI_CreationRendererPrivate__ScaleformCompositeRenderPass; extern const void * RTTI_CreationRendererPrivate__ScaleformEventHandler; extern const void * RTTI_CreationRendererPrivate__ScaleformRenderPass; extern const void * RTTI_CreationRendererPrivate__ScaleformText2DRenderPass; extern const void * RTTI_CreationRendererPrivate__ScaleformTextRenderPass; extern const void * RTTI_CreationRendererPrivate__ScaleformToTextureRenderPass; extern const void * RTTI_CreationRendererPrivate__SceneSetupRenderPass; extern const void * RTTI_CreationRendererPrivate__ScreenSpaceShadowsRenderPass; extern const void * RTTI_CreationRendererPrivate__SeparableSSS_HorizontalRenderPass; extern const void * RTTI_CreationRendererPrivate__SeparableSSS_VerticalRenderPass; extern const void * RTTI_CreationRendererPrivate__ServiceLocator; extern const void * RTTI_CreationRendererPrivate__SetupAtmosphericScatteringBuffersRenderPass; extern const void * RTTI_CreationRendererPrivate__SetupDynamicShadowRenderPass; extern const void * RTTI_CreationRendererPrivate__ShadowInstanceBarriersRenderPass; extern const void * RTTI_CreationRendererPrivate__ShadowManagerEventHandler; extern const void * RTTI_CreationRendererPrivate__ShadowMapInstanceRenderPass; extern const void * RTTI_CreationRendererPrivate__ShadowMapRenderPass; extern const void * RTTI_CreationRendererPrivate__ShadowMapSceneSetupRenderPass; extern const void * RTTI_CreationRendererPrivate__ShadowMapSubGraphRenderPass; extern const void * RTTI_CreationRendererPrivate__ShadowMaskRenderPass; extern const void * RTTI_CreationRendererPrivate__ShadowSubGraphRenderPass; extern const void * RTTI_CreationRendererPrivate__SharedIndexBuffer; extern const void * RTTI_CreationRendererPrivate__SharedMeshResourcesRegistry; extern const void * RTTI_CreationRendererPrivate__SharedMeshletCullingDataBuffer; extern const void * RTTI_CreationRendererPrivate__SiteLocator; extern const void * RTTI_CreationRendererPrivate__SkinnedDecalPrepareRenderPass; extern const void * RTTI_CreationRendererPrivate__SkinningRenderPass; extern const void * RTTI_CreationRendererPrivate__SkinningSystemEndFrameRenderPass; extern const void * RTTI_CreationRendererPrivate__SkinningSystemRenderPass; extern const void * RTTI_CreationRendererPrivate__SkyCubemapCelestialBodiesLightingRenderPass; extern const void * RTTI_CreationRendererPrivate__SkyCubemapRenderPass; extern const void * RTTI_CreationRendererPrivate__SkyCubemapSystemRenderPass; extern const void * RTTI_CreationRendererPrivate__SkyLightingRenderPass; extern const void * RTTI_CreationRendererPrivate__SkyOcclusionGenerateSHRenderPass; extern const void * RTTI_CreationRendererPrivate__SkyOcclusionMaskRenderPass; extern const void * RTTI_CreationRendererPrivate__SkyOcclusionRenderPass; extern const void * RTTI_CreationRendererPrivate__SkyOcclusionSystemRenderPass; extern const void * RTTI_CreationRendererPrivate__SobelSpaceGlareRenderPass; extern const void * RTTI_CreationRendererPrivate__SpaceGlareApplyRenderPass; extern const void * RTTI_CreationRendererPrivate__SpaceGlareCopyRenderPass; extern const void * RTTI_CreationRendererPrivate__SpaceGlareRenderPass; extern const void * RTTI_CreationRendererPrivate__SparseGridCell; extern const void * RTTI_CreationRendererPrivate__SporadicRenderGraphRenderPass; extern const void * RTTI_CreationRendererPrivate__StarfieldCoarseCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__StarfieldEventHandler; extern const void * RTTI_CreationRendererPrivate__StarfieldProcessStarsRenderPass; extern const void * RTTI_CreationRendererPrivate__StarfieldRenderPass; extern const void * RTTI_CreationRendererPrivate__StarfieldRenderPassBase; extern const void * RTTI_CreationRendererPrivate__StarfieldTiledCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__StarfieldTiledRenderRenderPass; extern const void * RTTI_CreationRendererPrivate__StarmapGravityWavesEventHandler; extern const void * RTTI_CreationRendererPrivate__StarmapGravityWavesRenderPass; extern const void * RTTI_CreationRendererPrivate__StarmapOrbitsEventHandler; extern const void * RTTI_CreationRendererPrivate__StarmapOrbitsRenderPass; extern const void * RTTI_CreationRendererPrivate__SubmitAndPresentThread; extern const void * RTTI_CreationRendererPrivate__SunDiskRenderPass; extern const void * RTTI_CreationRendererPrivate__SunDiskSkyCubemapRenderPass; extern const void * RTTI_CreationRendererPrivate__SwapChainEventHandler; extern const void * RTTI_CreationRendererPrivate__TemporalAA_idTech7RenderPass; extern const void * RTTI_CreationRendererPrivate__TerrainClipmapAndMIMRenderPass; extern const void * RTTI_CreationRendererPrivate__TerrainClipmapUpdateRenderPass; extern const void * RTTI_CreationRendererPrivate__TerrainDensityUpdateRenderPass; extern const void * RTTI_CreationRendererPrivate__TerrainDepthAndShadowsSubGraph; extern const void * RTTI_CreationRendererPrivate__TerrainDepthDrawRenderPass; extern const void * RTTI_CreationRendererPrivate__TerrainHeightFieldRenderPass; extern const void * RTTI_CreationRendererPrivate__TerrainMIMUpdateRenderPass; extern const void * RTTI_CreationRendererPrivate__TerrainRenderPass; extern const void * RTTI_CreationRendererPrivate__TerrainShadowsRenderPass; extern const void * RTTI_CreationRendererPrivate__TerrainTileDescriptionUpdateRenderPass; extern const void * RTTI_CreationRendererPrivate__ThinDeferredExteriorPixelCountRenderPass; extern const void * RTTI_CreationRendererPrivate__ThinDeferredGBufferRenderPass; extern const void * RTTI_CreationRendererPrivate__ThinDeferredLightingRenderPass; extern const void * RTTI_CreationRendererPrivate__ThinDeferredPrepareRenderPass; extern const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7BinLightsRenderPass; extern const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7CacheIndirectLightingRenderPass; extern const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7ClipLightsRenderPass; extern const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7CoarseBinLightsRenderPass; extern const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7CoarseIndirectArgsLightsRenderPass; extern const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7IndirectArgsLightsRenderPass; extern const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7InitBuffersRenderPass; extern const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7RenderPass; extern const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7ResolveLightBinsRenderPass; extern const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7SampleIndirectLightingRenderPass; extern const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7TransformVerticesLightsRenderPass; extern const void * RTTI_CreationRendererPrivate__TiledCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__TiledDeferredContactShadowsBlurXRenderPass; extern const void * RTTI_CreationRendererPrivate__TiledDeferredContactShadowsBlurYRenderPass; extern const void * RTTI_CreationRendererPrivate__TiledDeferredContactShadowsRenderPass; extern const void * RTTI_CreationRendererPrivate__TiledDeferredLightingDebugVisualizationRenderPass; extern const void * RTTI_CreationRendererPrivate__TiledDeferredLightingPrepareRenderPass; extern const void * RTTI_CreationRendererPrivate__TiledDeferredLightingProcessLightsRenderPass; extern const void * RTTI_CreationRendererPrivate__TiledDeferredLightingRecordIndirectArgsRenderPass; extern const void * RTTI_CreationRendererPrivate__TiledDepthRangeRenderPass; extern const void * RTTI_CreationRendererPrivate__TransparencyAwareShadowedScatteringRenderPass; extern const void * RTTI_CreationRendererPrivate__UIRenderPass; extern const void * RTTI_CreationRendererPrivate__UnsortedForwardBlendedPostMBOITRenderPass; extern const void * RTTI_CreationRendererPrivate__UnsortedForwardBlendedPreCloudsRenderPass; extern const void * RTTI_CreationRendererPrivate__UnsortedForwardBlendedPreMBOITRenderPass; extern const void * RTTI_CreationRendererPrivate__UnwarpEpipolarSamplingRenderPass; extern const void * RTTI_CreationRendererPrivate__UpdateMotionVectorHistoryRenderPass; extern const void * RTTI_CreationRendererPrivate__UpdatePreviousDepthBufferRenderPass; extern const void * RTTI_CreationRendererPrivate__UpdateSharedIndexBufferRenderPass; extern const void * RTTI_CreationRendererPrivate__UpscaleSubGraph; extern const void * RTTI_CreationRendererPrivate__VignetteRenderPass; extern const void * RTTI_CreationRendererPrivate__VolumetricLightingApplyRenderPass; extern const void * RTTI_CreationRendererPrivate__VolumetricLightingCullingRenderPass; extern const void * RTTI_CreationRendererPrivate__VolumetricLightingDistantRaymarchRenderPass; extern const void * RTTI_CreationRendererPrivate__VolumetricLightingDistantTemporalFilteringRenderPass; extern const void * RTTI_CreationRendererPrivate__VolumetricLightingDownsampleDepthRenderPass; extern const void * RTTI_CreationRendererPrivate__VolumetricLightingGenerateMaterialVolumeRenderPass; extern const void * RTTI_CreationRendererPrivate__VolumetricLightingIntegrateRenderPass; extern const void * RTTI_CreationRendererPrivate__VolumetricLightingNearSpatialFilteringRenderPass; extern const void * RTTI_CreationRendererPrivate__VolumetricLightingNearTemporalFilteringRenderPass; extern const void * RTTI_CreationRendererPrivate__VolumetricLightingProcessLightsRenderPass; extern const void * RTTI_CreationRendererPrivate__WaterDisplacementRenderPass; extern const void * RTTI_CreationRendererPrivate__WaterDisplacement_ConvertNormalsRenderPass; extern const void * RTTI_CreationRendererPrivate__WaterDisplacement_InjectionRenderPass; extern const void * RTTI_CreationRendererPrivate__WaterDisplacement_MainRenderPass; extern const void * RTTI_CreationRendererPrivate__WaterDisplacement_PlaceRipplesRenderPass; extern const void * RTTI_CreationRendererPrivate__WaterMVRenderPass; extern const void * RTTI_CreationRendererPrivate__WaterPrepareRenderPass; extern const void * RTTI_CreationRendererPrivate__WaterRenderGraphRenderPass; extern const void * RTTI_CreationRendererPrivate__WaterRenderPass; extern const void * RTTI_CreationRendererPrivate__WetnessOcclusionMaskRenderPass; extern const void * RTTI_CreationRendererPrivate__WindowEventHandler; extern const void * RTTI_CreationRendererPrivate__WorldCell; extern const void * RTTI_CreationRendererPrivate__XeSSProduceInputsRenderPass; extern const void * RTTI_CreationRendererPrivate__XeSSUpscaleRenderPass; extern const void * RTTI_CreationRenderer__ImageCaptureExportToFileNode; extern const void * RTTI_CreationRenderer__MaterialInstance__TextureVisitor; extern const void * RTTI_CreationRenderer__Messaging__MessageProcessor; extern const void * RTTI_CreationRenderer__Messaging__StreamedResourceNode; extern const void * RTTI_CreationRenderer__RendererQualityPref; extern const void * RTTI_CreationRenderer__RendererQualitySetting; extern const void * RTTI_CreationRenderer__RendererQualitySettingCollection; extern const void * RTTI_CreationUninstalledEventListener; extern const void * RTTI_CreationsLibraryData; extern const void * RTTI_CreationsLibraryDataModel; extern const void * RTTI_CreationsLibraryDataModel__CreationsLibraryModelEventShuttle; extern const void * RTTI_CreationsLibraryEntryData; extern const void * RTTI_CreditsDataModel; extern const void * RTTI_CreditsDataModel__CreditsDataModelEventShuttle; extern const void * RTTI_CreditsMenu; extern const void * RTTI_CrewExtraData; extern const void * RTTI_CriticallyDampenVariable; extern const void * RTTI_CriticallyDampenVariableInstance; extern const void * RTTI_CrowdInhibitNullStrategy; extern const void * RTTI_CrowdInhibitStrategyDefault; extern const void * RTTI_CrowdInhibitStrategyDisable; extern const void * RTTI_CrowdManager; extern const void * RTTI_CrowdWallaBubble; extern const void * RTTI_CullFurnitureBoneHandler; extern const void * RTTI_CullWeaponsHandler; extern const void * RTTI_CumulativeAnimation; extern const void * RTTI_CumulativeAnimationInstance; extern const void * RTTI_CureEffect; extern const void * RTTI_CursorMenu; extern const void * RTTI_CursorMenu__CursorGameEventShuttle; extern const void * RTTI_CursorMoveEvent; extern const void * RTTI_CurvedPathBlender; extern const void * RTTI_CurvedPathBlenderInstance; extern const void * RTTI_CustomActorPackageData; extern const void * RTTI_CustomUtils__HasForceGreetVisitor; extern const void * RTTI_D3D12MA__BlockMetadata; extern const void * RTTI_D3D12MA__BlockMetadata_Generic; extern const void * RTTI_D3D12MA__MemoryBlock; extern const void * RTTI_D3D12MA__NormalBlock; extern const void * RTTI_DamageEffect; extern const void * RTTI_DampenVariable; extern const void * RTTI_DampenVariableInstance; extern const void * RTTI_DarknessEffect; extern const void * RTTI_DataMenu; extern const void * RTTI_DataMenuDataModel; extern const void * RTTI_DataMenuDataModel__DataMenuEventShuttle; extern const void * RTTI_DataMenuInventoryItem; extern const void * RTTI_DataMenuPersistentDataModel; extern const void * RTTI_DataMenuPersistentDataModel__DataMenuPersistentDataEventShuttle; extern const void * RTTI_DataMenu_CloseMenu; extern const void * RTTI_DataMenu_ClosedForSubMenu; extern const void * RTTI_DataMenu_Missions; extern const void * RTTI_DataMenu_OpenPauseMenu; extern const void * RTTI_DataMenu_PlotToLocation; extern const void * RTTI_DataMenu_Reopened; extern const void * RTTI_DataMenu_SelectedAlmanacMenu; extern const void * RTTI_DataMenu_SelectedAttributesMenu; extern const void * RTTI_DataMenu_SelectedInventoryMenu; extern const void * RTTI_DataMenu_SelectedMapMenu; extern const void * RTTI_DataMenu_SelectedPowersMenu; extern const void * RTTI_DataMenu_SelectedShipMenu; extern const void * RTTI_DataMenu_SelectedStatusMenu; extern const void * RTTI_DataMenu_SetMenuForQuickEntry; extern const void * RTTI_DataMenu_SetPaperDollActive; extern const void * RTTI_DataMenu_StartCloseAnim; extern const void * RTTI_DataSlateButtons; extern const void * RTTI_DataSlateButtons_acceptClicked; extern const void * RTTI_DataSlateButtons_cancelClicked; extern const void * RTTI_DataSlateMenu; extern const void * RTTI_DataSlateMenu__DataSlateData; extern const void * RTTI_DataSlateMenu__DataSlateEventShuttle; extern const void * RTTI_DataSlateMenu_playSFX; extern const void * RTTI_DataSlateMenu_toggleAudio; extern const void * RTTI_DeathEmoteHandler; extern const void * RTTI_DeathStopHandler; extern const void * RTTI_DefaultCollection; extern const void * RTTI_DefaultMessageBoxCallback; extern const void * RTTI_DeferredDeletion__IDeferredDeleter; extern const void * RTTI_DeferredDeletion__IGCService; extern const void * RTTI_DemoralizeEffect; extern const void * RTTI_DependentAnimationGraphManagerHolder; extern const void * RTTI_DescriptionBox; extern const void * RTTI_DesyncInteractionHandler; extern const void * RTTI_DetectLifeEffect; extern const void * RTTI_DetectionCollector; extern const void * RTTI_DetectionDebugData; extern const void * RTTI_DetectionState; extern const void * RTTI_DeviceChangeEvent; extern const void * RTTI_DeviceChangeHandler; extern const void * RTTI_DeviceConnectEvent; extern const void * RTTI_DialogueCameraState; extern const void * RTTI_DialogueMenu; extern const void * RTTI_DialogueMenu_CompleteExit; extern const void * RTTI_DialogueMenu_OnDialogueSelect; extern const void * RTTI_DialogueMenu_OnListVisibilityChange; extern const void * RTTI_DialogueMenu_OnPersuasionAutoWin; extern const void * RTTI_DialogueMenu_RequestExit; extern const void * RTTI_DialogueMenu_RequestSkipDialogue; extern const void * RTTI_DialoguePackage; extern const void * RTTI_DialogueUIDataModel; extern const void * RTTI_DialogueUIDataModel__DialogueData; extern const void * RTTI_DialogueUIDataModel__DialogueEntryData; extern const void * RTTI_DialogueUIDataModel__DialogueListData; extern const void * RTTI_DialogueUIDataModel__DialogueUIDataEventShuttle; extern const void * RTTI_DialogueUIDataModel__PersuasionEntryData; extern const void * RTTI_DialogueUIDataModel__PersuasionListData; extern const void * RTTI_DialogueUIDataModel__PersuasionPointsData; extern const void * RTTI_DirectAtNode; extern const void * RTTI_DirectAtNodeInstance; extern const void * RTTI_DisableCharacterBumperHandler; extern const void * RTTI_DisableCharacterControllerHandler; extern const void * RTTI_DisableCharacterPitchHandler; extern const void * RTTI_DisableCollisionHandler; extern const void * RTTI_DisarmEffect; extern const void * RTTI_DisconnectHandler; extern const void * RTTI_DisguiseEffect; extern const void * RTTI_DisguiseEffect__DetectionChecker; extern const void * RTTI_DispelEffect; extern const void * RTTI_DiveBombPathController; extern const void * RTTI_DoNotInterruptAnimationHandler; extern const void * RTTI_DocAcceptDataModel; extern const void * RTTI_DocAcceptDataModel__DocAcceptEventShuttle; extern const void * RTTI_DocAcceptMenu; extern const void * RTTI_DocAcceptMenu_Accept; extern const void * RTTI_DoorObstacleAdapter; extern const void * RTTI_DownloadAll; extern const void * RTTI_DownloadProgressBar; extern const void * RTTI_DownloadableContent; extern const void * RTTI_DownloadingPopUp; extern const void * RTTI_DropResourcesEffect; extern const void * RTTI_DrugsCraftingMenu; extern const void * RTTI_DualDirectAtNode; extern const void * RTTI_DualDirectAtNodeInstance; extern const void * RTTI_DualValueModifierEffect; extern const void * RTTI_DynamicAnimationNode; extern const void * RTTI_DynamicAnimationNodeInstance; extern const void * RTTI_DynamicGraphReference; extern const void * RTTI_DynamicGraphReferenceInstance; extern const void * RTTI_DynamicIdleDataSingletonHelper; extern const void * RTTI_DynamicNavMeshTask; extern const void * RTTI_DynamicNavMeshTaskCellRemap; extern const void * RTTI_DynamicNavMeshTaskStitching; extern const void * RTTI_DynamicNavmesh; extern const void * RTTI_DynamicNavmeshService; extern const void * RTTI_EffectArchetypes__MainStatusHandler; extern const void * RTTI_EffectSequenceMap; extern const void * RTTI_EffectSequenceNode; extern const void * RTTI_EffectSequenceNodeInstance; extern const void * RTTI_EffectSequence__EffectSequenceManager; extern const void * RTTI_EffectSequence__IFormInitialized; extern const void * RTTI_EffectSetting; extern const void * RTTI_EjectShellCasingHandler; extern const void * RTTI_EmittanceManagerAgent; extern const void * RTTI_EmitterProjectile; extern const void * RTTI_EmptyDependencyFormPointerMapValue; extern const void * RTTI_EnableCharacterBumperHandler; extern const void * RTTI_EnableCharacterControllerHandler; extern const void * RTTI_EnableCharacterPitchHandler; extern const void * RTTI_EnableCollisionHandler; extern const void * RTTI_EnchantmentItem; extern const void * RTTI_EndGameCreditsMenu; extern const void * RTTI_EndSecurityMinigameHandler; extern const void * RTTI_EndSummonAnimationHandler; extern const void * RTTI_EnhanceWeaponEffect; extern const void * RTTI_EnsureAliasCanBePickpocketedFunc; extern const void * RTTI_EquippedItemData; extern const void * RTTI_EquippedSpell__Data; extern const void * RTTI_EquippedWeapon__AimModule; extern const void * RTTI_EquippedWeapon__AmmunitionModule; extern const void * RTTI_EquippedWeapon__AudioModule; extern const void * RTTI_EquippedWeapon__Data; extern const void * RTTI_EquippedWeapon__IModule; extern const void * RTTI_EquippedWeapon__MeleeAttackModule; extern const void * RTTI_EquippedWeapon__PowerModule; extern const void * RTTI_EquippedWeapon__RangedAttackModule; extern const void * RTTI_EquippedWeapon__VariableRangeModule; extern const void * RTTI_EquippedWeapon__VisualModule; extern const void * RTTI_EtherealizationEffect; extern const void * RTTI_EvaluateConditionVariable; extern const void * RTTI_EvaluateConditionVariableInstance; extern const void * RTTI_EventController; extern const void * RTTI_EventControllerInstance; extern const void * RTTI_EventDispatcherBackend; extern const void * RTTI_EventFromRange; extern const void * RTTI_EventFromRangeInstance; extern const void * RTTI_EveryNEvents; extern const void * RTTI_EveryNEventsInstance; extern const void * RTTI_ExecuteOnAliasedRefFunc; extern const void * RTTI_ExitChargen_ConfirmCallback; extern const void * RTTI_ExitVehicleEvent; extern const void * RTTI_Explosion; extern const void * RTTI_ExplosionClosestHitCollector; extern const void * RTTI_Explosion__Manager; extern const void * RTTI_ExplosiveIndicatorDataModel; extern const void * RTTI_ExplosiveIndicatorDataModel__ExplosiveIndicatorEventShuttle; extern const void * RTTI_ExternalDataSourceMainStatusHandler; extern const void * RTTI_ExtraAcousticParent; extern const void * RTTI_ExtraAction; extern const void * RTTI_ExtraActivateRef; extern const void * RTTI_ExtraActivateText; extern const void * RTTI_ExtraActorCause; extern const void * RTTI_ExtraActorValueStorage; extern const void * RTTI_ExtraAliasInstanceArray; extern const void * RTTI_ExtraAmmo; extern const void * RTTI_ExtraAnimGraphManager; extern const void * RTTI_ExtraAnimGraphPreload; extern const void * RTTI_ExtraAnimSounds; extern const void * RTTI_ExtraAshPileRef; extern const void * RTTI_ExtraAttachRef; extern const void * RTTI_ExtraAttachRefChildren; extern const void * RTTI_ExtraAttachedArrows3D; extern const void * RTTI_ExtraBadPosition; extern const void * RTTI_ExtraBendableSplineParams; extern const void * RTTI_ExtraBlueprintPartOriginData; extern const void * RTTI_ExtraBody; extern const void * RTTI_ExtraBoneScaleMap; extern const void * RTTI_ExtraBountyCrimeList; extern const void * RTTI_ExtraCachedScale; extern const void * RTTI_ExtraCalcedPackIn; extern const void * RTTI_ExtraCanTalkToPlayer; extern const void * RTTI_ExtraCannotWear; extern const void * RTTI_ExtraCell3D; extern const void * RTTI_ExtraCellAcousticSpace; extern const void * RTTI_ExtraCellEnvMap; extern const void * RTTI_ExtraCellGlobalDirtLayer; extern const void * RTTI_ExtraCellImageSpace; extern const void * RTTI_ExtraCellMusicType; extern const void * RTTI_ExtraCellSkyRegion; extern const void * RTTI_ExtraCellWaterEnvMap; extern const void * RTTI_ExtraCellWaterType; extern const void * RTTI_ExtraCharge; extern const void * RTTI_ExtraCollisionData; extern const void * RTTI_ExtraCombatStyle; extern const void * RTTI_ExtraConstrainedDecalData; extern const void * RTTI_ExtraCount; extern const void * RTTI_ExtraCreatureAwakeSound; extern const void * RTTI_ExtraCulledBone; extern const void * RTTI_ExtraCulledSubsegment; extern const void * RTTI_ExtraDirectAtTarget; extern const void * RTTI_ExtraDroppedItemList; extern const void * RTTI_ExtraEditorID; extern const void * RTTI_ExtraEditorRefMoveData; extern const void * RTTI_ExtraEmittanceSource; extern const void * RTTI_ExtraEnableStateChildren; extern const void * RTTI_ExtraEnableStateParent; extern const void * RTTI_ExtraEnchantment; extern const void * RTTI_ExtraEncounterZone; extern const void * RTTI_ExtraEssentialProtected; extern const void * RTTI_ExtraExteriorReflectionProbeAdjustmentVolume; extern const void * RTTI_ExtraExternalEmittanceData; extern const void * RTTI_ExtraFXPickNodes; extern const void * RTTI_ExtraFactionChanges; extern const void * RTTI_ExtraFavorCost; extern const void * RTTI_ExtraFavorite; extern const void * RTTI_ExtraFlags; extern const void * RTTI_ExtraFogVolume; extern const void * RTTI_ExtraFollower; extern const void * RTTI_ExtraFollowerSwimBreadcrumbs; extern const void * RTTI_ExtraForcedLandingMarker; extern const void * RTTI_ExtraForcedTarget; extern const void * RTTI_ExtraFriendHits; extern const void * RTTI_ExtraFromAlias; extern const void * RTTI_ExtraFurnitureEntryData; extern const void * RTTI_ExtraGeometryDirtynessScale; extern const void * RTTI_ExtraGhost; extern const void * RTTI_ExtraGlobal; extern const void * RTTI_ExtraGroupedPackin; extern const void * RTTI_ExtraGuardedRefData; extern const void * RTTI_ExtraHasNoRumors; extern const void * RTTI_ExtraHavok; extern const void * RTTI_ExtraHeadTrackingWeight; extern const void * RTTI_ExtraHeadingTarget; extern const void * RTTI_ExtraHealth; extern const void * RTTI_ExtraHorse; extern const void * RTTI_ExtraIgnoredAttractKeywords; extern const void * RTTI_ExtraIgnoredBySandbox; extern const void * RTTI_ExtraInitActions; extern const void * RTTI_ExtraInputEnableLayer; extern const void * RTTI_ExtraInstanceData; extern const void * RTTI_ExtraInteraction; extern const void * RTTI_ExtraInvestedGold; extern const void * RTTI_ExtraItemDropper; extern const void * RTTI_ExtraKeywords; extern const void * RTTI_ExtraLargeRefOwnerCells; extern const void * RTTI_ExtraLastFinishedSequence; extern const void * RTTI_ExtraLegendary; extern const void * RTTI_ExtraLevCreaModifier; extern const void * RTTI_ExtraLeveledBaseObject; extern const void * RTTI_ExtraLeveledCreature; extern const void * RTTI_ExtraLeveledItem; extern const void * RTTI_ExtraLight; extern const void * RTTI_ExtraLightAreaData; extern const void * RTTI_ExtraLightBarndoorData; extern const void * RTTI_ExtraLightColorData; extern const void * RTTI_ExtraLightData; extern const void * RTTI_ExtraLightFlickerData; extern const void * RTTI_ExtraLightGoboData; extern const void * RTTI_ExtraLightLayerData; extern const void * RTTI_ExtraLightRoundnessData; extern const void * RTTI_ExtraLightStaticShadowMapData; extern const void * RTTI_ExtraLightVolumetricData; extern const void * RTTI_ExtraLinkedChildrenAliasInstanceArray; extern const void * RTTI_ExtraLinkedRef; extern const void * RTTI_ExtraLinkedRefChildren; extern const void * RTTI_ExtraLitWaterRefs; extern const void * RTTI_ExtraLocation; extern const void * RTTI_ExtraLocationRefType; extern const void * RTTI_ExtraLock; extern const void * RTTI_ExtraLockList; extern const void * RTTI_ExtraMagicCaster; extern const void * RTTI_ExtraMapMarker; extern const void * RTTI_ExtraMaterialSwap; extern const void * RTTI_ExtraMissingRefIDs; extern const void * RTTI_ExtraModIndex; extern const void * RTTI_ExtraModRank; extern const void * RTTI_ExtraModelSwap; extern const void * RTTI_ExtraNavMeshPortal; extern const void * RTTI_ExtraNorthRotation; extern const void * RTTI_ExtraObjectBreakable; extern const void * RTTI_ExtraObjectSavedDynamicIdles; extern const void * RTTI_ExtraObjectSavedUnrecoverableSubgraphs; extern const void * RTTI_ExtraOcclusionPlaneRefData; extern const void * RTTI_ExtraOpenCloseActivateRef; extern const void * RTTI_ExtraOriginalBaseObject; extern const void * RTTI_ExtraOriginalReference; extern const void * RTTI_ExtraOutfitItem; extern const void * RTTI_ExtraOwnership; extern const void * RTTI_ExtraOwningInstance; extern const void * RTTI_ExtraPackage; extern const void * RTTI_ExtraPackageData; extern const void * RTTI_ExtraPackageStartLocation; extern const void * RTTI_ExtraPatrolRefData; extern const void * RTTI_ExtraPatrolRefInUseData; extern const void * RTTI_ExtraPersistentCell; extern const void * RTTI_ExtraPlacedPlanetContent; extern const void * RTTI_ExtraPlayerCrimeList; extern const void * RTTI_ExtraPoison; extern const void * RTTI_ExtraPowerArmor; extern const void * RTTI_ExtraPowerArmorPreload; extern const void * RTTI_ExtraPowerLinks; extern const void * RTTI_ExtraPrimitive; extern const void * RTTI_ExtraProceduralInstanceData; extern const void * RTTI_ExtraProcessMiddleLow; extern const void * RTTI_ExtraProjectedDecalData; extern const void * RTTI_ExtraPromotedRef; extern const void * RTTI_ExtraPropertySheet; extern const void * RTTI_ExtraRadioData; extern const void * RTTI_ExtraRadioReceiver; extern const void * RTTI_ExtraRadioRepeater; extern const void * RTTI_ExtraRadius; extern const void * RTTI_ExtraRadiusFalloffExponent; extern const void * RTTI_ExtraRagDollData; extern const void * RTTI_ExtraRandomAnimStartTime; extern const void * RTTI_ExtraRandomTeleportMarker; extern const void * RTTI_ExtraRangedDistOverride; extern const void * RTTI_ExtraRank; extern const void * RTTI_ExtraRefWeaponSounds; extern const void * RTTI_ExtraReferenceGroup; extern const void * RTTI_ExtraReferenceHandles; extern const void * RTTI_ExtraReflectedRefs; extern const void * RTTI_ExtraReflectorRefs; extern const void * RTTI_ExtraRefrPath; extern const void * RTTI_ExtraRefractionProperty; extern const void * RTTI_ExtraRegionList; extern const void * RTTI_ExtraReservedMarkers; extern const void * RTTI_ExtraRoomRefData; extern const void * RTTI_ExtraRunOncePacks; extern const void * RTTI_ExtraSavedAnimation; extern const void * RTTI_ExtraSavedHavokData; extern const void * RTTI_ExtraSayToTopicInfo; extern const void * RTTI_ExtraSayTopicInfoOnceADay; extern const void * RTTI_ExtraScale; extern const void * RTTI_ExtraSceneData; extern const void * RTTI_ExtraScriptedAnimDependence; extern const void * RTTI_ExtraSeed; extern const void * RTTI_ExtraSeenData; extern const void * RTTI_ExtraShipArrivalData; extern const void * RTTI_ExtraShipBlueprintSnapData; extern const void * RTTI_ExtraShouldWear; extern const void * RTTI_ExtraSnapLinks; extern const void * RTTI_ExtraSoul; extern const void * RTTI_ExtraSound; extern const void * RTTI_ExtraSoundHook; extern const void * RTTI_ExtraSourcePackIn; extern const void * RTTI_ExtraSpawnContainer; extern const void * RTTI_ExtraStartingPosition; extern const void * RTTI_ExtraStartingWorldOrCell; extern const void * RTTI_ExtraTeleport; extern const void * RTTI_ExtraTeleportName; extern const void * RTTI_ExtraTempLocationWorldSpace; extern const void * RTTI_ExtraTerminalMenuBodyTextItems; extern const void * RTTI_ExtraTerminalMenuItems; extern const void * RTTI_ExtraTerminalMenuMenuItems; extern const void * RTTI_ExtraTerminalMenuUnlockedItems; extern const void * RTTI_ExtraTextDisplayData; extern const void * RTTI_ExtraTimeLeft; extern const void * RTTI_ExtraTimeOfDayData; extern const void * RTTI_ExtraTransitionCellCount; extern const void * RTTI_ExtraTraversalData; extern const void * RTTI_ExtraTresPassPackage; extern const void * RTTI_ExtraUniqueID; extern const void * RTTI_ExtraUsedMarkers; extern const void * RTTI_ExtraVoiceType; extern const void * RTTI_ExtraVolumeData; extern const void * RTTI_ExtraVolumeReflectionProbe_OffsetIntensity; extern const void * RTTI_ExtraWaterCurrentZoneData; extern const void * RTTI_ExtraWaterData; extern const void * RTTI_ExtraWaterLightRefs; extern const void * RTTI_ExtraWaterReflectionData; extern const void * RTTI_ExtraWorkshopSnapping; extern const void * RTTI_ExtraWwiseSwitchData; extern const void * RTTI_EyeTrackingOffHandler; extern const void * RTTI_EyeTrackingOnHandler; extern const void * RTTI_FACEFX_ACTOR; extern const void * RTTI_FACEFX_BONESET; extern const void * RTTI_FOCollisionListener; extern const void * RTTI_FaceEmotionalIdleHandler; extern const void * RTTI_FaderMenu; extern const void * RTTI_FanfareData; extern const void * RTTI_FanfareMenu; extern const void * RTTI_FanfareMenu__FanfareEventShuttle; extern const void * RTTI_FarTravel__Arrival; extern const void * RTTI_FarTravel__Cruise; extern const void * RTTI_FarTravel__Departure; extern const void * RTTI_FarTravel__FarTravelOrbitalUpdateFadeDone; extern const void * RTTI_FarTravel__FarTravelUnloadNode; extern const void * RTTI_FarTravel__UpdateGalacticPositions; extern const void * RTTI_FavoritesManager; extern const void * RTTI_FavoritesManager__FavoritesData; extern const void * RTTI_FavoritesManager__FavoritesEntryData; extern const void * RTTI_FavoritesManager__FavoritesUIDataEventShuttle; extern const void * RTTI_FavoritesMenu; extern const void * RTTI_FavoritesMenu_AssignQuickkey; extern const void * RTTI_FavoritesMenu_UseQuickkey; extern const void * RTTI_FilterSideBar; extern const void * RTTI_FindConnectedNavmeshInfosVisitor; extern const void * RTTI_FindDynamicNeighborsTask; extern const void * RTTI_FindEffectKeywordOnTargetFunctor; extern const void * RTTI_FindTriangleForLocationFilter; extern const void * RTTI_FindTriangleForLocationFilterCheckDeltaZ; extern const void * RTTI_FindTriangleForLocationTraversableFilter; extern const void * RTTI_FindTriangleForLocationWaterFilter; extern const void * RTTI_FireForgetModel; extern const void * RTTI_FireForgetModel__FireForgetEventShuttle; extern const void * RTTI_FireParticlesCollidedWithBodiesCallbackTask; extern const void * RTTI_FireParticlesCollidedWithParticlesCallbackTask; extern const void * RTTI_FireParticlesExitedSafeRegionCallbackTask; extern const void * RTTI_FirstPersonState; extern const void * RTTI_FlameProjectile; extern const void * RTTI_FleePackage; extern const void * RTTI_FlightActionEndHandler; extern const void * RTTI_FlightActionEntryEndHandler; extern const void * RTTI_FlightActionHandler; extern const void * RTTI_FlightCameraState; extern const void * RTTI_FlightCrashLandStartHandler; extern const void * RTTI_FlightCruisingHandler; extern const void * RTTI_FlightHoveringHandler; extern const void * RTTI_FlightLandEndHandler; extern const void * RTTI_FlightLandHandler; extern const void * RTTI_FlightLandingHandler; extern const void * RTTI_FlightPerchingHandler; extern const void * RTTI_FlightTakeOffHandler; extern const void * RTTI_Float3LightAnimData; extern const void * RTTI_Float4LightAnimData; extern const void * RTTI_FloatLightAnimData; extern const void * RTTI_FoodCraftingMenu; extern const void * RTTI_FootIKNode; extern const void * RTTI_FootIKNodeInstance; extern const void * RTTI_ForceWeaponFireHandler; extern const void * RTTI_FormStreamerLoadStorageWrapper; extern const void * RTTI_FormStreamerSaveStorageWrapper; extern const void * RTTI_FrameInterpolationSwapChainDX12; extern const void * RTTI_FreeAdvancedCameraState; extern const void * RTTI_FreeFlyCameraState; extern const void * RTTI_FreeTetheredCameraState; extern const void * RTTI_FreeWalkCameraState; extern const void * RTTI_FrenzyEffect; extern const void * RTTI_FurnitureCameraState; extern const void * RTTI_FurnitureMarkerNavmeshPositionCache; extern const void * RTTI_GPUCaptureHandler; extern const void * RTTI_Gallery_Entry; extern const void * RTTI_GameBIEvents__ClientSettingsBIEvents; extern const void * RTTI_GameBIEvents__PlayerBIEvents; extern const void * RTTI_GameMenuBase; extern const void * RTTI_GameScript__ActorValueEventHandler; extern const void * RTTI_GameScript__AffinityEventHandler; extern const void * RTTI_GameScript__AnimCallbackMgr; extern const void * RTTI_GameScript__BasicEventHandler; extern const void * RTTI_GameScript__BuilderEventHandler; extern const void * RTTI_GameScript__ChallengeEventHandler; extern const void * RTTI_GameScript__CombatEventHandler; extern const void * RTTI_GameScript__CustomEventHandler; extern const void * RTTI_GameScript__DataFileHandleReaderWriter; extern const void * RTTI_GameScript__DebuggerMessages__ContinueRequest; extern const void * RTTI_GameScript__DebuggerMessages__DisconnectRequest; extern const void * RTTI_GameScript__DebuggerMessages__Event; extern const void * RTTI_GameScript__DebuggerMessages__NextRequest; extern const void * RTTI_GameScript__DebuggerMessages__OutputEvent; extern const void * RTTI_GameScript__DebuggerMessages__PauseRequest; extern const void * RTTI_GameScript__DebuggerMessages__ProtocolMessage; extern const void * RTTI_GameScript__DebuggerMessages__Request; extern const void * RTTI_GameScript__DebuggerMessages__Response; extern const void * RTTI_GameScript__DebuggerMessages__SetBreakpointsRequest; extern const void * RTTI_GameScript__DebuggerMessages__SetBreakpointsResponse; extern const void * RTTI_GameScript__DebuggerMessages__StackTraceRequest; extern const void * RTTI_GameScript__DebuggerMessages__StackTraceResponse; extern const void * RTTI_GameScript__DebuggerMessages__StepInRequest; extern const void * RTTI_GameScript__DebuggerMessages__StepOutRequest; extern const void * RTTI_GameScript__DebuggerMessages__StoppedEvent; extern const void * RTTI_GameScript__DebuggerMessages__ThreadEvent; extern const void * RTTI_GameScript__DebuggerMessages__ThreadsRequest; extern const void * RTTI_GameScript__DebuggerMessages__ThreadsResponse; extern const void * RTTI_GameScript__DebuggerMessages__ValueRequest; extern const void * RTTI_GameScript__DebuggerMessages__ValueResponse; extern const void * RTTI_GameScript__DebuggerMessages__VariablesRequest; extern const void * RTTI_GameScript__DebuggerMessages__VariablesResponse; extern const void * RTTI_GameScript__DebuggerMessages__VersionEvent; extern const void * RTTI_GameScript__DelayFunctor; extern const void * RTTI_GameScript__DelayFunctorFactory; extern const void * RTTI_GameScript__DistanceEventHandler; extern const void * RTTI_GameScript__FragmentEventHandler; extern const void * RTTI_GameScript__HandlePolicy; extern const void * RTTI_GameScript__Internal__AnimationCallbacks; extern const void * RTTI_GameScript__Internal__LOSDetectionEventData; extern const void * RTTI_GameScript__Internal__LOSDirectEventData; extern const void * RTTI_GameScript__Internal__LOSEventData; extern const void * RTTI_GameScript__InventoryEventHandler; extern const void * RTTI_GameScript__LOSEventHandler; extern const void * RTTI_GameScript__Logger; extern const void * RTTI_GameScript__MenuEventHandler; extern const void * RTTI_GameScript__ObjectBindPolicy; extern const void * RTTI_GameScript__PathingCallbackMgr; extern const void * RTTI_GameScript__Profiler; extern const void * RTTI_GameScript__QuestCallbackMgr; extern const void * RTTI_GameScript__RemoteDebugger; extern const void * RTTI_GameScript__SaveFileHandleReaderWriter; extern const void * RTTI_GameScript__SavePatcher; extern const void * RTTI_GameScript__ScriptSpaceCellCreateComplete; extern const void * RTTI_GameScript__ScriptSpaceshipCreateComplete; extern const void * RTTI_GameScript__SleepEventHandler; extern const void * RTTI_GameScript__SoundCallbackMgr; extern const void * RTTI_GameScript__SpaceshipEventHandler; extern const void * RTTI_GameScript__Store; extern const void * RTTI_GameScript__TeleportEventHandler; extern const void * RTTI_GameScript__TimerEventHandler; extern const void * RTTI_GameScript__TrackedStatsEventHandler; extern const void * RTTI_GameScript__WaitEventHandler; extern const void * RTTI_GameSettingCollection; extern const void * RTTI_GameUIGlobalFunc; extern const void * RTTI_GameUIModel; extern const void * RTTI_GameVM; extern const void * RTTI_GamebryoSequence; extern const void * RTTI_GamebryoSequenceInstance; extern const void * RTTI_GenerateMappingToPointsBufferTask; extern const void * RTTI_GenerateObstacleTask; extern const void * RTTI_GenericFrameUpdateOperationsService; extern const void * RTTI_GetBestAmmoFunctor; extern const void * RTTI_GetBestCutterFunctor; extern const void * RTTI_GetBestLightFunctor; extern const void * RTTI_GetBestWeaponFunctor; extern const void * RTTI_GetMagicItemDescriptionFunctor; extern const void * RTTI_GetUpEndHandler; extern const void * RTTI_GetUpStartHandler; extern const void * RTTI_GlobalDirtOverlayManager; extern const void * RTTI_GlobalFunc_CloseAllMenus; extern const void * RTTI_GlobalFunc_CloseMenu; extern const void * RTTI_GlobalFunc_PlayMenuSound; extern const void * RTTI_GlobalFunc_StartGameRender; extern const void * RTTI_GlobalFunc_UserEvent; extern const void * RTTI_GraphReferenceNode; extern const void * RTTI_GraphReferenceNodeInstance; extern const void * RTTI_GraphicsInfoDataModel; extern const void * RTTI_GravJumpInitiateCompleteHandler; extern const void * RTTI_GravJumpSearch; extern const void * RTTI_GravityWielderEffect; extern const void * RTTI_GrenadeProjectile; extern const void * RTTI_GridArray; extern const void * RTTI_GridCellArray; extern const void * RTTI_GroundPathPathingNodeGenerator; extern const void * RTTI_GroundPathRayValidator; extern const void * RTTI_GuardActorPackageData; extern const void * RTTI_GuideEffect; extern const void * RTTI_HUDAmmoCountModel; extern const void * RTTI_HUDAmmoCountModel__HUDAmmoCountModelShuttle; extern const void * RTTI_HUDCommandIconData; extern const void * RTTI_HUDCompassDataModel; extern const void * RTTI_HUDCrewBuffDataModel; extern const void * RTTI_HUDCrosshairDataModel; extern const void * RTTI_HUDCrosshairDataModel__HUDCrosshairEventShuttle; extern const void * RTTI_HUDDataModel; extern const void * RTTI_HUDDataModel__HUDDataEventShuttle; extern const void * RTTI_HUDDirectionalHitIndicatorDataModel; extern const void * RTTI_HUDEnemyDataModel; extern const void * RTTI_HUDEnemyDataModel__HUDEnemyEventShuttle; extern const void * RTTI_HUDExperienceMeterDataModel; extern const void * RTTI_HUDExperienceMeterDataModel__HUDExperienceMeterEventShuttle; extern const void * RTTI_HUDJetpackDataModel; extern const void * RTTI_HUDLocationDataModel; extern const void * RTTI_HUDMenu; extern const void * RTTI_HUDMessageDataModel; extern const void * RTTI_HUDMessagesMenu; extern const void * RTTI_HUDNotification_MissionActiveWidgetUpdate; extern const void * RTTI_HUDNotification_OpenDataMenu; extern const void * RTTI_HUDNotification_OpenMissionMenu; extern const void * RTTI_HUDNotification_SetMissionActive; extern const void * RTTI_HUDNotificationsModel; extern const void * RTTI_HUDNotificationsModel__HUDNotificationsEventShuttle; extern const void * RTTI_HUDOpacityModel; extern const void * RTTI_HUDOpacityModel__HUDOpacityEventShuttle; extern const void * RTTI_HUDRolloverActivationButtonEvent; extern const void * RTTI_HUDRolloverActivationCompanionListener; extern const void * RTTI_HUDRolloverActivationCorpseListener; extern const void * RTTI_HUDRolloverActivationDisplayCaseListener; extern const void * RTTI_HUDRolloverActivationDoorListener; extern const void * RTTI_HUDRolloverActivationFallbackListener; extern const void * RTTI_HUDRolloverActivationLootListener; extern const void * RTTI_HUDRolloverActivationNPCListener; extern const void * RTTI_HUDRolloverActivationOutpostItemListener; extern const void * RTTI_HUDRolloverActivationOutpostListener; extern const void * RTTI_HUDRolloverActivationOutpostQCListener; extern const void * RTTI_HUDRolloverActivationQCItemPressEvent; extern const void * RTTI_HUDRolloverActivationQuickContainerListener; extern const void * RTTI_HUDRolloverActivationShipContainerListener; extern const void * RTTI_HUDRolloverActivationTeammateListener; extern const void * RTTI_HUDRolloverActivationTerminalListener; extern const void * RTTI_HUDRolloverDataModel; extern const void * RTTI_HUDSocialCommandData; extern const void * RTTI_HUDSocialCommandDataModel; extern const void * RTTI_HUDSocialCommandDataModel__HUDSocialCommandDataEventShuttle; extern const void * RTTI_HUDStarbornPowersDataModel; extern const void * RTTI_HUDStarbornPowersDataModel__HUDStarbornPowersEventShuttle; extern const void * RTTI_HUDStealthDataModel; extern const void * RTTI_HUDStealthDataModel__HUDStealthEventShuttle; extern const void * RTTI_HUDSubtitleDataModel; extern const void * RTTI_HUDSubtitleDataModel__HUDSubtitleEventShuttle; extern const void * RTTI_HUDVehicleData; extern const void * RTTI_HUDWatchEffectsModel; extern const void * RTTI_HUDWatchEffectsModel__HUDWatchEffectsModelShuttle; extern const void * RTTI_HangarShipSelection_ChangeSystemDisplay; extern const void * RTTI_HangarShipSelection_RepairShip; extern const void * RTTI_HangarShipSelection_UpgradeSystem; extern const void * RTTI_HasSpellVisitor; extern const void * RTTI_HavokErrorCRTestApp; extern const void * RTTI_HavokFileStreambufWriter; extern const void * RTTI_HavokParticleDef__BaseShape; extern const void * RTTI_HavokParticleDef__BoxShape; extern const void * RTTI_HavokParticleDef__CapsuleShape; extern const void * RTTI_HavokParticleDef__ConvexShape; extern const void * RTTI_HavokParticleDef__CubeShape; extern const void * RTTI_HavokParticleDef__CylinderShape; extern const void * RTTI_HavokParticleDef__SphereShape; extern const void * RTTI_HavokStreambufFactory; extern const void * RTTI_Hazard; extern const void * RTTI_HazardTargetFinderHavok; extern const void * RTTI_HeadTrackingOffHandler; extern const void * RTTI_HeadTrackingOnHandler; extern const void * RTTI_HeadTrackingRotationOffHandler; extern const void * RTTI_HeadTrackingRotationOnHandler; extern const void * RTTI_HealthDamageFunctor; extern const void * RTTI_HeapAllocator; extern const void * RTTI_HelpData; extern const void * RTTI_HelpDataModel; extern const void * RTTI_HelpDataModel__HelpDataModelEventShuttle; extern const void * RTTI_HelpTopicData; extern const void * RTTI_HerdManager; extern const void * RTTI_HideSubsegmentHandler; extern const void * RTTI_HighlightManager; extern const void * RTTI_HitFrameHandler; extern const void * RTTI_HorseCameraState; extern const void * RTTI_HudModeDataModel; extern const void * RTTI_HudModeDataModel__HUDModeEventShuttle; extern const void * RTTI_IAIWorldLocation; extern const void * RTTI_IAIWorldLocationHandle; extern const void * RTTI_IAimAssistImpl; extern const void * RTTI_IAnimationEventDataForEachFunctor; extern const void * RTTI_IAnimationGraphManagerLoadingTask; extern const void * RTTI_IAnimationStanceData; extern const void * RTTI_IAnimationStreamWrite; extern const void * RTTI_IBGSBaseFormData; extern const void * RTTI_ICheckEndReachedFunctor; extern const void * RTTI_ICheckEndReachedFunctorMapper; extern const void * RTTI_ICommandLineHandler; extern const void * RTTI_IConvexOverlapImpl; extern const void * RTTI_IConvexOverlapImpl__ShapeInterface; extern const void * RTTI_IDEvent; extern const void * RTTI_IDataModel; extern const void * RTTI_IExplosionFactory; extern const void * RTTI_IFadeDoneCallback; extern const void * RTTI_IFormComponentFactoryCreator; extern const void * RTTI_IFormComponentFactoryCreator__ReserveControl; extern const void * RTTI_IFormFactory; extern const void * RTTI_IFormFactory__IFactoryVisitor; extern const void * RTTI_IHUDRolloverActivationListener; extern const void * RTTI_IMemoryManagerFile; extern const void * RTTI_IMemoryManagerFileFactory; extern const void * RTTI_IMemoryStore; extern const void * RTTI_IMemoryStoreBase; extern const void * RTTI_IMenu; extern const void * RTTI_IMessageBoxCallback; extern const void * RTTI_IMovementAvoidanceManager; extern const void * RTTI_IMovementControllerNPCFunctor; extern const void * RTTI_IMovementDirectControl; extern const void * RTTI_IMovementFormIDManager; extern const void * RTTI_IMovementPDControllerAccess; extern const void * RTTI_IMovementParameters; extern const void * RTTI_IMovementPlannerDirectControl; extern const void * RTTI_IMovementPlannerSetArbitration; extern const void * RTTI_IMovementPlayIdleResult; extern const void * RTTI_IMovementQueryFlight; extern const void * RTTI_IMovementQueryPathFollowing; extern const void * RTTI_IMovementQueryState; extern const void * RTTI_IMovementQueryStaticAvoider; extern const void * RTTI_IMovementQueryTweener; extern const void * RTTI_IMovementQueryTweenerState; extern const void * RTTI_IMovementSetCorrectionData; extern const void * RTTI_IMovementSetGoal; extern const void * RTTI_IMovementSetPathFollowing; extern const void * RTTI_IMovementSetRollTarget; extern const void * RTTI_IMovementSetSprinting; extern const void * RTTI_IMovementSetState; extern const void * RTTI_IMovementSetStaticAvoider; extern const void * RTTI_IMovementSetWarp; extern const void * RTTI_INIPrefSetting; extern const void * RTTI_INIPrefSettingCollection; extern const void * RTTI_INISettingCollection; extern const void * RTTI_INavmeshSearchFilterSet; extern const void * RTTI_IOControlNode; extern const void * RTTI_IOManager; extern const void * RTTI_IOManagerThread; extern const void * RTTI_IOManager__SystemTaskService; extern const void * RTTI_IOPostProcessTaskNode; extern const void * RTTI_IOSystemTask; extern const void * RTTI_IOTask; extern const void * RTTI_IOTaskNode; extern const void * RTTI_IPackageData; extern const void * RTTI_IPackageDataTypeCheck; extern const void * RTTI_IPathBuilder; extern const void * RTTI_IPathBuilderFactoryBase; extern const void * RTTI_IPathBuilderTracker; extern const void * RTTI_IPathFollowerState; extern const void * RTTI_IPathSmootherRayCast; extern const void * RTTI_IPathingNodeGenerator; extern const void * RTTI_IPostAnimationChannelUpdateFunctor; extern const void * RTTI_IProcedure; extern const void * RTTI_IProcedureTreeExecState; extern const void * RTTI_IProcedureTreeItem; extern const void * RTTI_IRaceSubGraphDataFunctor; extern const void * RTTI_ISelectIdleFilter; extern const void * RTTI_ISmoothingRayValidator; extern const void * RTTI_ISpecialPurposeComponentHandler; extern const void * RTTI_IStaticAvoidNodeManager; extern const void * RTTI_IStringForwarder; extern const void * RTTI_ITempEffectFactory; extern const void * RTTI_ITextRenderer; extern const void * RTTI_ITrianglePathSplitter; extern const void * RTTI_ITweenerNodeFollowerSetup; extern const void * RTTI_IUIValue; extern const void * RTTI_IValidateGoalFunctor; extern const void * RTTI_IVisitProcedures; extern const void * RTTI_IdleDialogueEnterHandler; extern const void * RTTI_IdleDialogueExitHandler; extern const void * RTTI_IdleFlavorHandler; extern const void * RTTI_ImageCreationThread; extern const void * RTTI_ImageFixtureEvent_RequestImage; extern const void * RTTI_ImageFixtureEvent_UnregisterImage; extern const void * RTTI_ImageFixtureManager; extern const void * RTTI_ImageSpaceManagerAgent; extern const void * RTTI_ImageSpaceModifierInstance; extern const void * RTTI_ImageSpaceModifierInstanceCinematic; extern const void * RTTI_ImageSpaceModifierInstanceDOF; extern const void * RTTI_ImageSpaceModifierInstanceForm; extern const void * RTTI_ImageSpaceModifierInstanceRB; extern const void * RTTI_ImmunityEffect; extern const void * RTTI_IndustrialCraftingMenu; extern const void * RTTI_InfiniteList; extern const void * RTTI_IngredientItem; extern const void * RTTI_InitActionI; extern const void * RTTI_InitializeTraversalSubgraphDataFunctor; extern const void * RTTI_InputMemoryStreamBuffer; extern const void * RTTI_InstalledContent; extern const void * RTTI_InstalledContentData; extern const void * RTTI_InstalledContentDataModel; extern const void * RTTI_InstalledContentDataModel__InstalledContentModelEventShuttle; extern const void * RTTI_IntSeenData; extern const void * RTTI_InteractionCombatDataCollectFunctor; extern const void * RTTI_InterfaceArchiveListener; extern const void * RTTI_InterfacedClass; extern const void * RTTI_InterruptCastHandler; extern const void * RTTI_InventoryDataModelNS__InventoryItem; extern const void * RTTI_InventoryDataModelNS__LootItem; extern const void * RTTI_InventoryMenu; extern const void * RTTI_InventoryMenu_Change3DView; extern const void * RTTI_InventoryMenu_DropItem; extern const void * RTTI_InventoryMenu_HideModel; extern const void * RTTI_InventoryMenu_LoadModel; extern const void * RTTI_InventoryMenu_OnEnterCategory; extern const void * RTTI_InventoryMenu_OpenAlmanac; extern const void * RTTI_InventoryMenu_OpenCargoHold; extern const void * RTTI_InventoryMenu_PaperDollTryOn; extern const void * RTTI_InventoryMenu_ResetPaperDollInv; extern const void * RTTI_InventoryMenu_SelectItem; extern const void * RTTI_InventoryMenu_SetMouseOverModel; extern const void * RTTI_InventoryMenu_StartCloseAnim; extern const void * RTTI_InventoryMenu_ToggleFavorite; extern const void * RTTI_InventoryMenu_ToggleHelmet; extern const void * RTTI_InventoryMenu_ToggleSuit; extern const void * RTTI_Inventory_SetSort; extern const void * RTTI_InvisibilityEffect; extern const void * RTTI_IronSightsState; extern const void * RTTI_ItemCraftingBase; extern const void * RTTI_ItemModInfoCardDataModel; extern const void * RTTI_ItemModInfoCardDataModel__ItemModInfoCardEventShuttle; extern const void * RTTI_ItemModdingBase; extern const void * RTTI_ItemModsDataModel; extern const void * RTTI_ItemModsDataModel__ItemModsEventShuttle; extern const void * RTTI_JetpackEffect; extern const void * RTTI_JetpackUtils__TESCellReferenceAttachDetachEventSink; extern const void * RTTI_Json__BuiltStyledStreamWriter; extern const void * RTTI_Json__CharReader; extern const void * RTTI_Json__CharReaderBuilder; extern const void * RTTI_Json__CharReader__Factory; extern const void * RTTI_Json__OurCharReader; extern const void * RTTI_Json__StreamWriter; extern const void * RTTI_Json__StreamWriterBuilder; extern const void * RTTI_Json__StreamWriter__Factory; extern const void * RTTI_JumpAnimEventHandler; extern const void * RTTI_KillActorHandler; extern const void * RTTI_KillMoveEndHandler; extern const void * RTTI_KillMoveStartHandler; extern const void * RTTI_KnockdownHandler; extern const void * RTTI_KnockdownTargetHandler; extern const void * RTTI_LODData; extern const void * RTTI_LeftHandSpellCastHandler; extern const void * RTTI_LeftHandSpellFireHandler; extern const void * RTTI_LegacyNif__BSEffectShaderProperty; extern const void * RTTI_LegacyNif__BSLightingShaderProperty; extern const void * RTTI_LegacyNif__BSMasterParticleSystem; extern const void * RTTI_LegacyNif__BSMultiBound; extern const void * RTTI_LegacyNif__BSMultiBoundNode; extern const void * RTTI_LegacyNif__BSMultiBoundOBB; extern const void * RTTI_LegacyNif__BSPSysInheritVelocityModifier; extern const void * RTTI_LegacyNif__BSPSysLODModifier; extern const void * RTTI_LegacyNif__BSPSysScaleModifier; extern const void * RTTI_LegacyNif__BSPSysSimpleColorModifier; extern const void * RTTI_LegacyNif__BSPSysSubTexModifier; extern const void * RTTI_LegacyNif__BSPositionData; extern const void * RTTI_LegacyNif__BSShaderTextureSet; extern const void * RTTI_LegacyNif__BSSubIndexTriShape; extern const void * RTTI_LegacyNif__BSWaterShaderProperty; extern const void * RTTI_LegacyNif__BSWindModifier; extern const void * RTTI_LegacyNif__NiAlphaProperty; extern const void * RTTI_LegacyNif__NiPSysAgeDeathModifier; extern const void * RTTI_LegacyNif__NiPSysBombModifier; extern const void * RTTI_LegacyNif__NiPSysBoundUpdateModifier; extern const void * RTTI_LegacyNif__NiPSysBoxEmitter; extern const void * RTTI_LegacyNif__NiPSysColliderManager; extern const void * RTTI_LegacyNif__NiPSysCylinderEmitter; extern const void * RTTI_LegacyNif__NiPSysData; extern const void * RTTI_LegacyNif__NiPSysDragModifier; extern const void * RTTI_LegacyNif__NiPSysGravityModifier; extern const void * RTTI_LegacyNif__NiPSysMeshEmitter; extern const void * RTTI_LegacyNif__NiPSysPlanarCollider; extern const void * RTTI_LegacyNif__NiPSysPositionModifier; extern const void * RTTI_LegacyNif__NiPSysRotationModifier; extern const void * RTTI_LegacyNif__NiPSysSpawnModifier; extern const void * RTTI_LegacyNif__NiPSysSphereEmitter; extern const void * RTTI_LegacyNif__NiParticleSystem; extern const void * RTTI_LegacyNif__SkyShaderProperty; extern const void * RTTI_LensFlareAttachmentComponent; extern const void * RTTI_LevelUp_AnimFinished; extern const void * RTTI_LevelUp_OnWidgetShown; extern const void * RTTI_LevelUp_OpenDataMenu; extern const void * RTTI_LevelUp_ShowSkills; extern const void * RTTI_LightAnimFormComponent; extern const void * RTTI_LightAttachmentFormComponent; extern const void * RTTI_LightAttachmentRuntimeComponentUpdateService; extern const void * RTTI_LightEffect; extern const void * RTTI_LinearVariable; extern const void * RTTI_LinearVariableInstance; extern const void * RTTI_LinkedBNETLogin__BNetInitializedEventListener; extern const void * RTTI_LinkedCellProcessHelper; extern const void * RTTI_LoadBufferStorageWrapper; extern const void * RTTI_LoadFileStorageWrapper; extern const void * RTTI_LoadGameMagicCasterVisitor; extern const void * RTTI_LoadOrder; extern const void * RTTI_LoadOrderArchive; extern const void * RTTI_LoadOrderBox; extern const void * RTTI_LoadOrderEntry; extern const void * RTTI_LoadOrder_SSB; extern const void * RTTI_LoadSavePanelDataModel; extern const void * RTTI_LoadSavePanelDataModel__LoadSavePanelEventShuttle; extern const void * RTTI_LoadScreenRenderingEventHandler; extern const void * RTTI_LoadTraversalSubgraphDataFunctor; extern const void * RTTI_LoadedAreaBound; extern const void * RTTI_LoadedCellDB__IStateControl; extern const void * RTTI_LoadedCellDB__LoadCell; extern const void * RTTI_LoadedCellDB__ModuleState; extern const void * RTTI_LoadedCellDB__PostProcessCell; extern const void * RTTI_LoadedCellDB__SignalDoneTask; extern const void * RTTI_LoadingMenu; extern const void * RTTI_LoadingMenuDataModel; extern const void * RTTI_LoadingMenuDataModel__LoadingMenuEventShuttle; extern const void * RTTI_LoadingMenu_RefreshText; extern const void * RTTI_LocalEnvData; extern const void * RTTI_LocalEnvData_Frequent; extern const void * RTTI_LocalEnvironmentDataModel; extern const void * RTTI_LocationTextWidget_FinishedQueue; extern const void * RTTI_LockEffect; extern const void * RTTI_LocomotionBlend; extern const void * RTTI_LocomotionBlendInstance; extern const void * RTTI_LoginDialog; extern const void * RTTI_LookAtChainData; extern const void * RTTI_LookAtChainInstance; extern const void * RTTI_LookAtNode; extern const void * RTTI_LookAtNodeInstance; extern const void * RTTI_LoopingActivateHandler; extern const void * RTTI_MagicCaster; extern const void * RTTI_MagicCaster__PostCreationCallback; extern const void * RTTI_MagicItem; extern const void * RTTI_MagicItemDataCollector; extern const void * RTTI_MagicItemFindKeywordFunctor; extern const void * RTTI_MagicItemTraversalFunctor; extern const void * RTTI_MagicTarget; extern const void * RTTI_MagicTarget__IPostCreationModification; extern const void * RTTI_Main; extern const void * RTTI_MainMenu; extern const void * RTTI_MainMenuConfirmationDataModel; extern const void * RTTI_MainMenuConfirmationDataModel__MainMenuConfirmationEventShuttle; extern const void * RTTI_MainMenuGamerInfoDataModel; extern const void * RTTI_MainMenuGamerInfoDataModel__MainMenuGamerInfoEventShuttle; extern const void * RTTI_MainMenuListDataModel; extern const void * RTTI_MainMenuListDataModel__MainMenuListEventShuttle; extern const void * RTTI_MainMenuMOTDDataModel; extern const void * RTTI_MainMenuMOTDDataModel__MOTDDataModelEventShuttle; extern const void * RTTI_MainMenuPipelineProgressDataModel; extern const void * RTTI_MainMenuPipelineProgressDataModel__MainMenuPipelineProgressDataEventShuttle; extern const void * RTTI_MainMenuStateDataModel; extern const void * RTTI_MainMenuStateDataModel__MainMenuStateEventShuttle; extern const void * RTTI_MainMenu_ActionCanceled; extern const void * RTTI_MainMenu_ActionConfirmed; extern const void * RTTI_MainMenu_CloseAdBanner; extern const void * RTTI_MainMenu_ConfirmLoad; extern const void * RTTI_MainMenu_DeleteSave; extern const void * RTTI_MainMenu_LegalScreenComplete; extern const void * RTTI_MainMenu_OpenStorePage; extern const void * RTTI_MainMenu_SetCharacter; extern const void * RTTI_MainMenu_StartAction; extern const void * RTTI_MainMenu_StartLoad; extern const void * RTTI_MainMenu_UploadSave; extern const void * RTTI_MarketplaceBundleContent; extern const void * RTTI_MarketplaceCommerce__redeemableListener; extern const void * RTTI_MarketplaceContent; extern const void * RTTI_MarketplaceContentCollection; extern const void * RTTI_MarketplaceDataProducer; extern const void * RTTI_MarketplaceGameState__gameActiveListener; extern const void * RTTI_MarketplaceMenu; extern const void * RTTI_MarketplaceMenu__errorCallback; extern const void * RTTI_MarketplaceMessages__OkMessageCallback; extern const void * RTTI_MarketplaceMessages__yesNoMessageCallback; extern const void * RTTI_MarketplaceObjectPool; extern const void * RTTI_MassSpringDampenVariable; extern const void * RTTI_MassSpringDampenVariableInstance; extern const void * RTTI_MaterialLayerInterface; extern const void * RTTI_MaterialLayerSequence; extern const void * RTTI_MaterialLayerSequenceInstance; extern const void * RTTI_MeleeAimAssistData; extern const void * RTTI_MeleeAimAssistImpl; extern const void * RTTI_MemoryManagement__PMPEventSink; extern const void * RTTI_MemoryManagerFile; extern const void * RTTI_MenuActor; extern const void * RTTI_MenuControls; extern const void * RTTI_MenuCursor; extern const void * RTTI_MenuOpenHandler; extern const void * RTTI_MenuPaperDoll; extern const void * RTTI_MenuTopicManager; extern const void * RTTI_MergeNode; extern const void * RTTI_MergeNodeInstance; extern const void * RTTI_MeshLODDistanceOverride; extern const void * RTTI_MessageBoxMenu; extern const void * RTTI_MessageBoxMenu_OnBackOut; extern const void * RTTI_MessageBoxMenu_OnButtonPress; extern const void * RTTI_MessageBoxMenu__MessageBoxMenuEventShuttle; extern const void * RTTI_MessageMenuManager; extern const void * RTTI_MigrateSharedStateFromPreviousView; extern const void * RTTI_MirrorModifier; extern const void * RTTI_MirrorModifierInstance; extern const void * RTTI_MiscStatManager__FindStatByCRC; extern const void * RTTI_MissileProjectile; extern const void * RTTI_MissingContent; extern const void * RTTI_MissionBoardMenu; extern const void * RTTI_MissionBoardMenu__MissionBoardMenuEventShuttle; extern const void * RTTI_MissionBoard_MissionEntryChanged; extern const void * RTTI_MissionBoard_MissionEntryPressed; extern const void * RTTI_MissionMenu_ClearState; extern const void * RTTI_MissionMenu_PlotToLocation; extern const void * RTTI_MissionMenu_RejectQuest; extern const void * RTTI_MissionMenu_SaveCategoryIndex; extern const void * RTTI_MissionMenu_SaveOpenedId; extern const void * RTTI_MissionMenu_ShowItemLocation; extern const void * RTTI_MissionMenu_ToggleQTDisplay; extern const void * RTTI_MissionMenu_ToggleTrackingQuest; extern const void * RTTI_MobIterOperator; extern const void * RTTI_ModelLoader; extern const void * RTTI_ModelReferenceEffect; extern const void * RTTI_MomentumAnimation; extern const void * RTTI_MomentumAnimationInstance; extern const void * RTTI_MomentumSwitchback; extern const void * RTTI_MomentumSwitchbackInstance; extern const void * RTTI_MonocleMenu; extern const void * RTTI_MonocleMenu_Bioscan; extern const void * RTTI_MonocleMenu_FastTravel; extern const void * RTTI_MonocleMenu_Harvest; extern const void * RTTI_MonocleMenu_Initialize; extern const void * RTTI_MonocleMenu_OpenDoor; extern const void * RTTI_MonocleMenu_Outpost; extern const void * RTTI_MonocleMenu_PhotoMode; extern const void * RTTI_MonocleMenu_Shutdown; extern const void * RTTI_MonocleMenu_SocialSpell; extern const void * RTTI_MonocleMenu_StartContainerView; extern const void * RTTI_MonocleMenu_StopContainerView; extern const void * RTTI_MonocleMenu_SurfaceMap; extern const void * RTTI_MonocleMenu_UseListScrollControls; extern const void * RTTI_MonocleMenu_ZoomIn; extern const void * RTTI_MonocleMenu_ZoomOut; extern const void * RTTI_MonocleUIDataModel; extern const void * RTTI_MonocleUIDataModel__EventData; extern const void * RTTI_MonocleUIDataModel__LegendaryModData; extern const void * RTTI_MonocleUIDataModel__MenuData; extern const void * RTTI_MonocleUIDataModel__MenuFreqData; extern const void * RTTI_MonocleUIDataModel__MonocleUIDataEventShuttle; extern const void * RTTI_MonocleUIDataModel__PickRefData; extern const void * RTTI_MonocleUIDataModel__ResourceArcData; extern const void * RTTI_MonocleUIDataModel__ResourceData; extern const void * RTTI_MonocleUIDataModel__ScannableMapMarkerData; extern const void * RTTI_MonocleUIDataModel__SocialSpellData; extern const void * RTTI_MorphDriverData; extern const void * RTTI_MorphDriverInstance; extern const void * RTTI_MotionDrivenHandler; extern const void * RTTI_MotionDrivenHandlerReference; extern const void * RTTI_MountDismountEndHandler; extern const void * RTTI_MountInteraction; extern const void * RTTI_MouseMoveEvent; extern const void * RTTI_MovementAgent; extern const void * RTTI_MovementAgentActorAvoider; extern const void * RTTI_MovementAgentActorState; extern const void * RTTI_MovementAgentFlightController; extern const void * RTTI_MovementAgentFlightControllerDetached; extern const void * RTTI_MovementAgentPathFollowerFlight; extern const void * RTTI_MovementAgentPathFollowerStandard; extern const void * RTTI_MovementAgentPathFollowerVirtual; extern const void * RTTI_MovementArbiter; extern const void * RTTI_MovementArbitrationAverageFloat; extern const void * RTTI_MovementArbitrationMaxWeightParameters; extern const void * RTTI_MovementArbitrationMaxWeightPoint; extern const void * RTTI_MovementArbitrationVectorAdd; extern const void * RTTI_MovementAvoidBoxEventAdapter; extern const void * RTTI_MovementAvoidBoxManager; extern const void * RTTI_MovementAvoidanceManager; extern const void * RTTI_MovementComponentEventHandler; extern const void * RTTI_MovementComponentSetDescriptions; extern const void * RTTI_MovementControllerAI; extern const void * RTTI_MovementControllerComponent; extern const void * RTTI_MovementControllerComponentData; extern const void * RTTI_MovementControllerNPC; extern const void * RTTI_MovementControllerNullDataTracker; extern const void * RTTI_MovementControllerRegisterInterface; extern const void * RTTI_MovementControllerSetDescriptions; extern const void * RTTI_MovementHandlerAgentAngleGain; extern const void * RTTI_MovementHandlerAgentDirectControl; extern const void * RTTI_MovementHandlerAgentDirectionPassThrough; extern const void * RTTI_MovementHandlerAgentFlightBoostTrigger; extern const void * RTTI_MovementHandlerAgentGraphDrivenAnimationDriven; extern const void * RTTI_MovementHandlerAgentPlayerControls; extern const void * RTTI_MovementHandlerAgentPlayerControlsActionTrigger; extern const void * RTTI_MovementHandlerAgentPlayerFlightControls; extern const void * RTTI_MovementHandlerAgentSprintActionTrigger; extern const void * RTTI_MovementHandlerAgentStairsHelper; extern const void * RTTI_MovementHandlerAgentStandard; extern const void * RTTI_MovementHandlerAgentStorePlannerOutput; extern const void * RTTI_MovementHandlerArbiter; extern const void * RTTI_MovementLargeDelta__IEnumVisitor; extern const void * RTTI_MovementMessage; extern const void * RTTI_MovementMessageActivateDoor; extern const void * RTTI_MovementMessageActorCollision; extern const void * RTTI_MovementMessageApproachingDoor; extern const void * RTTI_MovementMessageBeginLandingApproach; extern const void * RTTI_MovementMessageBlocked; extern const void * RTTI_MovementMessageDoor; extern const void * RTTI_MovementMessageGravJump; extern const void * RTTI_MovementMessageJump; extern const void * RTTI_MovementMessageLand; extern const void * RTTI_MovementMessageNewPath; extern const void * RTTI_MovementMessagePathCleared; extern const void * RTTI_MovementMessagePathComplete; extern const void * RTTI_MovementMessagePathEvent; extern const void * RTTI_MovementMessagePathFailed; extern const void * RTTI_MovementMessagePlayIdle; extern const void * RTTI_MovementMessageSetStaticPath; extern const void * RTTI_MovementMessageTakeOff; extern const void * RTTI_MovementMessageTraversal; extern const void * RTTI_MovementMessageUpdateRequestImmediate; extern const void * RTTI_MovementMessageWarpToLocation; extern const void * RTTI_MovementMessageWarpToMultiple; extern const void * RTTI_MovementNavmeshBoundsManager; extern const void * RTTI_MovementParameters; extern const void * RTTI_MovementParametersFixed; extern const void * RTTI_MovementPathManagerAgentAvoidBox; extern const void * RTTI_MovementPathManagerAgentLoadedAreaMonitor; extern const void * RTTI_MovementPathManagerAgentStaticAvoider; extern const void * RTTI_MovementPathManagerArbiter; extern const void * RTTI_MovementPathManagerNullTracker; extern const void * RTTI_MovementPlannerAgentDirectControl; extern const void * RTTI_MovementPlannerAgentNavmeshBounds; extern const void * RTTI_MovementPlannerAgentWarp; extern const void * RTTI_MovementPlannerArbiter; extern const void * RTTI_MovementPostUpdateArbiter; extern const void * RTTI_MovementSelectIdleUtils__SelectClosestIdleToMovementSelectionData; extern const void * RTTI_MovementSelectIdleUtils__SelectClosestIdleToPath; extern const void * RTTI_MovementStateFollowPath; extern const void * RTTI_MovementStateTweener; extern const void * RTTI_MovementTweenerAgentFixedDelta; extern const void * RTTI_MovementTweenerAgentNodeFollower; extern const void * RTTI_MovementTweenerAgentTargetPosAndVel; extern const void * RTTI_MovementTweenerArbiter; extern const void * RTTI_MoviePlayer; extern const void * RTTI_MultiFootIKNode; extern const void * RTTI_MultiFootIKNodeInstance; extern const void * RTTI_NEW_REFR_DATA; extern const void * RTTI_NPCAttachHandler; extern const void * RTTI_NPCDetachHandler; extern const void * RTTI_NavGenUtil__TunnelTerraintFilter; extern const void * RTTI_NavMesh; extern const void * RTTI_NavMeshCoverGenerator; extern const void * RTTI_NavMeshGenContext; extern const void * RTTI_NavMeshGenData; extern const void * RTTI_NavMeshGenFinalizer; extern const void * RTTI_NavMeshGenInputBorderProcessTask; extern const void * RTTI_NavMeshGenInputProcessor; extern const void * RTTI_NavMeshGenOutputProcessor; extern const void * RTTI_NavMeshGenSplitter; extern const void * RTTI_NavMeshGenStitcher; extern const void * RTTI_NavMeshGenerator; extern const void * RTTI_NavMeshGenerator__NavMeshGenCellsNode; extern const void * RTTI_NavMeshInfo; extern const void * RTTI_NavMeshInfoMap; extern const void * RTTI_NavMeshObstacleCoverManager; extern const void * RTTI_NavMeshObstacleManager; extern const void * RTTI_NavMeshSearchClosePoint; extern const void * RTTI_NavMeshSearchFitSphere; extern const void * RTTI_NavMeshSearchHide; extern const void * RTTI_NavMeshSearchLOS; extern const void * RTTI_NavMeshSearchLargestSpaceNearLocation; extern const void * RTTI_NavMeshSearchSLPoint; extern const void * RTTI_NavMeshSplineExtraData; extern const void * RTTI_NiAVObject; extern const void * RTTI_NiAdditionalGeometryData; extern const void * RTTI_NiAmbientLight; extern const void * RTTI_NiBSplineBasisData; extern const void * RTTI_NiBSplineColorInterpolator; extern const void * RTTI_NiBSplineCompColorInterpolator; extern const void * RTTI_NiBSplineCompFloatInterpolator; extern const void * RTTI_NiBSplineCompPoint3Interpolator; extern const void * RTTI_NiBSplineCompTransformInterpolator; extern const void * RTTI_NiBSplineData; extern const void * RTTI_NiBSplineFloatInterpolator; extern const void * RTTI_NiBSplineInterpolator; extern const void * RTTI_NiBSplinePoint3Interpolator; extern const void * RTTI_NiBSplineTransformInterpolator; extern const void * RTTI_NiBillboardNode; extern const void * RTTI_NiBinaryExtraData; extern const void * RTTI_NiBinaryStream; extern const void * RTTI_NiBlendAccumTransformInterpolator; extern const void * RTTI_NiBlendBoolInterpolator; extern const void * RTTI_NiBlendColorInterpolator; extern const void * RTTI_NiBlendFloatInterpolator; extern const void * RTTI_NiBlendInterpolator; extern const void * RTTI_NiBlendPoint3Interpolator; extern const void * RTTI_NiBlendQuaternionInterpolator; extern const void * RTTI_NiBlendTransformInterpolator; extern const void * RTTI_NiBoolData; extern const void * RTTI_NiBoolInterpolator; extern const void * RTTI_NiBoolTimelineInterpolator; extern const void * RTTI_NiBooleanExtraData; extern const void * RTTI_NiCamera; extern const void * RTTI_NiCollisionObject; extern const void * RTTI_NiColorData; extern const void * RTTI_NiColorExtraData; extern const void * RTTI_NiColorExtraDataController; extern const void * RTTI_NiColorInterpolator; extern const void * RTTI_NiControllerManager; extern const void * RTTI_NiControllerSequence; extern const void * RTTI_NiDefaultAVObjectPalette; extern const void * RTTI_NiDirectionalLight; extern const void * RTTI_NiExtraData; extern const void * RTTI_NiExtraDataController; extern const void * RTTI_NiFile; extern const void * RTTI_NiFloatController; extern const void * RTTI_NiFloatData; extern const void * RTTI_NiFloatExtraData; extern const void * RTTI_NiFloatExtraDataController; extern const void * RTTI_NiFloatInterpolator; extern const void * RTTI_NiFloatsExtraData; extern const void * RTTI_NiFloatsExtraDataController; extern const void * RTTI_NiFloatsExtraDataPoint3Controller; extern const void * RTTI_NiFogProperty; extern const void * RTTI_NiFormArray; extern const void * RTTI_NiGeometry; extern const void * RTTI_NiGeometryData; extern const void * RTTI_NiIntegerExtraData; extern const void * RTTI_NiIntegersExtraData; extern const void * RTTI_NiKeyframeManager; extern const void * RTTI_NiLight; extern const void * RTTI_NiLightColorController; extern const void * RTTI_NiLightDimmerController; extern const void * RTTI_NiLightRadiusController; extern const void * RTTI_NiLookAtController; extern const void * RTTI_NiLookAtInterpolator; extern const void * RTTI_NiMemStream; extern const void * RTTI_NiMorphData; extern const void * RTTI_NiMultiTargetTransformController; extern const void * RTTI_NiNode; extern const void * RTTI_NiObjectNET; extern const void * RTTI_NiPathController; extern const void * RTTI_NiPathInterpolator; extern const void * RTTI_NiPick__Results; extern const void * RTTI_NiPoint3Interpolator; extern const void * RTTI_NiPointLight; extern const void * RTTI_NiPosData; extern const void * RTTI_NiQuaternionInterpolator; extern const void * RTTI_NiRefObject; extern const void * RTTI_NiRollController; extern const void * RTTI_NiRotData; extern const void * RTTI_NiSequence; extern const void * RTTI_NiSequenceStreamHelper; extern const void * RTTI_NiSkinData; extern const void * RTTI_NiSkinInstance; extern const void * RTTI_NiSkinPartition; extern const void * RTTI_NiSpotLight; extern const void * RTTI_NiStream; extern const void * RTTI_NiStringExtraData; extern const void * RTTI_NiStringPalette; extern const void * RTTI_NiStringsExtraData; extern const void * RTTI_NiSwitchNode; extern const void * RTTI_NiTextKeyExtraData; extern const void * RTTI_NiTimeController; extern const void * RTTI_NiTransformController; extern const void * RTTI_NiTransformData; extern const void * RTTI_NiTransformInterpolator; extern const void * RTTI_NiTriBasedGeom; extern const void * RTTI_NiTriBasedGeomData; extern const void * RTTI_NiTriShape; extern const void * RTTI_NiTriShapeData; extern const void * RTTI_NiTriStrips; extern const void * RTTI_NiTriStripsData; extern const void * RTTI_NiUVData; extern const void * RTTI_NiVisController; extern const void * RTTI_NightEyeEffect; extern const void * RTTI_NonActorMagicCaster; extern const void * RTTI_NonActorMagicCaster__Manager; extern const void * RTTI_NonActorMagicTarget; extern const void * RTTI_NonActorMagicTarget__Manager; extern const void * RTTI_NormalizeRotation; extern const void * RTTI_NormalizeRotationInstance; extern const void * RTTI_NullMovementSelectIdleResult; extern const void * RTTI_NullMovementState; extern const void * RTTI_NullPathBuilderTracker; extern const void * RTTI_ObjectAttachmentFormComponent; extern const void * RTTI_ObjectListItem; extern const void * RTTI_ObstacleTaskData; extern const void * RTTI_OfflineLoadOrder; extern const void * RTTI_OpenContainerMenuMessage; extern const void * RTTI_OpenEffect; extern const void * RTTI_OpenRefuelMenuMessage; extern const void * RTTI_OpenShipCrewAssignMenuMessage; extern const void * RTTI_Options; extern const void * RTTI_OwnedCameraEffectController; extern const void * RTTI_OwnedController; extern const void * RTTI_OwnedEntitlements; extern const void * RTTI_PackageCreator; extern const void * RTTI_PackageList; extern const void * RTTI_PackageLocation; extern const void * RTTI_PageFileBase; extern const void * RTTI_PairCollector; extern const void * RTTI_PairedAnimation; extern const void * RTTI_PairedAnimationInstance; extern const void * RTTI_PairedAttackDialogueHandler; extern const void * RTTI_PairedStopHandler; extern const void * RTTI_ParalysisEffect; extern const void * RTTI_ParticleFormComponent; extern const void * RTTI_ParticleParticleCollisionsTask; extern const void * RTTI_ParticleParticleInterBranchCollisionsTask; extern const void * RTTI_ParticleParticleInterbranchSolveTask; extern const void * RTTI_ParticleParticleProcessEarlyOutStateTask; extern const void * RTTI_ParticleSequence; extern const void * RTTI_ParticleSequenceInstance; extern const void * RTTI_ParticleSystemInterface; extern const void * RTTI_Particles__AnimatedUVMaterialProperties; extern const void * RTTI_Particles__BaseCustomParameter; extern const void * RTTI_Particles__BaseOperation; extern const void * RTTI_Particles__BaseParticleSystemItem; extern const void * RTTI_Particles__BoundProperty; extern const void * RTTI_Particles__BundleInfo; extern const void * RTTI_Particles__EmitterBinding; extern const void * RTTI_Particles__EmitterDefinition; extern const void * RTTI_Particles__EmitterMaterialDependency; extern const void * RTTI_Particles__ForcesProperties; extern const void * RTTI_Particles__GeometryAsShapeDependency; extern const void * RTTI_Particles__GeometryParticlesProperties; extern const void * RTTI_Particles__GroupOperation; extern const void * RTTI_Particles__ITimeMultiplierProvider; extern const void * RTTI_Particles__Intrinsics__ApplyAngularVelocityParamSet; extern const void * RTTI_Particles__Intrinsics__ApplyForcesToPositionParamSet; extern const void * RTTI_Particles__Intrinsics__ApplyForcesToVelocityParamSet; extern const void * RTTI_Particles__Intrinsics__ApplyVelocityToPositionParamSet; extern const void * RTTI_Particles__Intrinsics__ApplyWorldVelocityToPositionParamSet; extern const void * RTTI_Particles__Intrinsics__AssignmentOperationInput; extern const void * RTTI_Particles__Intrinsics__BindingNameInput; extern const void * RTTI_Particles__Intrinsics__BoolBoolParamSet; extern const void * RTTI_Particles__Intrinsics__BoolInput; extern const void * RTTI_Particles__Intrinsics__BroadcastCollisionEventParamSet; extern const void * RTTI_Particles__Intrinsics__ColorAlphaCurvesParamSet; extern const void * RTTI_Particles__Intrinsics__ColorColorColorParamSet; extern const void * RTTI_Particles__Intrinsics__ColorColorFloatParamSet; extern const void * RTTI_Particles__Intrinsics__ColorCurveParamSet; extern const void * RTTI_Particles__Intrinsics__ColorFloatParamSet; extern const void * RTTI_Particles__Intrinsics__ColorInput; extern const void * RTTI_Particles__Intrinsics__ColorPickerMinMaxParamSet; extern const void * RTTI_Particles__Intrinsics__ColorPickerParamSet; extern const void * RTTI_Particles__Intrinsics__ConditionalJumpParamSet; extern const void * RTTI_Particles__Intrinsics__ConditionalKillParamSet; extern const void * RTTI_Particles__Intrinsics__ConformToHeightmapParamSet; extern const void * RTTI_Particles__Intrinsics__ConformToHeightmapSimParamSet; extern const void * RTTI_Particles__Intrinsics__CurveParamSet; extern const void * RTTI_Particles__Intrinsics__CustomHandlingParamSet; extern const void * RTTI_Particles__Intrinsics__CyclingVolumeParamSet; extern const void * RTTI_Particles__Intrinsics__DebugAnimateParentTransform; extern const void * RTTI_Particles__Intrinsics__DebugAttachToCamera; extern const void * RTTI_Particles__Intrinsics__DebugMoveParentTransform; extern const void * RTTI_Particles__Intrinsics__DirectionAxisInput; extern const void * RTTI_Particles__Intrinsics__DirectionToRotation3DParamSet; extern const void * RTTI_Particles__Intrinsics__Double3Double3Double3ParamSet; extern const void * RTTI_Particles__Intrinsics__Double3Double3ParamSet; extern const void * RTTI_Particles__Intrinsics__Double3Double3VectorParamSet; extern const void * RTTI_Particles__Intrinsics__Double3Input; extern const void * RTTI_Particles__Intrinsics__EmissionTypeInput; extern const void * RTTI_Particles__Intrinsics__ExpressionInputParamSet; extern const void * RTTI_Particles__Intrinsics__Float5ParamSet; extern const void * RTTI_Particles__Intrinsics__Float6ParamSet; extern const void * RTTI_Particles__Intrinsics__FloatBoolParamSet; extern const void * RTTI_Particles__Intrinsics__FloatColorParamSet; extern const void * RTTI_Particles__Intrinsics__FloatFloatBoolParamSet; extern const void * RTTI_Particles__Intrinsics__FloatFloatFloatFloatColorParamSet; extern const void * RTTI_Particles__Intrinsics__FloatFloatFloatFloatParamSet; extern const void * RTTI_Particles__Intrinsics__FloatFloatFloatParamSet; extern const void * RTTI_Particles__Intrinsics__FloatFloatFloatVectorParamSet; extern const void * RTTI_Particles__Intrinsics__FloatFloatParamSet; extern const void * RTTI_Particles__Intrinsics__FloatInput; extern const void * RTTI_Particles__Intrinsics__FloatMinMaxParamSet; extern const void * RTTI_Particles__Intrinsics__FloatUIntParamSet; extern const void * RTTI_Particles__Intrinsics__FloatVector33MatrixParamSet; extern const void * RTTI_Particles__Intrinsics__FloatVectorParamSet; extern const void * RTTI_Particles__Intrinsics__FloatVectorVectorParamSet; extern const void * RTTI_Particles__Intrinsics__GenericResourceParamSet; extern const void * RTTI_Particles__Intrinsics__GeometryParticleKillParamSet; extern const void * RTTI_Particles__Intrinsics__GeometryParticleParamSet; extern const void * RTTI_Particles__Intrinsics__GeometryParticleUpdateParamSet; extern const void * RTTI_Particles__Intrinsics__GeometryRotToPhysicsQuatParamSet; extern const void * RTTI_Particles__Intrinsics__HexColorHexColorUIntParamSet; extern const void * RTTI_Particles__Intrinsics__HexColorUIntParamSet; extern const void * RTTI_Particles__Intrinsics__HexUIntInput; extern const void * RTTI_Particles__Intrinsics__Input; extern const void * RTTI_Particles__Intrinsics__IntInput; extern const void * RTTI_Particles__Intrinsics__JumpParamSet; extern const void * RTTI_Particles__Intrinsics__KillParamSet; extern const void * RTTI_Particles__Intrinsics__LODCurvedPropertyBaseParamSet; extern const void * RTTI_Particles__Intrinsics__LODCurvedPropertyFloatParamSet; extern const void * RTTI_Particles__Intrinsics__MatrixInput; extern const void * RTTI_Particles__Intrinsics__MatrixVectorVectorParamSet; extern const void * RTTI_Particles__Intrinsics__MeshSpawnDimensionInput; extern const void * RTTI_Particles__Intrinsics__NoOpDeclareBoolParamSet; extern const void * RTTI_Particles__Intrinsics__NoOpSimulateParticlesMarkerParamSet; extern const void * RTTI_Particles__Intrinsics__Noise2ParamSet; extern const void * RTTI_Particles__Intrinsics__Noise3ParamSet; extern const void * RTTI_Particles__Intrinsics__NoiseBaseParamSet; extern const void * RTTI_Particles__Intrinsics__NoiseParamSet; extern const void * RTTI_Particles__Intrinsics__NoiseTypeInput; extern const void * RTTI_Particles__Intrinsics__OperationNameInput; extern const void * RTTI_Particles__Intrinsics__OrbitAroundPointParamSet; extern const void * RTTI_Particles__Intrinsics__ParameterSetBase; extern const void * RTTI_Particles__Intrinsics__PhysicsQuatToGeometryRotParamSet; extern const void * RTTI_Particles__Intrinsics__PhysicsQuatToSpriteRotParamSet; extern const void * RTTI_Particles__Intrinsics__PointInCylinderParamSet; extern const void * RTTI_Particles__Intrinsics__PointInMeshParamSet; extern const void * RTTI_Particles__Intrinsics__PointOnAttachedSkeletonParamSet; extern const void * RTTI_Particles__Intrinsics__RandomVariableParamSet; extern const void * RTTI_Particles__Intrinsics__RandomVectorOnShapeParamSet; extern const void * RTTI_Particles__Intrinsics__ScaledVectorGivenTwoPointsParamSet; extern const void * RTTI_Particles__Intrinsics__ShapeTypeInput; extern const void * RTTI_Particles__Intrinsics__SharedAsset; extern const void * RTTI_Particles__Intrinsics__SharedAssociatedUID; extern const void * RTTI_Particles__Intrinsics__SharedCollisionInfo; extern const void * RTTI_Particles__Intrinsics__SharedColorAlphaCurves; extern const void * RTTI_Particles__Intrinsics__SharedColorCurve; extern const void * RTTI_Particles__Intrinsics__SharedCurve; extern const void * RTTI_Particles__Intrinsics__SharedCustomParameter; extern const void * RTTI_Particles__Intrinsics__SharedFiniteRandomNumberGenerator; extern const void * RTTI_Particles__Intrinsics__SharedHeightmapData; extern const void * RTTI_Particles__Intrinsics__SharedLODCurves; extern const void * RTTI_Particles__Intrinsics__SharedMesh; extern const void * RTTI_Particles__Intrinsics__SharedNoiseGenerator; extern const void * RTTI_Particles__Intrinsics__SharedParticleSystemSpawnParameters; extern const void * RTTI_Particles__Intrinsics__SharedRGBColorCurve; extern const void * RTTI_Particles__Intrinsics__SharedRandomVariableDistributionValues; extern const void * RTTI_Particles__Intrinsics__SharedRuntimeInfo; extern const void * RTTI_Particles__Intrinsics__SharedSkeletonData; extern const void * RTTI_Particles__Intrinsics__SharedUpdateForcesParameters; extern const void * RTTI_Particles__Intrinsics__SpawnParticleParamSet; extern const void * RTTI_Particles__Intrinsics__StringInput; extern const void * RTTI_Particles__Intrinsics__TransformInitialParticlePositionToWorldSpaceParamSet; extern const void * RTTI_Particles__Intrinsics__TransformPositionToEmitterSpaceDouble3Double3ParamSet; extern const void * RTTI_Particles__Intrinsics__TransformPositionToEmitterSpaceFloat3Double3ParamSet; extern const void * RTTI_Particles__Intrinsics__TransformPositionToEmitterSpaceFloat3Float3ParamSet; extern const void * RTTI_Particles__Intrinsics__TransformPositionToParentSpaceDouble3Double3ParamSet; extern const void * RTTI_Particles__Intrinsics__TransformPositionToParentSpaceFloat3Double3ParamSet; extern const void * RTTI_Particles__Intrinsics__TransformPositionToParentSpaceFloat3Float3ParamSet; extern const void * RTTI_Particles__Intrinsics__TransformPositionToPositionInWorldEmitterSpaceFloat3Float3ParamSet; extern const void * RTTI_Particles__Intrinsics__TransformRelativeGeometryParticleToParentSpaceParamSet; extern const void * RTTI_Particles__Intrinsics__TransformRelativePositionFloat3Double3ParamSet; extern const void * RTTI_Particles__Intrinsics__TransformRelativePositionFloat3Float3ParamSet; extern const void * RTTI_Particles__Intrinsics__TransformRelativePositionToInWorldPositionFloat3Float3ParamSet; extern const void * RTTI_Particles__Intrinsics__TransformStretchVectorToWorldParamSet; extern const void * RTTI_Particles__Intrinsics__TransformVelocityToWorldParamSet; extern const void * RTTI_Particles__Intrinsics__UIntDivisionParamSet; extern const void * RTTI_Particles__Intrinsics__UIntFloatParamSet; extern const void * RTTI_Particles__Intrinsics__UIntInput; extern const void * RTTI_Particles__Intrinsics__UIntMinMaxParamSet; extern const void * RTTI_Particles__Intrinsics__UIntUIntBoolParamSet; extern const void * RTTI_Particles__Intrinsics__UIntUIntParamSet; extern const void * RTTI_Particles__Intrinsics__UIntUIntUIntParamSet; extern const void * RTTI_Particles__Intrinsics__UpdateChildParticleBindingsParamSet; extern const void * RTTI_Particles__Intrinsics__UpdateForcesParamSet; extern const void * RTTI_Particles__Intrinsics__VariableInput; extern const void * RTTI_Particles__Intrinsics__Vector2Input; extern const void * RTTI_Particles__Intrinsics__Vector2Vector2FloatVector2ParamSet; extern const void * RTTI_Particles__Intrinsics__Vector2Vector2Vector2FloatVector2ParamSet; extern const void * RTTI_Particles__Intrinsics__Vector2Vector2Vector2Vector2FloatVector2ParamSet; extern const void * RTTI_Particles__Intrinsics__Vector3Input; extern const void * RTTI_Particles__Intrinsics__Vector3MatrixParamSet; extern const void * RTTI_Particles__Intrinsics__Vector3Vector3FloatVector3ParamSet; extern const void * RTTI_Particles__Intrinsics__Vector3Vector3Vector3FloatVector3ParamSet; extern const void * RTTI_Particles__Intrinsics__Vector3Vector3Vector3Vector3FloatVector3ParamSet; extern const void * RTTI_Particles__Intrinsics__VectorFloatParamSet; extern const void * RTTI_Particles__Intrinsics__VectorFloatVectorParamSet; extern const void * RTTI_Particles__Intrinsics__VectorMinMaxParamSet; extern const void * RTTI_Particles__Intrinsics__VectorScaleAddParamSet; extern const void * RTTI_Particles__Intrinsics__VectorVectorFloatParamSet; extern const void * RTTI_Particles__Intrinsics__VectorVectorParamSet; extern const void * RTTI_Particles__Intrinsics__VectorVectorVectorParamSet; extern const void * RTTI_Particles__Intrinsics__XMFLOAT4Input; extern const void * RTTI_Particles__ListFloatCurve; extern const void * RTTI_Particles__ListParticleCollisionInfo; extern const void * RTTI_Particles__MaterialDBDependency; extern const void * RTTI_Particles__MaterialProperties; extern const void * RTTI_Particles__MeshDependency; extern const void * RTTI_Particles__ModelDBDependency; extern const void * RTTI_Particles__PSM__Commands__BaseParticleSystemRequest; extern const void * RTTI_Particles__PSM__Commands__RequestLoadResources; extern const void * RTTI_Particles__PSM__Commands__WaitForResourceLoad; extern const void * RTTI_Particles__ParticleEmitterEngine; extern const void * RTTI_Particles__ParticleEmitterEngine__GlobalEmitterEngineBinding; extern const void * RTTI_Particles__ParticleNodeManager; extern const void * RTTI_Particles__ParticlePerformanceManager; extern const void * RTTI_Particles__ParticleSystemManagerImpl; extern const void * RTTI_Particles__ParticleSystemManagerImpl__PSBinding; extern const void * RTTI_Particles__ParticleSystemStorage; extern const void * RTTI_Particles__PhysicsProperties; extern const void * RTTI_Particles__PointInMeshDependency; extern const void * RTTI_Particles__ResourceDependency; extern const void * RTTI_Particles__SingleOperation; extern const void * RTTI_Particles__SystemBinding; extern const void * RTTI_Particles__SystemDefinition; extern const void * RTTI_Particles__TiledMaterialProperties; extern const void * RTTI_PassengerInteraction; extern const void * RTTI_PathFollowerAnimationMoveStart; extern const void * RTTI_PathFollowerAnimationMoveStop; extern const void * RTTI_PathFollowerStateFollowPathToParameter; extern const void * RTTI_PathFollowerStateKeepLastDirection; extern const void * RTTI_PathFollowerStatePerformAction; extern const void * RTTI_PathFollowerStatePlayIdle; extern const void * RTTI_PathFollowerStateShortcut; extern const void * RTTI_PathFollowerStateTurnToAngle; extern const void * RTTI_PathFollowerStateWaitForAction; extern const void * RTTI_PathManagerImpl; extern const void * RTTI_PathManagerPositionPlayerAdapter; extern const void * RTTI_PathSmootherRayCastUsePreferredTris; extern const void * RTTI_PathSmootherRayCastUseTrianglePath; extern const void * RTTI_Pathing; extern const void * RTTI_PathingAnimations; extern const void * RTTI_PathingAnimationsInstance; extern const void * RTTI_PathingCell; extern const void * RTTI_PathingCoverLocation; extern const void * RTTI_PathingDoor; extern const void * RTTI_PathingLockData; extern const void * RTTI_PathingNumericIDDuplicationVisitor; extern const void * RTTI_PathingRequest; extern const void * RTTI_PathingRequestClosePoint; extern const void * RTTI_PathingRequestClosestGoal; extern const void * RTTI_PathingRequestCover; extern const void * RTTI_PathingRequestFlee; extern const void * RTTI_PathingRequestFly; extern const void * RTTI_PathingRequestFlyAction; extern const void * RTTI_PathingRequestFlyHover; extern const void * RTTI_PathingRequestFlyLand; extern const void * RTTI_PathingRequestFlyOrbit; extern const void * RTTI_PathingRequestFlyTakeOff; extern const void * RTTI_PathingRequestHide; extern const void * RTTI_PathingRequestLOS; extern const void * RTTI_PathingRequestOpenSpace; extern const void * RTTI_PathingRequestRotate; extern const void * RTTI_PathingRequestSafeStraightLine; extern const void * RTTI_PathingRequestStopMoving; extern const void * RTTI_PathingSpace; extern const void * RTTI_PathingStreamLoadGame; extern const void * RTTI_PathingStreamMasterFileRead; extern const void * RTTI_PathingStreamSaveGame; extern const void * RTTI_PathingTraversalAction; extern const void * RTTI_PathingTraversalActionActivate; extern const void * RTTI_PathingTraversalActionDoorway; extern const void * RTTI_PathingTraversalActionJump; extern const void * RTTI_PathingTraversalActionLadder; extern const void * RTTI_PathingTraversalActionStandard; extern const void * RTTI_PathingTraversalData; extern const void * RTTI_PathingTraversalManager; extern const void * RTTI_PauseMenu; extern const void * RTTI_PauseMenuConfirmationDataModel; extern const void * RTTI_PauseMenuConfirmationDataModel__PauseMenuConfirmatioEventShuttle; extern const void * RTTI_PauseMenuListDataModel; extern const void * RTTI_PauseMenuListDataModel__PauseMenuListEventShuttle; extern const void * RTTI_PauseMenuStateDataModel; extern const void * RTTI_PauseMenuStateDataModel__PauseMenuStateEventShuttle; extern const void * RTTI_PauseMenu_ActionCanceled; extern const void * RTTI_PauseMenu_ConfirmAction; extern const void * RTTI_PauseMenu_ConfirmLoad; extern const void * RTTI_PauseMenu_ConfirmSave; extern const void * RTTI_PauseMenu_DeleteSave; extern const void * RTTI_PauseMenu_QuitToDesktop; extern const void * RTTI_PauseMenu_SetCharacter; extern const void * RTTI_PauseMenu_StartAction; extern const void * RTTI_PauseMenu_StartLoad; extern const void * RTTI_PauseMenu_UploadSave; extern const void * RTTI_PeakValueModifierEffect; extern const void * RTTI_PenetrationRecoveryUtils__hknpBSIgnoreBodyCollisionFilter; extern const void * RTTI_PenetrationUtils__hknpBSCommandStreamWriter; extern const void * RTTI_PerformActivationHandler; extern const void * RTTI_PerformOpFunc; extern const void * RTTI_PhotoGalleryMenu; extern const void * RTTI_PhotoGalleryMenu__PhotoGalleryEventShuttle; extern const void * RTTI_PhotoGallery_DeletePhoto; extern const void * RTTI_PhotoModeCameraState; extern const void * RTTI_PhotoModeDataModel; extern const void * RTTI_PhotoModeDataModel__PhotoModeEventShuttle; extern const void * RTTI_PhotoModeDataModel__PhotoModeOverlayData__ImageData; extern const void * RTTI_PhotoModeDataModel__PhotoModeSettingsData__CategoryData; extern const void * RTTI_PhotoModeDataModel__PhotoModeSettingsData__SettingData; extern const void * RTTI_PhotoModeEffectController; extern const void * RTTI_PhotoModeMenu; extern const void * RTTI_PhotoMode_InitializeCategory; extern const void * RTTI_PhotoMode_RefineSetting; extern const void * RTTI_PhotoMode_ResetToDefaults; extern const void * RTTI_PhotoMode_SliderChanged; extern const void * RTTI_PhotoMode_StepperChanged; extern const void * RTTI_PhotoMode_TakeSnapshot; extern const void * RTTI_PhotoMode_ToggleHelmet; extern const void * RTTI_PhotoMode_ToggleUI; extern const void * RTTI_PhotoMode__PhotoModeCaptureExportNode; extern const void * RTTI_PhysicsContactListener; extern const void * RTTI_PhysicsContactListenerInstance; extern const void * RTTI_PickNewIdleHandler; extern const void * RTTI_PickpocketInventoryModel; extern const void * RTTI_PickpocketItemData; extern const void * RTTI_PickpocketMenu; extern const void * RTTI_PickpocketMenu_OnItemSelect; extern const void * RTTI_PickpocketStateData; extern const void * RTTI_PilotCameraShaker; extern const void * RTTI_PipelineGenerationEventHandler; extern const void * RTTI_PitchOverrideEndHandler; extern const void * RTTI_PitchOverrideStartHandler; extern const void * RTTI_PlanetSiteSelectEventHelper; extern const void * RTTI_PlasmaProjectile; extern const void * RTTI_PlatformDataModel; extern const void * RTTI_PlayBinkMenu; extern const void * RTTI_PlayBink_CloseMenu; extern const void * RTTI_PlayerBedEnterHandler; extern const void * RTTI_PlayerCamera; extern const void * RTTI_PlayerCameraTransitionState; extern const void * RTTI_PlayerChairEnterHandler; extern const void * RTTI_PlayerCharacter; extern const void * RTTI_PlayerControls__AlternateAttackHandler; extern const void * RTTI_PlayerControls__AlternateFlightControlMode; extern const void * RTTI_PlayerControls__AutoMoveHandler; extern const void * RTTI_PlayerControls__DebugCameraHandler; extern const void * RTTI_PlayerControls__FlightControlMode; extern const void * RTTI_PlayerControls__FlightMovementHandler; extern const void * RTTI_PlayerControls__GrabRotationHandler; extern const void * RTTI_PlayerControls__GravJumpHandler; extern const void * RTTI_PlayerControls__JumpHandler; extern const void * RTTI_PlayerControls__LookHandler; extern const void * RTTI_PlayerControls__Manager; extern const void * RTTI_PlayerControls__MonocleHandler; extern const void * RTTI_PlayerControls__MovementHandler; extern const void * RTTI_PlayerControls__NvidiaStreamlineInputHandler; extern const void * RTTI_PlayerControls__PlayerCameraHandler; extern const void * RTTI_PlayerControls__RunHandler; extern const void * RTTI_PlayerControls__ShieldHandler; extern const void * RTTI_PlayerControls__ShipEquipmentHandler; extern const void * RTTI_PlayerControls__SneakHandler; extern const void * RTTI_PlayerControls__SprintHandler; extern const void * RTTI_PlayerControls__StandardFlightControlMode; extern const void * RTTI_PlayerControls__StarbornPowerHandler; extern const void * RTTI_PlayerControls__TogglePOVHandler; extern const void * RTTI_PlayerControls__ToggleRunHandler; extern const void * RTTI_PlayerControls__VehicleHandler; extern const void * RTTI_PlayerControls__WeaponAttackHandler; extern const void * RTTI_PlayerControls__WeaponAttackTriggerStates__NotTriggered; extern const void * RTTI_PlayerControls__WeaponAttackTriggerStates__Triggered; extern const void * RTTI_PlayerControls__WeaponAttackTriggerStates__TriggeredAutomatic; extern const void * RTTI_PlayerControls__WeaponAttackTriggerStates__TriggeredBurst; extern const void * RTTI_PlayerControls__WeaponAttackTriggerStates__TriggeredBurstEnd; extern const void * RTTI_PlayerControls__WeaponAttackTriggerStates__TriggeredContinuous; extern const void * RTTI_PlayerControls__WeaponAttackTriggerStates__TriggeredFirstStage; extern const void * RTTI_PlayerControls__WeaponAttackTriggerStates__TriggeredOnRelease; extern const void * RTTI_PlayerControls__WeaponAttackTriggerStates__TriggeredSecondStage; extern const void * RTTI_PlayerControls__WeaponAttackTriggerStates__TriggeredSingle; extern const void * RTTI_PlayerControls__WeaponAttackTriggerStates__TriggeredWaitForRelease; extern const void * RTTI_PlayerControls__WeaponAttackTriggerStates__Unequipped; extern const void * RTTI_PlayerControls__WeaponBlockActionHandler; extern const void * RTTI_PlayerControls__WeaponFocusHandler; extern const void * RTTI_PlayerControls__WeaponMeleeHandler; extern const void * RTTI_PlayerControls__WeaponReadyHandler; extern const void * RTTI_PlayerControls__WeaponReloadHandler; extern const void * RTTI_PlayerControls__WeaponSightedActionHandler; extern const void * RTTI_PlayerControls__ZKeyHandler; extern const void * RTTI_PlayerDataModel; extern const void * RTTI_PlayerDataModel__PlayerDataEventShuttle; extern const void * RTTI_PlayerFastEquipSoundHandler; extern const void * RTTI_PlayerFurnitureExitHandler; extern const void * RTTI_PlayerInventoryDataModel; extern const void * RTTI_PlayerInventoryItem; extern const void * RTTI_PlayerRegionState; extern const void * RTTI_PlayerSleepWaitMovementControllerAdapter; extern const void * RTTI_PlayerSleepWaitMovementControllerAdapter__SwitchToLoadedSetControllerFunctor; extern const void * RTTI_PlayerSleepWaitMovementControllerAdapter__SwitchToUnloadedSetControllerFunctor; extern const void * RTTI_PlayerSpaceUtils__EventSink; extern const void * RTTI_PlayerSpaceUtils__PlayerSpaceUtilsEventHandler; extern const void * RTTI_PlayerSpaceUtils___unnamed_type_SpaceAsteroidsWorldStepListener_; extern const void * RTTI_PlayerStatusDataModel; extern const void * RTTI_PlayerStatusDataModel__PlayerStatusEventShuttle; extern const void * RTTI_PlayerTraversalState; extern const void * RTTI_PoseDeformerData; extern const void * RTTI_PoseDeformerInstance; extern const void * RTTI_PostAttachActionsFunctor; extern const void * RTTI_PostBoneModifierControl; extern const void * RTTI_PostBoneModifierControlInstance; extern const void * RTTI_PostStepTask; extern const void * RTTI_PowerArmor__EventHandler; extern const void * RTTI_PowerUtils__PowerUtilsReferenceEventSink; extern const void * RTTI_PowersMenu; extern const void * RTTI_PowersMenu_ActivateEssence; extern const void * RTTI_PowersMenu_EquipPower; extern const void * RTTI_PowersMenu_FavoriteEssence; extern const void * RTTI_PowersMenu_FavoritePower; extern const void * RTTI_PowersMenu_UpgradePower; extern const void * RTTI_PowersMenu__PowersMenuEventShuttle; extern const void * RTTI_PreStepTask; extern const void * RTTI_Precipitation; extern const void * RTTI_PrecipitationEffectController; extern const void * RTTI_Preload__Manager; extern const void * RTTI_Preload__PostProcessDependencyNode; extern const void * RTTI_PreparePartitionTreeBuffers; extern const void * RTTI_Probe__ReflectionProbeRenderOptions; extern const void * RTTI_ProcessListMovementInterface; extern const void * RTTI_ProcessLists; extern const void * RTTI_ProcessLists__GetActorsFilter; extern const void * RTTI_Projectile; extern const void * RTTI_ProjectileLOSCollector; extern const void * RTTI_Projectile__Manager; extern const void * RTTI_QuestDataModel; extern const void * RTTI_QuestDataModel__QuestGameEventShuttle; extern const void * RTTI_QuestPathingRequest; extern const void * RTTI_QueuedCellAttachService; extern const void * RTTI_QueuedCharacter; extern const void * RTTI_QueuedExplosionArt; extern const void * RTTI_QueuedFile; extern const void * RTTI_QueuedLocationLoadTask; extern const void * RTTI_QueuedPlayer; extern const void * RTTI_QueuedPromoteLargeReferencesTask; extern const void * RTTI_QueuedPromoteQuestTask; extern const void * RTTI_QueuedPromoteReferencesTask; extern const void * RTTI_QueuedReference; extern const void * RTTI_QueuedReferenceCallbackNode; extern const void * RTTI_QuickSaveLoadHandler; extern const void * RTTI_REFREventCallbacks__IEventCallback; extern const void * RTTI_REFREventCallbacks__IEventCallbackFactory; extern const void * RTTI_RagdollAndGetUpHandler; extern const void * RTTI_RagdollFurnitureModifier; extern const void * RTTI_RagdollGetUp; extern const void * RTTI_RagdollGetUpInstance; extern const void * RTTI_RagdollStartHandler; extern const void * RTTI_RallyEffect; extern const void * RTTI_RandomAnimationNode; extern const void * RTTI_RandomAnimationNodeInstance; extern const void * RTTI_RangedAimAssistImpl; extern const void * RTTI_ReanimateEffect; extern const void * RTTI_RecoilStopHandler; extern const void * RTTI_ReevaluateGraphStateHandler; extern const void * RTTI_RefAttachTechniqueInput; extern const void * RTTI_ReferenceEffect; extern const void * RTTI_ReferenceEffectController; extern const void * RTTI_ReferenceEndAnimatedCameraHandler; extern const void * RTTI_ReferenceRunActionHandler; extern const void * RTTI_ReferenceStartAnimatedCameraHandler; extern const void * RTTI_ReferenceStartImagespaceModifierHandler; extern const void * RTTI_ReferenceStopImagespaceModifierHandler; extern const void * RTTI_ReflectionProbeCellComponent; extern const void * RTTI_RefrInteraction; extern const void * RTTI_Refuel_Accept; extern const void * RTTI_Refuel_Cancel; extern const void * RTTI_RegSettingCollection; extern const void * RTTI_ReloadCompleteHandler; extern const void * RTTI_ReloadProgressBar; extern const void * RTTI_ReloadStateChangeHandler; extern const void * RTTI_RemoveRagdollHandler; extern const void * RTTI_ResearchDataModel; extern const void * RTTI_ResearchDataModel__ResearchDataEventShuttle; extern const void * RTTI_ResearchMenu; extern const void * RTTI_ResearchMenu_AddMaterial; extern const void * RTTI_ResearchMenu_CategorySelected; extern const void * RTTI_ResearchMenu_ExitMenu; extern const void * RTTI_ResearchMenu_HideModel; extern const void * RTTI_ResearchMenu_PreviewProject; extern const void * RTTI_ResearchMenu_ProjectViewed; extern const void * RTTI_ResearchMenu_SetInspectControls; extern const void * RTTI_ResearchMenu_ToggleTrackingProject; extern const void * RTTI_Research__Manager; extern const void * RTTI_Reset3DMobIterator; extern const void * RTTI_ResetFloraEffect; extern const void * RTTI_Reticle_OnCruiseActivate; extern const void * RTTI_Reticle_OnCruiseExitAnimFinished; extern const void * RTTI_Reticle_OnCruiseLockCourse; extern const void * RTTI_Reticle_OnLongAnimFinished; extern const void * RTTI_RevertSelectedSpellFunctor; extern const void * RTTI_RigMesh__BoneAttaches; extern const void * RTTI_RigMesh__BoneTranslations; extern const void * RTTI_RigSwitch; extern const void * RTTI_RigSwitchInstance; extern const void * RTTI_RightHandSpellCastHandler; extern const void * RTTI_RightHandSpellFireHandler; extern const void * RTTI_RollingBone; extern const void * RTTI_RollingBoneInstance; extern const void * RTTI_RootTwist; extern const void * RTTI_RootTwistInstance; extern const void * RTTI_RotationVariable; extern const void * RTTI_RotationVariableInstance; extern const void * RTTI_RuntimeComponentDBFactory__UnloadedComponentBase; extern const void * RTTI_RuntimeComponentDBFactory__UnloadedComponentStorage; extern const void * RTTI_SKClosestHitCollector; extern const void * RTTI_SWFToCodeFunctionHandler; extern const void * RTTI_SandManKillHandler; extern const void * RTTI_SaveBufferStorageWrapper; extern const void * RTTI_SaveFileStorageWrapper; extern const void * RTTI_SaveGameCollection; extern const void * RTTI_SaveGameMagicCasterVisitor; extern const void * RTTI_SaveLoadMagicCasterVisitor; extern const void * RTTI_SaveLoadTester__IgnoreAsserts; extern const void * RTTI_SaveLoadTester__Service; extern const void * RTTI_SaveLoad__BlockingIONode; extern const void * RTTI_SaveLoad__CleanupService__Impl; extern const void * RTTI_SaveStorageWrapperBase; extern const void * RTTI_ScalarAnimation; extern const void * RTTI_ScaleformFile__MemoryFile; extern const void * RTTI_Scaleform__AcquireInterface; extern const void * RTTI_Scaleform__AmpMovieObjectDesc; extern const void * RTTI_Scaleform__BoolFormatter; extern const void * RTTI_Scaleform__BufferedFile; extern const void * RTTI_Scaleform__DefaultAcquireInterface; extern const void * RTTI_Scaleform__DelegatedFile; extern const void * RTTI_Scaleform__DoubleFormatter; extern const void * RTTI_Scaleform__Event; extern const void * RTTI_Scaleform__FILEFile; extern const void * RTTI_Scaleform__FmtResource; extern const void * RTTI_Scaleform__GFx__AS3Support; extern const void * RTTI_Scaleform__GFx__AS3__AS3ByteArray_DIPixelProvider; extern const void * RTTI_Scaleform__GFx__AS3__AS3Vectoruint_DIPixelProvider; extern const void * RTTI_Scaleform__GFx__AS3__ASRefCountCollector; extern const void * RTTI_Scaleform__GFx__AS3__ASVM; extern const void * RTTI_Scaleform__GFx__AS3__ASVM__AbcFileWithMovieDef; extern const void * RTTI_Scaleform__GFx__AS3__AbcDataBuffer; extern const void * RTTI_Scaleform__GFx__AS3__Abc__File; extern const void * RTTI_Scaleform__GFx__AS3__ArrayBase; extern const void * RTTI_Scaleform__GFx__AS3__AvmBitmap; extern const void * RTTI_Scaleform__GFx__AS3__AvmButton; extern const void * RTTI_Scaleform__GFx__AS3__AvmDisplayObj; extern const void * RTTI_Scaleform__GFx__AS3__AvmInteractiveObj; extern const void * RTTI_Scaleform__GFx__AS3__AvmLoader; extern const void * RTTI_Scaleform__GFx__AS3__AvmMovieClip; extern const void * RTTI_Scaleform__GFx__AS3__AvmSprite; extern const void * RTTI_Scaleform__GFx__AS3__AvmStage; extern const void * RTTI_Scaleform__GFx__AS3__AvmStaticText; extern const void * RTTI_Scaleform__GFx__AS3__AvmTextField; extern const void * RTTI_Scaleform__GFx__AS3__AvmTextField__CSSHolder; extern const void * RTTI_Scaleform__GFx__AS3__BASlotFunctCalc; extern const void * RTTI_Scaleform__GFx__AS3__BASlotFunctSrlzFixedName; extern const void * RTTI_Scaleform__GFx__AS3__BASlotFunctSrlzFixedValue; extern const void * RTTI_Scaleform__GFx__AS3__Class; extern const void * RTTI_Scaleform__GFx__AS3__ClassCallConstruct; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__ClassClass; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__Traits; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__UserDefined; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__ArgumentError; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Array; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Boolean; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Catch; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Date; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__DefinitionError; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Domain; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Error; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__EvalError; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Function; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Math; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Namespace; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Number; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Object; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__QName; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__RangeError; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__ReferenceError; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__RegExp; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__SecurityError; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__String; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__SyntaxError; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__TypeError; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__URIError; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__UninitializedError; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__VerifyError; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__XML; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__XMLList; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__int_; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__uint; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__void_; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_accessibility__Accessibility; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_accessibility__AccessibilityImplementation; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_accessibility__AccessibilityProperties; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_accessibility__ISearchableText; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_accessibility__ISimpleTextSelection; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__AVM1Movie; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__ActionScriptVersion; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__Bitmap; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__BitmapData; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__BitmapDataChannel; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__BlendMode; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__CapsStyle; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__DisplayObject; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__DisplayObjectContainer; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__FrameLabel; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__GradientType; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__Graphics; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__GraphicsBitmapFill; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__GraphicsEndFill; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__GraphicsGradientFill; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__GraphicsPath; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__GraphicsPathCommand; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__GraphicsPathWinding; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__GraphicsSolidFill; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__GraphicsStroke; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__IBitmapDrawable; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__IGraphicsData; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__IGraphicsFill; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__IGraphicsPath; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__InteractiveObject; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__InterpolationMethod; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__JointStyle; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__LineScaleMode; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__Loader; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__LoaderInfo; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__MorphShape; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__MovieClip; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__PixelSnapping; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__SWFVersion; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__Scene; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__Shader; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__ShaderData; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__ShaderInput; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__ShaderJob; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__ShaderParameter; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__ShaderParameterType; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__ShaderPrecision; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__Shape; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__SimpleButton; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__SpreadMethod; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__Sprite; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__Stage; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__StageAlign; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__StageDisplayState; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__StageQuality; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__StageScaleMode; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_errors__EOFError; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_errors__IOError; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_errors__IllegalOperationError; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_errors__InvalidSWFError; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_errors__MemoryError; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_errors__ScriptTimeoutError; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_errors__StackOverflowError; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__AccelerometerEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__ActivityEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__AppLifecycleEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__AsyncErrorEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__ContextMenuEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__DataEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__ErrorEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__Event; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__EventDispatcher; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__EventPhase; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__FocusEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__FullScreenEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__GeolocationEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__GestureEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__GesturePhase; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__HTTPStatusEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__IEventDispatcher; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__IMEEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__IOErrorEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__KeyboardEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__MouseEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__NetStatusEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__PressAndTapGestureEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__ProgressEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__SecurityErrorEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__StageOrientation; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__StageOrientationEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__StatusEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__SyncEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__TextEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__TimerEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__TouchEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__TransformGestureEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__UncaughtErrorEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__UncaughtErrorEvents; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_external__ExternalInterface; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__BevelFilter; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__BitmapFilter; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__BitmapFilterQuality; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__BitmapFilterType; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__BlurFilter; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__ColorMatrixFilter; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__ConvolutionFilter; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__DisplacementMapFilter; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__DisplacementMapFilterMode; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__DropShadowFilter; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__GlowFilter; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__GradientBevelFilter; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__GradientGlowFilter; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__ShaderFilter; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_geom__ColorTransform; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_geom__Matrix; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_geom__Matrix3D; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_geom__PerspectiveProjection; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_geom__Point; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_geom__Rectangle; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_geom__Transform; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_geom__Utils3D; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_geom__Vector3D; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__DisplayObjectEx; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__Extensions; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__FocusEventEx; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__FocusManager; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__GamePad; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__GamePadAnalogEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__IMECandidateListStyle; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__IMEEventEx; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__IMEEx; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__InteractiveObjectEx; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__KeyboardEventEx; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__MouseCursorEvent; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__MouseEventEx; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__SystemEx; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__TextEventEx; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__TextFieldEx; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_media__Camera; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_media__ID3Info; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_media__Microphone; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_media__Sound; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_media__SoundChannel; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_media__SoundLoaderContext; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_media__SoundMixer; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_media__SoundTransform; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__FileFilter; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__FileReference; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__FileReferenceList; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__IDynamicPropertyOutput; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__IDynamicPropertyWriter; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__LocalConnection; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__NetConnection; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__ObjectEncoding; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__Responder; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__SharedObject; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__SharedObjectFlushStatus; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__Socket; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__URLLoader; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__URLLoaderDataFormat; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__URLRequest; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__URLRequestHeader; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__URLRequestMethod; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__URLStream; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__URLVariables; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__XMLSocket; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_sensors__Accelerometer; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_system__ApplicationDomain; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_system__Capabilities; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_system__IME; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_system__IMEConversionMode; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_system__LoaderContext; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_system__Security; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_system__SecurityDomain; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_system__SecurityPanel; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_system__System; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__AntiAliasType; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__CSMSettings; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__Font; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__FontStyle; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__FontType; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__GridFitType; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__StaticText; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__StyleSheet; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__TextColorType; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__TextDisplayMode; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__TextField; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__TextFieldAutoSize; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__TextFieldType; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__TextFormat; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__TextFormatAlign; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__TextLineMetrics; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__TextRenderer; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__TextSnapshot; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_ui__ContextMenu; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_ui__ContextMenuBuiltInItems; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_ui__ContextMenuClipboardItems; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_ui__ContextMenuItem; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_ui__KeyLocation; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_ui__Keyboard; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_ui__Mouse; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_ui__MouseCursor; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_ui__Multitouch; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_ui__MultitouchInputMode; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_utils__ByteArray; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_utils__Dictionary; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_utils__Endian; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_utils__IDataInput; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_utils__IDataOutput; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_utils__IExternalizable; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_utils__Proxy; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_utils__Timer; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_vec__Vector; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_vec__Vector_String; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_vec__Vector_double; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_vec__Vector_int; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_vec__Vector_object; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_vec__Vector_uint; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_xml__XMLDocument; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_xml__XMLNode; extern const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_xml__XMLNodeType; extern const void * RTTI_Scaleform__GFx__AS3__Classes__ClassClass; extern const void * RTTI_Scaleform__GFx__AS3__Classes__UDBase; extern const void * RTTI_Scaleform__GFx__AS3__Classes__UserDefined; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Array; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Boolean; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Catch; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Date; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Domain; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Error; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Function; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Math; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Namespace; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Number; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Object; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl__QName; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl__RegExp; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl__String; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl__XML; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl__XMLList; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl__int_; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl__uint; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_accessibility__Accessibility; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__ActionScriptVersion; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__BitmapDataChannel; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__BlendMode; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__CapsStyle; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__GradientType; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__GraphicsPathCommand; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__GraphicsPathWinding; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__InterpolationMethod; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__JointStyle; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__LineScaleMode; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__LoaderInfo; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__PixelSnapping; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__SWFVersion; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__ShaderParameterType; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__ShaderPrecision; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__SpreadMethod; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__Stage; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__StageAlign; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__StageDisplayState; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__StageQuality; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__StageScaleMode; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__AccelerometerEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__ActivityEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__AppLifecycleEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__AsyncErrorEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__ContextMenuEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__DataEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__ErrorEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__Event; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__EventDispatcher; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__EventPhase; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__FocusEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__FullScreenEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__GeolocationEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__GestureEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__GesturePhase; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__HTTPStatusEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__IMEEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__IOErrorEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__KeyboardEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__MouseEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__NetStatusEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__PressAndTapGestureEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__ProgressEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__SecurityErrorEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__StageOrientation; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__StageOrientationEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__StatusEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__SyncEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__TextEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__TimerEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__TouchEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__TransformGestureEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__UncaughtErrorEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_external__ExternalInterface; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_filters__BitmapFilterQuality; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_filters__BitmapFilterType; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_filters__DisplacementMapFilterMode; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_geom__Point; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_geom__Utils3D; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_geom__Vector3D; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__DisplayObjectEx; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__Extensions; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__FocusManager; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__GamePad; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__GamePadAnalogEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__IMEEventEx; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__IMEEx; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__InteractiveObjectEx; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__MouseCursorEvent; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__MouseEventEx; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__SystemEx; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__TextEventEx; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__TextFieldEx; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_media__Camera; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_media__Microphone; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_media__SoundMixer; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_net__ObjectEncoding; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_net__SharedObject; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_net__SharedObjectFlushStatus; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_net__URLLoaderDataFormat; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_net__URLRequestMethod; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_sensors__Accelerometer; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_system__ApplicationDomain; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_system__Capabilities; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_system__IME; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_system__IMEConversionMode; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_system__Security; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_system__SecurityDomain; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_system__SecurityPanel; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_system__System; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__AntiAliasType; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__Font; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__FontStyle; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__FontType; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__GridFitType; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__TextColorType; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__TextDisplayMode; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__TextField; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__TextFieldAutoSize; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__TextFieldType; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__TextFormatAlign; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__TextRenderer; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_ui__KeyLocation; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_ui__Keyboard; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_ui__Mouse; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_ui__MouseCursor; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_ui__Multitouch; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_ui__MultitouchInputMode; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_utils__ByteArray; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_utils__Endian; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_vec__Vector; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_vec__Vector_String; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_vec__Vector_double; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_vec__Vector_int; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_vec__Vector_object; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_vec__Vector_uint; extern const void * RTTI_Scaleform__GFx__AS3__Classes__fl_xml__XMLNodeType; extern const void * RTTI_Scaleform__GFx__AS3__DoAbc; extern const void * RTTI_Scaleform__GFx__AS3__FlashUI; extern const void * RTTI_Scaleform__GFx__AS3__FrameCounter; extern const void * RTTI_Scaleform__GFx__AS3__GASRefCountBase; extern const void * RTTI_Scaleform__GFx__AS3__IMEManager; extern const void * RTTI_Scaleform__GFx__AS3__Impl__ArrayFunc; extern const void * RTTI_Scaleform__GFx__AS3__Impl__Value2NumberCollector; extern const void * RTTI_Scaleform__GFx__AS3__Impl__Value2StrCollector; extern const void * RTTI_Scaleform__GFx__AS3__Impl__ValuePtrCollector; extern const void * RTTI_Scaleform__GFx__AS3__Instance; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__Activation; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__Anonimous; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__CTraits; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__ClassClass; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__Interface; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__Prototype; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__RTraits; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__Traits; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__UserDefined; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Array; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Boolean; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Catch; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Date; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Domain; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Error; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Function; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__GlobalObject; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__GlobalObjectScript; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__MethodInd; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Namespace; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Number; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Object; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__QName; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__RegExp; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__String; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Thunk; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__ThunkFunction; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__VTableInd; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__XML; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__XMLList; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__int_; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__uint; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_accessibility__AccessibilityImplementation; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_accessibility__AccessibilityProperties; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__AVM1Movie; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__Bitmap; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__BitmapData; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__DisplayObject; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__DisplayObjectContainer; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__FrameLabel; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__Graphics; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__GraphicsBitmapFill; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__GraphicsEndFill; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__GraphicsGradientFill; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__GraphicsPath; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__GraphicsSolidFill; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__GraphicsStroke; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__InteractiveObject; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__Loader; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__LoaderInfo; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__MorphShape; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__MovieClip; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__Scene; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__Shape; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__SimpleButton; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__Sprite; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__Stage; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__AccelerometerEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__AppLifecycleEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__AsyncErrorEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__ErrorEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__Event; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__EventDispatcher; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__FocusEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__GeolocationEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__GestureEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__IMEEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__IOErrorEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__KeyboardEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__MouseEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__NetStatusEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__PressAndTapGestureEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__ProgressEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__StageOrientationEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__StatusEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__TextEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__TimerEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__TouchEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__TransformGestureEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__UncaughtErrorEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__UncaughtErrorEvents; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_filters__BevelFilter; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_filters__BitmapFilter; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_filters__BlurFilter; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_filters__ColorMatrixFilter; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_filters__DisplacementMapFilter; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_filters__DropShadowFilter; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_filters__GlowFilter; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_filters__GradientBevelFilter; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_filters__GradientGlowFilter; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_geom__ColorTransform; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_geom__Matrix; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_geom__Matrix3D; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_geom__PerspectiveProjection; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_geom__Point; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_geom__Rectangle; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_geom__Transform; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_geom__Vector3D; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_gfx__FocusEventEx; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_gfx__GamePadAnalogEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_gfx__IMECandidateListStyle; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_gfx__IMEEventEx; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_gfx__KeyboardEventEx; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_gfx__MouseCursorEvent; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_gfx__MouseEventEx; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_gfx__TextEventEx; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_media__ID3Info; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_media__Sound; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_media__SoundChannel; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_media__SoundLoaderContext; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_media__SoundTransform; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_net__FileReference; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_net__NetConnection; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_net__SharedObject; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_net__Socket; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_net__URLLoader; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_net__URLRequest; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_net__URLRequestHeader; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_net__URLVariables; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_sensors__Accelerometer; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_system__ApplicationDomain; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_system__LoaderContext; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_system__SecurityDomain; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_text__CSMSettings; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_text__Font; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_text__StaticText; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_text__StyleSheet; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_text__TextField; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_text__TextFormat; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_text__TextLineMetrics; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_text__TextSnapshot; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_ui__ContextMenu; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_ui__ContextMenuBuiltInItems; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_ui__ContextMenuClipboardItems; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_utils__ByteArray; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_utils__Dictionary; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_utils__Proxy; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_utils__Timer; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_vec__Vector_String; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_vec__Vector_double; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_vec__Vector_int; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_vec__Vector_object; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_vec__Vector_uint; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_xml__XMLDocument; extern const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_xml__XMLNode; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__Array; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__AttrGet; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__AttrGetFirst; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__Catch; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__CheckTypeTF; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__ChildGet; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__ChildGetFirst; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__Date; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__Domain; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__EmptyCallBack; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__Error; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__Function; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__FunctionAOT; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__FunctionBase; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__GlobalObject; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__GlobalObjectCPP; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__GlobalObjectScript; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__ListGet; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__Namespace; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__Object; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__QName; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__RegExp; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__ThunkFunction; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__XML; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__XMLAttr; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__XMLComment; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__XMLElement; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__XMLElement__CallBack; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__XMLList; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__XMLList__CallBack; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__XMLProcInstr; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl__XMLText; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_accessibility__AccessibilityImplementation; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_accessibility__AccessibilityProperties; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__AVM1Movie; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__Bitmap; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__BitmapData; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__DisplayObject; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__DisplayObjectContainer; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__FrameLabel; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__Graphics; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__GraphicsBitmapFill; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__GraphicsEndFill; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__GraphicsGradientFill; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__GraphicsPath; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__GraphicsSolidFill; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__GraphicsStroke; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__InteractiveObject; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__Loader; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__LoaderInfo; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__MorphShape; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__MovieClip; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__Scene; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__Shape; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__SimpleButton; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__Sprite; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__Stage; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__AccelerometerEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__AppLifecycleEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__AsyncErrorEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__ErrorEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__Event; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__EventDispatcher; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__FocusEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__GeolocationEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__GestureEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__IMEEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__IOErrorEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__KeyboardEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__MouseEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__NetStatusEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__PressAndTapGestureEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__ProgressEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__StageOrientationEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__StatusEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__TextEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__TimerEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__TouchEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__TransformGestureEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__UncaughtErrorEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__UncaughtErrorEvents; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_filters__BevelFilter; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_filters__BitmapFilter; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_filters__BlurFilter; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_filters__ColorMatrixFilter; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_filters__DisplacementMapFilter; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_filters__DropShadowFilter; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_filters__GlowFilter; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_filters__GradientBevelFilter; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_filters__GradientGlowFilter; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_geom__ColorTransform; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_geom__Matrix; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_geom__Matrix3D; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_geom__PerspectiveProjection; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_geom__Point; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_geom__Rectangle; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_geom__Transform; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_geom__Vector3D; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_gfx__FocusEventEx; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_gfx__GamePadAnalogEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_gfx__IMECandidateListStyle; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_gfx__IMEEventEx; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_gfx__KeyboardEventEx; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_gfx__MouseCursorEvent; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_gfx__MouseEventEx; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_gfx__TextEventEx; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_media__ID3Info; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_media__Sound; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_media__SoundChannel; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_media__SoundLoaderContext; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_media__SoundTransform; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_net__FileReference; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_net__NetConnection; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_net__SharedObject; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_net__Socket; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_net__SocketReader; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_net__SocketWriter; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_net__URLLoader; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_net__URLRequest; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_net__URLRequestHeader; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_net__URLVariables; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_sensors__Accelerometer; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_system__ApplicationDomain; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_system__LoaderContext; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_system__SecurityDomain; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_text__CSMSettings; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_text__Font; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_text__StaticText; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_text__StyleSheet; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_text__TextField; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_text__TextFormat; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_text__TextLineMetrics; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_text__TextSnapshot; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_ui__ContextMenu; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_ui__ContextMenuBuiltInItems; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_ui__ContextMenuClipboardItems; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_utils__BAReader; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_utils__BASlotFunctCalc; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_utils__BAWriter; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_utils__ByteArray; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_utils__Dictionary; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_utils__Proxy; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_utils__Timer; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_vec__Vector_String; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_vec__Vector_double; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_vec__Vector_int; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_vec__Vector_object; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_vec__Vector_uint; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_xml__XMLDocument; extern const void * RTTI_Scaleform__GFx__AS3__Instances__fl_xml__XMLNode; extern const void * RTTI_Scaleform__GFx__AS3__IntervalTimer; extern const void * RTTI_Scaleform__GFx__AS3__LoadQueueEntry; extern const void * RTTI_Scaleform__GFx__AS3__LoadQueueEntryMT_LoadMovie; extern const void * RTTI_Scaleform__GFx__AS3__MemoryContextImpl; extern const void * RTTI_Scaleform__GFx__AS3__MemoryContextImpl__HeapLimit; extern const void * RTTI_Scaleform__GFx__AS3__MovieDefRootNode; extern const void * RTTI_Scaleform__GFx__AS3__MovieRoot; extern const void * RTTI_Scaleform__GFx__AS3__MovieRoot__StickyVarNode; extern const void * RTTI_Scaleform__GFx__AS3__NamespaceInstanceFactory; extern const void * RTTI_Scaleform__GFx__AS3__NamespaceSet; extern const void * RTTI_Scaleform__GFx__AS3__NotifyLoadInitCandidateList; extern const void * RTTI_Scaleform__GFx__AS3__NullObject; extern const void * RTTI_Scaleform__GFx__AS3__Object; extern const void * RTTI_Scaleform__GFx__AS3__SerializeArrDense; extern const void * RTTI_Scaleform__GFx__AS3__SerializeArrSparse; extern const void * RTTI_Scaleform__GFx__AS3__ShapeObject; extern const void * RTTI_Scaleform__GFx__AS3__Slots__SlotFunct; extern const void * RTTI_Scaleform__GFx__AS3__SocketBuffer; extern const void * RTTI_Scaleform__GFx__AS3__SocketThreadMgr; extern const void * RTTI_Scaleform__GFx__AS3__SocketThreadMgr__EventInfo; extern const void * RTTI_Scaleform__GFx__AS3__Stage; extern const void * RTTI_Scaleform__GFx__AS3__TextSnapshotGlyphVisitor; extern const void * RTTI_Scaleform__GFx__AS3__Tracer; extern const void * RTTI_Scaleform__GFx__AS3__Traits; extern const void * RTTI_Scaleform__GFx__AS3__UserDefinedFunction; extern const void * RTTI_Scaleform__GFx__AS3__VM; extern const void * RTTI_Scaleform__GFx__AS3__VMAbcFile; extern const void * RTTI_Scaleform__GFx__AS3__VMAppDomain; extern const void * RTTI_Scaleform__GFx__AS3__VMFile; extern const void * RTTI_Scaleform__GFx__AS3__XMLSupport; extern const void * RTTI_Scaleform__GFx__AS3__XMLSupportImpl; extern const void * RTTI_Scaleform__GFx__ASIMEManager; extern const void * RTTI_Scaleform__GFx__ASIMEManager__IMEFuncHandler; extern const void * RTTI_Scaleform__GFx__ASIntervalTimerIntf; extern const void * RTTI_Scaleform__GFx__ASMovieRootBase; extern const void * RTTI_Scaleform__GFx__ASStringManager; extern const void * RTTI_Scaleform__GFx__AvmDisplayObjBase; extern const void * RTTI_Scaleform__GFx__Button; extern const void * RTTI_Scaleform__GFx__ButtonDef; extern const void * RTTI_Scaleform__GFx__Clipboard; extern const void * RTTI_Scaleform__GFx__ConstShapeNoStyles; extern const void * RTTI_Scaleform__GFx__ConstShapeWithStyles; extern const void * RTTI_Scaleform__GFx__DefaultFontLibNameState; extern const void * RTTI_Scaleform__GFx__DisplayObjContainer; extern const void * RTTI_Scaleform__GFx__DisplayObject; extern const void * RTTI_Scaleform__GFx__DisplayObjectBase; extern const void * RTTI_Scaleform__GFx__DrawText; extern const void * RTTI_Scaleform__GFx__DrawTextImpl; extern const void * RTTI_Scaleform__GFx__DrawTextManager; extern const void * RTTI_Scaleform__GFx__DrawingContext; extern const void * RTTI_Scaleform__GFx__DrawingContext__PackedShape; extern const void * RTTI_Scaleform__GFx__ExecuteTag; extern const void * RTTI_Scaleform__GFx__FontCompactor; extern const void * RTTI_Scaleform__GFx__FontData; extern const void * RTTI_Scaleform__GFx__FontDataBound; extern const void * RTTI_Scaleform__GFx__FontDataCompactedGfx; extern const void * RTTI_Scaleform__GFx__FontDataCompactedSwf; extern const void * RTTI_Scaleform__GFx__FontGlyphPacker; extern const void * RTTI_Scaleform__GFx__FontHandle; extern const void * RTTI_Scaleform__GFx__FontLib; extern const void * RTTI_Scaleform__GFx__FontManager; extern const void * RTTI_Scaleform__GFx__FontManagerStates; extern const void * RTTI_Scaleform__GFx__FontMap; extern const void * RTTI_Scaleform__GFx__FontResource; extern const void * RTTI_Scaleform__GFx__FontResourceCreator; extern const void * RTTI_Scaleform__GFx__FunctionHandler; extern const void * RTTI_Scaleform__GFx__GFxInitImportActions; extern const void * RTTI_Scaleform__GFx__GFxMovieDataDefFileKeyData; extern const void * RTTI_Scaleform__GFx__GFxMovieDataDefFileKeyInterface; extern const void * RTTI_Scaleform__GFx__GFxMovieDefImplKey; extern const void * RTTI_Scaleform__GFx__GFxMovieDefImplKeyInterface; extern const void * RTTI_Scaleform__GFx__GFxPlaceObjectUnpacked; extern const void * RTTI_Scaleform__GFx__GFxSocketImpl; extern const void * RTTI_Scaleform__GFx__GFxSystemFontResourceKey; extern const void * RTTI_Scaleform__GFx__GFxSystemFontResourceKeyInterface; extern const void * RTTI_Scaleform__GFx__IMEManagerBase; extern const void * RTTI_Scaleform__GFx__ImageCreator; extern const void * RTTI_Scaleform__GFx__ImageFileHandlerRegistry; extern const void * RTTI_Scaleform__GFx__ImageFileInfo; extern const void * RTTI_Scaleform__GFx__ImageFileInfoKeyData; extern const void * RTTI_Scaleform__GFx__ImageFileKeyInterface; extern const void * RTTI_Scaleform__GFx__ImageFileResourceCreator; extern const void * RTTI_Scaleform__GFx__ImageResource; extern const void * RTTI_Scaleform__GFx__ImageResourceCreator; extern const void * RTTI_Scaleform__GFx__ImageResource__ImageDelegate; extern const void * RTTI_Scaleform__GFx__ImageShapeCharacterDef; extern const void * RTTI_Scaleform__GFx__InteractiveObject; extern const void * RTTI_Scaleform__GFx__KeyboardState; extern const void * RTTI_Scaleform__GFx__KeyboardState__IListener; extern const void * RTTI_Scaleform__GFx__LZMAFile; extern const void * RTTI_Scaleform__GFx__LZMASupport; extern const void * RTTI_Scaleform__GFx__LoadBinaryTask; extern const void * RTTI_Scaleform__GFx__LoadProcess; extern const void * RTTI_Scaleform__GFx__LoadQueueEntry; extern const void * RTTI_Scaleform__GFx__LoadQueueEntryMT; extern const void * RTTI_Scaleform__GFx__LoadQueueEntryMT_LoadBinary; extern const void * RTTI_Scaleform__GFx__LoadQueueEntryMT_LoadVars; extern const void * RTTI_Scaleform__GFx__LoadStates; extern const void * RTTI_Scaleform__GFx__LoadUpdateSync; extern const void * RTTI_Scaleform__GFx__LoadVarsTask; extern const void * RTTI_Scaleform__GFx__Loader; extern const void * RTTI_Scaleform__GFx__LoaderImpl; extern const void * RTTI_Scaleform__GFx__LoaderTask; extern const void * RTTI_Scaleform__GFx__LogState; extern const void * RTTI_Scaleform__GFx__MemoryBufferZlibImage; extern const void * RTTI_Scaleform__GFx__MemoryContext; extern const void * RTTI_Scaleform__GFx__MorphCharacterDef; extern const void * RTTI_Scaleform__GFx__Movie; extern const void * RTTI_Scaleform__GFx__MovieBindProcess; extern const void * RTTI_Scaleform__GFx__MovieDataDef; extern const void * RTTI_Scaleform__GFx__MovieDataDef__LoadTaskData; extern const void * RTTI_Scaleform__GFx__MovieDefBindStates; extern const void * RTTI_Scaleform__GFx__MovieDefImpl; extern const void * RTTI_Scaleform__GFx__MovieDefImpl__BindTaskData; extern const void * RTTI_Scaleform__GFx__MovieDefImpl__ReleaseNotifier; extern const void * RTTI_Scaleform__GFx__MovieDefRootNode; extern const void * RTTI_Scaleform__GFx__MovieDef__ResourceVisitor; extern const void * RTTI_Scaleform__GFx__MovieImageLoadTask; extern const void * RTTI_Scaleform__GFx__MovieImpl; extern const void * RTTI_Scaleform__GFx__MovieImpl__StickyVarNode; extern const void * RTTI_Scaleform__GFx__MovieImpl__WideStringStorage; extern const void * RTTI_Scaleform__GFx__MoviePreloadTask; extern const void * RTTI_Scaleform__GFx__ParseControl; extern const void * RTTI_Scaleform__GFx__PlaceObject2Tag; extern const void * RTTI_Scaleform__GFx__PlaceObject2Taga; extern const void * RTTI_Scaleform__GFx__PlaceObject3Tag; extern const void * RTTI_Scaleform__GFx__PlaceObjectTag; extern const void * RTTI_Scaleform__GFx__RemoveObject2Tag; extern const void * RTTI_Scaleform__GFx__RemoveObjectTag; extern const void * RTTI_Scaleform__GFx__Resource; extern const void * RTTI_Scaleform__GFx__ResourceData__DataInterface; extern const void * RTTI_Scaleform__GFx__ResourceFileInfo; extern const void * RTTI_Scaleform__GFx__ResourceKey__KeyInterface; extern const void * RTTI_Scaleform__GFx__ResourceLib; extern const void * RTTI_Scaleform__GFx__ResourceLib__ResourceSlot; extern const void * RTTI_Scaleform__GFx__ResourceReport; extern const void * RTTI_Scaleform__GFx__ResourceWeakLib; extern const void * RTTI_Scaleform__GFx__SetBackgroundColorTag; extern const void * RTTI_Scaleform__GFx__ShapeBaseCharacterDef; extern const void * RTTI_Scaleform__GFx__ShapeDataBase; extern const void * RTTI_Scaleform__GFx__SocketImplFactory; extern const void * RTTI_Scaleform__GFx__SocketInterface; extern const void * RTTI_Scaleform__GFx__Sprite; extern const void * RTTI_Scaleform__GFx__SpriteDef; extern const void * RTTI_Scaleform__GFx__State; extern const void * RTTI_Scaleform__GFx__StateBag; extern const void * RTTI_Scaleform__GFx__StateBagImpl; extern const void * RTTI_Scaleform__GFx__StaticTextCharacter; extern const void * RTTI_Scaleform__GFx__StaticTextDef; extern const void * RTTI_Scaleform__GFx__StaticTextSnapshotData__GlyphVisitor; extern const void * RTTI_Scaleform__GFx__Stream; extern const void * RTTI_Scaleform__GFx__SubImageResource; extern const void * RTTI_Scaleform__GFx__SubImageResourceCreator; extern const void * RTTI_Scaleform__GFx__SubImageResourceInfo; extern const void * RTTI_Scaleform__GFx__SwfShapeCharacterDef; extern const void * RTTI_Scaleform__GFx__Task; extern const void * RTTI_Scaleform__GFx__TextField; extern const void * RTTI_Scaleform__GFx__TextFieldDef; extern const void * RTTI_Scaleform__GFx__TextField__CSSHolderBase; extern const void * RTTI_Scaleform__GFx__TextField__TextDocumentListener; extern const void * RTTI_Scaleform__GFx__TextKeyMap; extern const void * RTTI_Scaleform__GFx__Text__CompositionString; extern const void * RTTI_Scaleform__GFx__Text__EditorKit; extern const void * RTTI_Scaleform__GFx__Text__StyleManager; extern const void * RTTI_Scaleform__GFx__TextureGlyphBinder; extern const void * RTTI_Scaleform__GFx__TextureGlyphData; extern const void * RTTI_Scaleform__GFx__TextureGlyphData__TextureGlyphVisitor; extern const void * RTTI_Scaleform__GFx__URLBuilder; extern const void * RTTI_Scaleform__GFx__Value__ObjectInterface; extern const void * RTTI_Scaleform__GFx__ZLibFile; extern const void * RTTI_Scaleform__GFx__ZlibImageSource; extern const void * RTTI_Scaleform__GFx__ZlibSupport; extern const void * RTTI_Scaleform__HeapPT__SysAllocGranulator; extern const void * RTTI_Scaleform__HeapPT__SysAllocWrapper; extern const void * RTTI_Scaleform__Log; extern const void * RTTI_Scaleform__LongFormatter; extern const void * RTTI_Scaleform__MemoryFile; extern const void * RTTI_Scaleform__MemoryHeap; extern const void * RTTI_Scaleform__MemoryHeapMH; extern const void * RTTI_Scaleform__MemoryHeapPT; extern const void * RTTI_Scaleform__MemoryHeap__LimitHandler; extern const void * RTTI_Scaleform__MsgFormat; extern const void * RTTI_Scaleform__Mutex; extern const void * RTTI_Scaleform__Mutex_AreadyLockedAcquireInterface; extern const void * RTTI_Scaleform__RefCountImplCore; extern const void * RTTI_Scaleform__RefCountNTSImplCore; extern const void * RTTI_Scaleform__RefCountWeakSupportImpl; extern const void * RTTI_Scaleform__Render__BevelFilter; extern const void * RTTI_Scaleform__Render__BlendModeBundle; extern const void * RTTI_Scaleform__Render__BlendModeEffect; extern const void * RTTI_Scaleform__Render__BlendPrimitive; extern const void * RTTI_Scaleform__Render__BlurFilter; extern const void * RTTI_Scaleform__Render__BlurFilterImpl; extern const void * RTTI_Scaleform__Render__Bundle; extern const void * RTTI_Scaleform__Render__CacheAsBitmapFilter; extern const void * RTTI_Scaleform__Render__CacheBase; extern const void * RTTI_Scaleform__Render__CacheEffect; extern const void * RTTI_Scaleform__Render__CacheablePrimitive; extern const void * RTTI_Scaleform__Render__CacheableTargetEffect; extern const void * RTTI_Scaleform__Render__ColorMatrixFilter; extern const void * RTTI_Scaleform__Render__ComplexFill; extern const void * RTTI_Scaleform__Render__ComplexMesh; extern const void * RTTI_Scaleform__Render__ComplexMeshVertexOutput; extern const void * RTTI_Scaleform__Render__ComplexPrimitiveBundle; extern const void * RTTI_Scaleform__Render__ContextImpl__ContextCaptureNotify; extern const void * RTTI_Scaleform__Render__ContextImpl__ContextCaptureNotifyListVisitor; extern const void * RTTI_Scaleform__Render__ContextImpl__ContextCaptureNotifyListVisitor_OnCapture; extern const void * RTTI_Scaleform__Render__ContextImpl__ContextCaptureNotifyListVisitor_OnNextCapture; extern const void * RTTI_Scaleform__Render__ContextImpl__ContextCaptureNotifyListVisitor_OnSetCaptureThreadId; extern const void * RTTI_Scaleform__Render__ContextImpl__ContextCaptureNotifyListVisitor_OnShutdown; extern const void * RTTI_Scaleform__Render__ContextImpl__ContextLock; extern const void * RTTI_Scaleform__Render__ContextImpl__EntryData; extern const void * RTTI_Scaleform__Render__ContextImpl__RTHandle__HandleData; extern const void * RTTI_Scaleform__Render__ContextImpl__RenderNotify; extern const void * RTTI_Scaleform__Render__ContextImpl__RenderNotify__ServiceCommand; extern const void * RTTI_Scaleform__Render__CreationRenderer__DepthStencilSurface; extern const void * RTTI_Scaleform__Render__CreationRenderer__HAL; extern const void * RTTI_Scaleform__Render__CreationRenderer__IndexBuffer; extern const void * RTTI_Scaleform__Render__CreationRenderer__MappedTexture; extern const void * RTTI_Scaleform__Render__CreationRenderer__MeshBufferSet; extern const void * RTTI_Scaleform__Render__CreationRenderer__MeshCache; extern const void * RTTI_Scaleform__Render__CreationRenderer__MeshCacheItem; extern const void * RTTI_Scaleform__Render__CreationRenderer__PendingResourceDestroyEntry; extern const void * RTTI_Scaleform__Render__CreationRenderer__RenderEvents; extern const void * RTTI_Scaleform__Render__CreationRenderer__RenderSync; extern const void * RTTI_Scaleform__Render__CreationRenderer__RenderTargetData; extern const void * RTTI_Scaleform__Render__CreationRenderer__ShaderInterface; extern const void * RTTI_Scaleform__Render__CreationRenderer__ShaderInterface__MappedUniformBuffer; extern const void * RTTI_Scaleform__Render__CreationRenderer__ShaderManager; extern const void * RTTI_Scaleform__Render__CreationRenderer__Texture; extern const void * RTTI_Scaleform__Render__CreationRenderer__TextureFormat; extern const void * RTTI_Scaleform__Render__CreationRenderer__TextureManager; extern const void * RTTI_Scaleform__Render__CreationRenderer__VertexBuffer; extern const void * RTTI_Scaleform__Render__DDS__DDSFileImageSource; extern const void * RTTI_Scaleform__Render__DDS__FileReader; extern const void * RTTI_Scaleform__Render__DICommand; extern const void * RTTI_Scaleform__Render__DICommandQueue; extern const void * RTTI_Scaleform__Render__DICommandQueue__ExecuteCommand; extern const void * RTTI_Scaleform__Render__DICommand_ApplyFilter; extern const void * RTTI_Scaleform__Render__DICommand_Clear; extern const void * RTTI_Scaleform__Render__DICommand_ColorTransform; extern const void * RTTI_Scaleform__Render__DICommand_Compare; extern const void * RTTI_Scaleform__Render__DICommand_CopyChannel; extern const void * RTTI_Scaleform__Render__DICommand_CopyPixels; extern const void * RTTI_Scaleform__Render__DICommand_CreateTexture; extern const void * RTTI_Scaleform__Render__DICommand_Dispose; extern const void * RTTI_Scaleform__Render__DICommand_Draw; extern const void * RTTI_Scaleform__Render__DICommand_FillRect; extern const void * RTTI_Scaleform__Render__DICommand_FloodFill; extern const void * RTTI_Scaleform__Render__DICommand_GetColorBoundsRect; extern const void * RTTI_Scaleform__Render__DICommand_GetPixel32; extern const void * RTTI_Scaleform__Render__DICommand_GetPixels; extern const void * RTTI_Scaleform__Render__DICommand_Histogram; extern const void * RTTI_Scaleform__Render__DICommand_HitTest; extern const void * RTTI_Scaleform__Render__DICommand_Merge; extern const void * RTTI_Scaleform__Render__DICommand_Noise; extern const void * RTTI_Scaleform__Render__DICommand_PaletteMap; extern const void * RTTI_Scaleform__Render__DICommand_PerlinNoise; extern const void * RTTI_Scaleform__Render__DICommand_PixelDissolve; extern const void * RTTI_Scaleform__Render__DICommand_Scroll; extern const void * RTTI_Scaleform__Render__DICommand_SetPixel32; extern const void * RTTI_Scaleform__Render__DICommand_SetPixels; extern const void * RTTI_Scaleform__Render__DICommand_SourceRect; extern const void * RTTI_Scaleform__Render__DICommand_Threshold; extern const void * RTTI_Scaleform__Render__DIPixelProvider; extern const void * RTTI_Scaleform__Render__DepthStencilBuffer; extern const void * RTTI_Scaleform__Render__DepthStencilSurface; extern const void * RTTI_Scaleform__Render__DestroyDrawableImageThreadCommand; extern const void * RTTI_Scaleform__Render__DisplacementMapFilter; extern const void * RTTI_Scaleform__Render__DrawableImage; extern const void * RTTI_Scaleform__Render__DrawableImageContext; extern const void * RTTI_Scaleform__Render__Fence; extern const void * RTTI_Scaleform__Render__FenceWrapperList; extern const void * RTTI_Scaleform__Render__FileImageSource; extern const void * RTTI_Scaleform__Render__FilterBundle; extern const void * RTTI_Scaleform__Render__FilterEffect; extern const void * RTTI_Scaleform__Render__FilterPrimitive; extern const void * RTTI_Scaleform__Render__FilterSet; extern const void * RTTI_Scaleform__Render__Font; extern const void * RTTI_Scaleform__Render__FontCacheHandleManager; extern const void * RTTI_Scaleform__Render__GlowFilter; extern const void * RTTI_Scaleform__Render__GlyphCache; extern const void * RTTI_Scaleform__Render__GlyphCacheConfig; extern const void * RTTI_Scaleform__Render__GlyphCache__EvictNotifier; extern const void * RTTI_Scaleform__Render__GlyphEvictNotifier; extern const void * RTTI_Scaleform__Render__GlyphFitter; extern const void * RTTI_Scaleform__Render__GlyphRaster; extern const void * RTTI_Scaleform__Render__GlyphShape; extern const void * RTTI_Scaleform__Render__GlyphTextureImage; extern const void * RTTI_Scaleform__Render__GradientData; extern const void * RTTI_Scaleform__Render__GradientFilter; extern const void * RTTI_Scaleform__Render__GradientImage; extern const void * RTTI_Scaleform__Render__HAL; extern const void * RTTI_Scaleform__Render__HALBeginDisplayItem; extern const void * RTTI_Scaleform__Render__HALEndDisplayItem; extern const void * RTTI_Scaleform__Render__HALNotify; extern const void * RTTI_Scaleform__Render__HALSetUserMatrixItem__HALSetUserMatrixItemInterface; extern const void * RTTI_Scaleform__Render__Hairliner; extern const void * RTTI_Scaleform__Render__Image; extern const void * RTTI_Scaleform__Render__ImageFileHandler; extern const void * RTTI_Scaleform__Render__ImageFileHandlerRegistry; extern const void * RTTI_Scaleform__Render__ImageSwizzler; extern const void * RTTI_Scaleform__Render__ImageUpdate; extern const void * RTTI_Scaleform__Render__ImageUpdateSync; extern const void * RTTI_Scaleform__Render__JPEG__ExtraData; extern const void * RTTI_Scaleform__Render__JPEG__TablesHeader; extern const void * RTTI_Scaleform__Render__MappedTextureBase; extern const void * RTTI_Scaleform__Render__MaskBundle; extern const void * RTTI_Scaleform__Render__MaskEffect; extern const void * RTTI_Scaleform__Render__MaskNodeState__Interface; extern const void * RTTI_Scaleform__Render__MaskPrimitive; extern const void * RTTI_Scaleform__Render__MatrixPoolImpl__MatrixPool; extern const void * RTTI_Scaleform__Render__MatrixState; extern const void * RTTI_Scaleform__Render__MatrixStateFactory; extern const void * RTTI_Scaleform__Render__MemoryBufferImage; extern const void * RTTI_Scaleform__Render__Mesh; extern const void * RTTI_Scaleform__Render__MeshBase; extern const void * RTTI_Scaleform__Render__MeshBuffer; extern const void * RTTI_Scaleform__Render__MeshCache; extern const void * RTTI_Scaleform__Render__MeshCacheConfig; extern const void * RTTI_Scaleform__Render__MeshCacheItem; extern const void * RTTI_Scaleform__Render__MeshKeyManager; extern const void * RTTI_Scaleform__Render__MeshKeySet; extern const void * RTTI_Scaleform__Render__MeshProvider; extern const void * RTTI_Scaleform__Render__MeshProvider_KeySupport; extern const void * RTTI_Scaleform__Render__MeshStagingNode; extern const void * RTTI_Scaleform__Render__MeshVertexOutput; extern const void * RTTI_Scaleform__Render__MetaImage; extern const void * RTTI_Scaleform__Render__MorphInterpolator; extern const void * RTTI_Scaleform__Render__MorphShapeData; extern const void * RTTI_Scaleform__Render__OrigScale9ParentState__Interface; extern const void * RTTI_Scaleform__Render__PNG__FileReader; extern const void * RTTI_Scaleform__Render__PNG__FileWriter; extern const void * RTTI_Scaleform__Render__PNG__Input; extern const void * RTTI_Scaleform__Render__PNG__LibPNGInput; extern const void * RTTI_Scaleform__Render__PNG__MemoryBufferImage; extern const void * RTTI_Scaleform__Render__PNG__PNGFileImageSource; extern const void * RTTI_Scaleform__Render__Primitive; extern const void * RTTI_Scaleform__Render__PrimitiveBundle; extern const void * RTTI_Scaleform__Render__PrimitiveFill; extern const void * RTTI_Scaleform__Render__PrimitiveFillManager; extern const void * RTTI_Scaleform__Render__ProfileModifier; extern const void * RTTI_Scaleform__Render__ProfileViews; extern const void * RTTI_Scaleform__Render__ProjectionMatrix3DBundle; extern const void * RTTI_Scaleform__Render__ProjectionMatrix3DEffect; extern const void * RTTI_Scaleform__Render__ProjectionMatrix3DPrimitive; extern const void * RTTI_Scaleform__Render__RBGenericImpl__DepthStencilBuffer; extern const void * RTTI_Scaleform__Render__RBGenericImpl__RenderBufferManager; extern const void * RTTI_Scaleform__Render__RBGenericImpl__RenderTarget; extern const void * RTTI_Scaleform__Render__Rasterizer; extern const void * RTTI_Scaleform__Render__RawImage; extern const void * RTTI_Scaleform__Render__RenderBuffer; extern const void * RTTI_Scaleform__Render__RenderBufferManager; extern const void * RTTI_Scaleform__Render__RenderEvents; extern const void * RTTI_Scaleform__Render__RenderQueueItem__Interface; extern const void * RTTI_Scaleform__Render__RenderSync; extern const void * RTTI_Scaleform__Render__RenderTarget; extern const void * RTTI_Scaleform__Render__RenderTargetData; extern const void * RTTI_Scaleform__Render__SIF__FileReader; extern const void * RTTI_Scaleform__Render__SIF__SIFFileImageSource; extern const void * RTTI_Scaleform__Render__SKI_BlendMode; extern const void * RTTI_Scaleform__Render__SKI_ComplexPrimitive; extern const void * RTTI_Scaleform__Render__SKI_Filter; extern const void * RTTI_Scaleform__Render__SKI_MaskEnd; extern const void * RTTI_Scaleform__Render__SKI_MaskEnd__RQII_EndMask; extern const void * RTTI_Scaleform__Render__SKI_MaskStart; extern const void * RTTI_Scaleform__Render__SKI_Primitive; extern const void * RTTI_Scaleform__Render__SKI_ProjectionMatrix3D; extern const void * RTTI_Scaleform__Render__SKI_TextPrimitive; extern const void * RTTI_Scaleform__Render__SKI_UserData; extern const void * RTTI_Scaleform__Render__SKI_ViewMatrix3D; extern const void * RTTI_Scaleform__Render__Scale9GridData; extern const void * RTTI_Scaleform__Render__Scale9GridInfo; extern const void * RTTI_Scaleform__Render__Scale9GridRect; extern const void * RTTI_Scaleform__Render__ShadowFilter; extern const void * RTTI_Scaleform__Render__ShapeDataFloat; extern const void * RTTI_Scaleform__Render__ShapeDataFloatMP; extern const void * RTTI_Scaleform__Render__ShapeMeshProvider; extern const void * RTTI_Scaleform__Render__SortKeyInterface; extern const void * RTTI_Scaleform__Render__StateData__Interface; extern const void * RTTI_Scaleform__Render__StateData__Interface_RefCountImpl; extern const void * RTTI_Scaleform__Render__StateData__Interface_Value; extern const void * RTTI_Scaleform__Render__StrokeScaler; extern const void * RTTI_Scaleform__Render__StrokeSorter; extern const void * RTTI_Scaleform__Render__Stroker; extern const void * RTTI_Scaleform__Render__StrokerAA; extern const void * RTTI_Scaleform__Render__SubImage; extern const void * RTTI_Scaleform__Render__SystemVertexFormat; extern const void * RTTI_Scaleform__Render__TGA__FileReader; extern const void * RTTI_Scaleform__Render__TGA__TGAFileImageSource; extern const void * RTTI_Scaleform__Render__TessBase; extern const void * RTTI_Scaleform__Render__Tessellator; extern const void * RTTI_Scaleform__Render__TextLayerPrimitive; extern const void * RTTI_Scaleform__Render__TextLayout; extern const void * RTTI_Scaleform__Render__TextMeshProvider; extern const void * RTTI_Scaleform__Render__TextPrimitiveBundle; extern const void * RTTI_Scaleform__Render__Text__Allocator; extern const void * RTTI_Scaleform__Render__Text__Allocator__TextFormatVisitor; extern const void * RTTI_Scaleform__Render__Text__DocView; extern const void * RTTI_Scaleform__Render__Text__DocView__DocumentText; extern const void * RTTI_Scaleform__Render__Text__EditorKitBase; extern const void * RTTI_Scaleform__Render__Text__FontHandle; extern const void * RTTI_Scaleform__Render__Text__FontManagerBase; extern const void * RTTI_Scaleform__Render__Text__HTMLImageTagDesc; extern const void * RTTI_Scaleform__Render__Text__ImageDesc; extern const void * RTTI_Scaleform__Render__Text__StyleManagerBase; extern const void * RTTI_Scaleform__Render__Text__StyledText; extern const void * RTTI_Scaleform__Render__Text__TextFilter; extern const void * RTTI_Scaleform__Render__Texture; extern const void * RTTI_Scaleform__Render__TextureFormat; extern const void * RTTI_Scaleform__Render__TextureGlyph; extern const void * RTTI_Scaleform__Render__TextureImage; extern const void * RTTI_Scaleform__Render__TextureManager; extern const void * RTTI_Scaleform__Render__TextureManagerLocks; extern const void * RTTI_Scaleform__Render__TextureManager__ServiceCommand; extern const void * RTTI_Scaleform__Render__ThreadCommandQueue; extern const void * RTTI_Scaleform__Render__TransformerBase; extern const void * RTTI_Scaleform__Render__TreeCacheContainer; extern const void * RTTI_Scaleform__Render__TreeCacheMeshBase; extern const void * RTTI_Scaleform__Render__TreeCacheNode; extern const void * RTTI_Scaleform__Render__TreeCacheRoot; extern const void * RTTI_Scaleform__Render__TreeCacheShape; extern const void * RTTI_Scaleform__Render__TreeCacheShapeLayer; extern const void * RTTI_Scaleform__Render__TreeCacheText; extern const void * RTTI_Scaleform__Render__TreeContainer__NodeData; extern const void * RTTI_Scaleform__Render__TreeNode__NodeData; extern const void * RTTI_Scaleform__Render__TreeRoot__NodeData; extern const void * RTTI_Scaleform__Render__TreeShape__NodeData; extern const void * RTTI_Scaleform__Render__TreeText__NodeData; extern const void * RTTI_Scaleform__Render__UserDataBundle; extern const void * RTTI_Scaleform__Render__UserDataEffect; extern const void * RTTI_Scaleform__Render__UserDataPrimitive; extern const void * RTTI_Scaleform__Render__UserDataState__Data; extern const void * RTTI_Scaleform__Render__VectorGlyphShape; extern const void * RTTI_Scaleform__Render__VertexOutput; extern const void * RTTI_Scaleform__Render__VertexPath; extern const void * RTTI_Scaleform__Render__ViewMatrix3DBundle; extern const void * RTTI_Scaleform__Render__ViewMatrix3DEffect; extern const void * RTTI_Scaleform__Render__ViewMatrix3DPrimitive; extern const void * RTTI_Scaleform__Render__WrapperImageSource; extern const void * RTTI_Scaleform__RepeatFormatter; extern const void * RTTI_Scaleform__ResourceFormatter; extern const void * RTTI_Scaleform__Semaphore; extern const void * RTTI_Scaleform__SemaphoreWaitableIncrement; extern const void * RTTI_Scaleform__StrFormatter; extern const void * RTTI_Scaleform__String__InitStruct; extern const void * RTTI_Scaleform__SwitchFormatter; extern const void * RTTI_Scaleform__SysAllocBase; extern const void * RTTI_Scaleform__SysAllocMalloc; extern const void * RTTI_Scaleform__SysAllocMapper; extern const void * RTTI_Scaleform__SysAllocStatic; extern const void * RTTI_Scaleform__SysFile; extern const void * RTTI_Scaleform__SysMemMapper; extern const void * RTTI_Scaleform__Thread; extern const void * RTTI_Scaleform__UnopenedFile; extern const void * RTTI_Scaleform__Waitable; extern const void * RTTI_SceneNextPhaseHandler; extern const void * RTTI_ScopeMenu; extern const void * RTTI_ScopeMenuUtil__FadeCallback; extern const void * RTTI_ScopeMenu__ScopeMenuDataEventShuttle; extern const void * RTTI_ScopeMenu__ScopeScalingData; extern const void * RTTI_ScopeMenu__ZoomLevelData; extern const void * RTTI_ScrapHeap; extern const void * RTTI_Script; extern const void * RTTI_ScriptEffect; extern const void * RTTI_ScriptedRefEffect; extern const void * RTTI_ScrollBar; extern const void * RTTI_ScrollBar_Horizontal; extern const void * RTTI_ScrollItem; extern const void * RTTI_SearchPage; extern const void * RTTI_SearchResultsPage; extern const void * RTTI_SecurityMenu; extern const void * RTTI_SecurityMenu_BackOutKey; extern const void * RTTI_SecurityMenu_CloseMenu; extern const void * RTTI_SecurityMenu_ConfirmExit; extern const void * RTTI_SecurityMenu_EliminateUnusedKeys; extern const void * RTTI_SecurityMenu_GetRingHint; extern const void * RTTI_SecurityMenu_SelectNewKey; extern const void * RTTI_SecurityMenu_TryUseKey; extern const void * RTTI_SecurityMenu__SecurityMenuEventShuttle; extern const void * RTTI_SeenData; extern const void * RTTI_Service; extern const void * RTTI_SetOrientNode; extern const void * RTTI_SetOrientNodeInstance; extern const void * RTTI_SetPosNode; extern const void * RTTI_SetPosNodeInstance; extern const void * RTTI_Setting; extern const void * RTTI_SettingsDataModel; extern const void * RTTI_SettingsDataModel__SettingsEventShuttle; extern const void * RTTI_SettingsPanel_CheckBoxChanged; extern const void * RTTI_SettingsPanel_ClearBinding; extern const void * RTTI_SettingsPanel_LinkClicked; extern const void * RTTI_SettingsPanel_OpenCategory; extern const void * RTTI_SettingsPanel_OpenSettings; extern const void * RTTI_SettingsPanel_RemapConfirmed; extern const void * RTTI_SettingsPanel_RemapMode; extern const void * RTTI_SettingsPanel_ResetToDefaults; extern const void * RTTI_SettingsPanel_SaveControls; extern const void * RTTI_SettingsPanel_SaveSettings; extern const void * RTTI_SettingsPanel_SliderChanged; extern const void * RTTI_SettingsPanel_StepperChanged; extern const void * RTTI_SettingsPanel_ValidateControls; extern const void * RTTI_SetupGraphRagdollHandler; extern const void * RTTI_ShaderReferenceEffect; extern const void * RTTI_SharedHeapAllocator; extern const void * RTTI_ShipActionCameraState; extern const void * RTTI_ShipBuilderBIEvents__ShipBuilderEventManager; extern const void * RTTI_ShipBuilder_CloseAllMenus; extern const void * RTTI_ShipCombatOrbitCameraState; extern const void * RTTI_ShipCrewAssignData; extern const void * RTTI_ShipCrewAssignData__ShipCrewAssignMenuEventShuttle; extern const void * RTTI_ShipCrewAssignMenu; extern const void * RTTI_ShipCrewAssignMenu_Assign; extern const void * RTTI_ShipCrewAssignMenu_Unassign; extern const void * RTTI_ShipCrewData; extern const void * RTTI_ShipCrewData__ShipCrewMenuEventShuttle; extern const void * RTTI_ShipCrewMenu; extern const void * RTTI_ShipCrewMenu_Close; extern const void * RTTI_ShipCrewMenu_OpenAssignMenu; extern const void * RTTI_ShipCrewMenu_SetSort; extern const void * RTTI_ShipCrewMenu_ViewedItem; extern const void * RTTI_ShipEditor_ChangeModuleCategory; extern const void * RTTI_ShipEditor_OnColorPickerControlChanged; extern const void * RTTI_ShipEditor_OnColorPickerTabChanged; extern const void * RTTI_ShipEditor_OnColorSliderMouseInput; extern const void * RTTI_ShipEditor_OnExitConfirmCancel; extern const void * RTTI_ShipEditor_OnExitConfirmExit; extern const void * RTTI_ShipEditor_OnExitConfirmSaveAndExit; extern const void * RTTI_ShipEditor_OnFlightCheckTabChanged; extern const void * RTTI_ShipEditor_OnHintButtonActivated; extern const void * RTTI_ShipEditor_OnRecentColorSwatchClicked; extern const void * RTTI_ShipEditor_OnRenameEndEditText; extern const void * RTTI_ShipEditor_OnRenameInputCancelled; extern const void * RTTI_ShipEditor_OnWeaponGroupChanged; extern const void * RTTI_ShipEditor_PreviewShipPart; extern const void * RTTI_ShipEditor_PreviewUpgrade; extern const void * RTTI_ShipEditor_RemoveAll3D; extern const void * RTTI_ShipEditor_SelectedShipPart; extern const void * RTTI_ShipEditor_SelectedUpgrade; extern const void * RTTI_ShipEditor_SystemSelected; extern const void * RTTI_ShipFarTravelCameraState; extern const void * RTTI_ShipHudDataModel; extern const void * RTTI_ShipHudDataModel__ShipHudEventShuttle; extern const void * RTTI_ShipHudQuickContainer_TransferItem; extern const void * RTTI_ShipHudQuickContainer_TransferMenu; extern const void * RTTI_ShipHud_AbortJump; extern const void * RTTI_ShipHud_Activate; extern const void * RTTI_ShipHud_BodyViewMarkerDimensions; extern const void * RTTI_ShipHud_ChangeComponentSelection; extern const void * RTTI_ShipHud_CloseMenu; extern const void * RTTI_ShipHud_Deselect; extern const void * RTTI_ShipHud_DockRequested; extern const void * RTTI_ShipHud_FarTravel; extern const void * RTTI_ShipHud_HailAccepted; extern const void * RTTI_ShipHud_HailCancelled; extern const void * RTTI_ShipHud_HailShip; extern const void * RTTI_ShipHud_JumpToQuestMarker; extern const void * RTTI_ShipHud_Land; extern const void * RTTI_ShipHud_LandingMarkerMap; extern const void * RTTI_ShipHud_Map; extern const void * RTTI_ShipHud_OnMonocleToggle; extern const void * RTTI_ShipHud_OpenPhotoMode; extern const void * RTTI_ShipHud_Repair; extern const void * RTTI_ShipHud_SetTargetMode; extern const void * RTTI_ShipHud_Target; extern const void * RTTI_ShipHud_TargetShipSystem; extern const void * RTTI_ShipHud_UntargetShipSystem; extern const void * RTTI_ShipHud_UpdateComponentPower; extern const void * RTTI_ShipHud_UpdateTargetPanelRect; extern const void * RTTI_ShipRefuelMenu; extern const void * RTTI_ShipRefuelMenuDataModel; extern const void * RTTI_ShipRefuelMenuDataModel__ShipRefuelMenuEventShuttle; extern const void * RTTI_ShipTargetingCameraState; extern const void * RTTI_ShowSubsegmentHandler; extern const void * RTTI_SideBar; extern const void * RTTI_SimpleAnimationGraphManagerHolder; extern const void * RTTI_SimpleAnimationGraphManagerLoadingTask; extern const void * RTTI_SingleBoneIKNode; extern const void * RTTI_SingleBoneIKNodeInstance; extern const void * RTTI_SitWaitMenu; extern const void * RTTI_Sizing__mpBoxSizer; extern const void * RTTI_Sizing__mpButtonSizer; extern const void * RTTI_Sizing__mpSizer; extern const void * RTTI_SkillsMenu; extern const void * RTTI_SkillsMenu_Accept; extern const void * RTTI_SkillsMenu_AddPatch; extern const void * RTTI_SkillsMenu_Cancel; extern const void * RTTI_SkillsMenu_ChangeCursorVisibility; extern const void * RTTI_SkillsMenu_SaveLastCategory; extern const void * RTTI_SkillsMenu__SkillsMenuEventShuttle; extern const void * RTTI_SkinAttach; extern const void * RTTI_Sky; extern const void * RTTI_SkyEffectController; extern const void * RTTI_SleepWaitMenu; extern const void * RTTI_SleepWaitMenu_InterruptRest; extern const void * RTTI_SleepWaitMenu_StartRest; extern const void * RTTI_SleepWaitMenu__SleepWaitMenuEventShuttle; extern const void * RTTI_SlideStartHandler; extern const void * RTTI_SlowTimeEffect; extern const void * RTTI_SneakStateChangeHandler; extern const void * RTTI_SortFilter; extern const void * RTTI_SoulTrapEffect; extern const void * RTTI_SpaceComponentViewAccessWrite; extern const void * RTTI_SpaceCruise__CruiseEventHandler; extern const void * RTTI_SpaceCruise__NearOrbitalCruise; extern const void * RTTI_SpaceCruise__NearPlanetCruise; extern const void * RTTI_SpaceCruise__OutsidePlanetOrbitalCruise; extern const void * RTTI_SpaceCruise__PlanetAndMoonCruise; extern const void * RTTI_SpaceshipAIComponentEventHandler; extern const void * RTTI_SpaceshipBIEvents__EventSink; extern const void * RTTI_SpaceshipBoostPart; extern const void * RTTI_SpaceshipDockingFinishedHandler; extern const void * RTTI_SpaceshipEditor__HangarModeState_Null; extern const void * RTTI_SpaceshipEditor__HangarModeState_ShipInspect; extern const void * RTTI_SpaceshipEditor__HangarModeState_ShipSelection; extern const void * RTTI_SpaceshipEditor__HangarModeState_ShipSelection__HangarModeStateShipSelectionEventShuttle; extern const void * RTTI_SpaceshipEditor__IModuleModeSubState; extern const void * RTTI_SpaceshipEditor__IVehicleHangarModeSubState; extern const void * RTTI_SpaceshipEditor__ModuleModeState_Add; extern const void * RTTI_SpaceshipEditor__ModuleModeState_Add__ModuleModeStateAddEventShuttle; extern const void * RTTI_SpaceshipEditor__ModuleModeState_Color; extern const void * RTTI_SpaceshipEditor__ModuleModeState_Color__ModuleModeState_ColorEventShuttle; extern const void * RTTI_SpaceshipEditor__ModuleModeState_Edit; extern const void * RTTI_SpaceshipEditor__ModuleModeState_Empty; extern const void * RTTI_SpaceshipEditor__ModuleModeState_Null; extern const void * RTTI_SpaceshipEditor__ModuleModeState_Selection; extern const void * RTTI_SpaceshipEditor__ShipBuilderState_Exiting; extern const void * RTTI_SpaceshipEditor__ShipBuilderState_Exiting__ShipBuilderState_ExitingEventShuttle; extern const void * RTTI_SpaceshipEditor__ShipBuilderState_FlightCheck; extern const void * RTTI_SpaceshipEditor__ShipBuilderState_FlightCheck__ShipBuilderState_FlightCheckEventShuttle; extern const void * RTTI_SpaceshipEditor__ShipBuilderState_HangarMode; extern const void * RTTI_SpaceshipEditor__ShipBuilderState_Loading; extern const void * RTTI_SpaceshipEditor__ShipBuilderState_ModuleMode; extern const void * RTTI_SpaceshipEditor__ShipBuilderState_Null; extern const void * RTTI_SpaceshipEditor__ShipBuilderState_Popup; extern const void * RTTI_SpaceshipEditor__ShipBuilderState_Rename; extern const void * RTTI_SpaceshipEditor__ShipBuilderState_Rename__ShipBuilderState_RenameEventShuttle; extern const void * RTTI_SpaceshipEditor__ShipBuilderState_UpgradeMode; extern const void * RTTI_SpaceshipEditor__ShipBuilderState_VehicleHangarMode; extern const void * RTTI_SpaceshipEditor__ShipHangarData; extern const void * RTTI_SpaceshipEditor__ShipHangarData__ShipHangarEventShuttle; extern const void * RTTI_SpaceshipEditor__Spaceship3DManager; extern const void * RTTI_SpaceshipEditor__Spaceship3DManager__Spaceship3DManagerEventShuttle; extern const void * RTTI_SpaceshipEditor__SpaceshipEditorColorWidget; extern const void * RTTI_SpaceshipEditor__SpaceshipEditorGame3DManager; extern const void * RTTI_SpaceshipEditor__SpaceshipEditorMenu; extern const void * RTTI_SpaceshipEditor__SpaceshipEditorMenu__ShipBuilderEventShuttle; extern const void * RTTI_SpaceshipEditor__SpaceshipEditorUIColorData; extern const void * RTTI_SpaceshipEditor__UpgradeModeState_Null; extern const void * RTTI_SpaceshipEditor__UpgradeModeState_Replace; extern const void * RTTI_SpaceshipEditor__UpgradeModeState_Replace__UpgradeModeStateRepalceEventShuttle; extern const void * RTTI_SpaceshipEditor__UpgradeModeState_SystemSelect; extern const void * RTTI_SpaceshipEditor__UpgradeModeState_SystemSelect__UpgradeModeStateEmptyEventShuttle; extern const void * RTTI_SpaceshipEditor__VehicleHangarModeState_ColorVehicle; extern const void * RTTI_SpaceshipEditor__VehicleHangarModeState_ColorVehicle__VehicleHangarModeState_ColorVehicleEventShuttle; extern const void * RTTI_SpaceshipEditor__VehicleHangarModeState_Null; extern const void * RTTI_SpaceshipEditor__VehicleHangarModeState_VehicleSelection; extern const void * RTTI_SpaceshipEditor__VehicleHangarModeState_VehicleUnlock; extern const void * RTTI_SpaceshipEffectsUtil__EventSink; extern const void * RTTI_SpaceshipEquipmentComponent; extern const void * RTTI_SpaceshipEquipmentUtils__SpaceshipEquipmentEventHandler; extern const void * RTTI_SpaceshipGravDrivePart; extern const void * RTTI_SpaceshipHudMenu; extern const void * RTTI_SpaceshipLandingFinishedFailsafeHandler; extern const void * RTTI_SpaceshipLandingFinishedHandler; extern const void * RTTI_SpaceshipLinkedCell__ExteriorShipCell; extern const void * RTTI_SpaceshipLinkedCell__InteriorShipCell; extern const void * RTTI_SpaceshipLinkedCell__ShipCell; extern const void * RTTI_SpaceshipMobilityPart; extern const void * RTTI_SpaceshipPart; extern const void * RTTI_SpaceshipPlayerSounds; extern const void * RTTI_SpaceshipShieldPart; extern const void * RTTI_SpaceshipSoundsUtils__SpaceshipSoundsEventHandler; extern const void * RTTI_SpaceshipTakeOffFinishedHandler; extern const void * RTTI_SpaceshipUndockingFinishedHandler; extern const void * RTTI_SpaceshipWeapon; extern const void * RTTI_Spaceship__InstanceData; extern const void * RTTI_Spaceship__LadderSwapHandler; extern const void * RTTI_Spaceship__ShipProxyCollisionListener; extern const void * RTTI_Spaceship__TargetingMode; extern const void * RTTI_SpawnHazardEffect; extern const void * RTTI_SpawnOnDestroyUtils__SpawnOnDestroyEventHandler; extern const void * RTTI_SpecificItemCollector; extern const void * RTTI_SpectatorPackage; extern const void * RTTI_SpeedScale; extern const void * RTTI_SpeedScaleInstance; extern const void * RTTI_SpellItem; extern const void * RTTI_SpringBoneData; extern const void * RTTI_SpringBoneInstance; extern const void * RTTI_StaggerEffect; extern const void * RTTI_StaggerMeter; extern const void * RTTI_StaggerMeterInstance; extern const void * RTTI_StaggeredStopHandler; extern const void * RTTI_StarField__LoadNodeBarrier; extern const void * RTTI_StarField__ModuleState; extern const void * RTTI_StarField__SpaceReference__RetargetExterior3d; extern const void * RTTI_StarMapMenu_ExecuteRoute; extern const void * RTTI_StarMapMenu_Galaxy_FocusSystem; extern const void * RTTI_StarMapMenu_LandingInputInProgress; extern const void * RTTI_StarMapMenu_MarkerGroupContainerVisibilityChanged; extern const void * RTTI_StarMapMenu_MarkerGroupEntryClicked; extern const void * RTTI_StarMapMenu_MarkerGroupEntryHoverChanged; extern const void * RTTI_StarMapMenu_OnCancel; extern const void * RTTI_StarMapMenu_OnClearRoute; extern const void * RTTI_StarMapMenu_OnExitStarMap; extern const void * RTTI_StarMapMenu_OnGalaxyViewInitialized; extern const void * RTTI_StarMapMenu_OnHintButtonClicked; extern const void * RTTI_StarMapMenu_OnOutpostEntrySelected; extern const void * RTTI_StarMapMenu_QuickSelectChange; extern const void * RTTI_StarMapMenu_ReadyToClose; extern const void * RTTI_StarMapMenu_ScanPlanet; extern const void * RTTI_StarMapMenu_SelectedLandingSite; extern const void * RTTI_StarMapMenu_SelectedLandingSiteFailed; extern const void * RTTI_StarMapMenu_ShowRealCursor; extern const void * RTTI_StarMap__BodyInfoToUI; extern const void * RTTI_StarMap__BodyInspectState; extern const void * RTTI_StarMap__BodyInspectState__BodyInspectStateEventShuttle; extern const void * RTTI_StarMap__ConfirmCustomMarkerActionCallback; extern const void * RTTI_StarMap__DelayCommand; extern const void * RTTI_StarMap__Galaxy3DScene; extern const void * RTTI_StarMap__GalaxyState; extern const void * RTTI_StarMap__GalaxyState__GalaxyStateEventShuttle; extern const void * RTTI_StarMap__IStarMapState; extern const void * RTTI_StarMap__PlanetInfoToUI; extern const void * RTTI_StarMap__SelectBodyEventHelper; extern const void * RTTI_StarMap__StarMapMenu; extern const void * RTTI_StarMap__StarMapMenuDataModel; extern const void * RTTI_StarMap__StarMapMenuDataModel__StarMapMenuEventShuttle; extern const void * RTTI_StarMap__StarMapMenu__StarMapMenuEventShuttle; extern const void * RTTI_StarMap__StarMapSystemMobile; extern const void * RTTI_StarMap__SurfaceMap3DScene; extern const void * RTTI_StarMap__SurfaceMap3DScene__Scene; extern const void * RTTI_StarMap__SurfaceMap3DScene__TerrainScene; extern const void * RTTI_StarMap__SurfaceMapMaterialController__DefaultMaterialApplicator; extern const void * RTTI_StarMap__SurfaceMapMaterialController__MaterialApplicator; extern const void * RTTI_StarMap__SurfaceMapMaterialController__SpecializedMaterialApplicator; extern const void * RTTI_StarMap__SurfaceMapState; extern const void * RTTI_StarMap__SurfaceMapState__SurfaceMapStateEventShuttle; extern const void * RTTI_StarMap__SurfaceMapUIPlanetModule; extern const void * RTTI_StarMap__SystemBodyInfoToUI; extern const void * RTTI_StarMap__SystemState; extern const void * RTTI_StarMap__SystemState__SystemStateEventShuttle; extern const void * RTTI_StarMap__Util__ConfirmFastTravelCallback; extern const void * RTTI_StarMap__Util__ConfirmGravJumpPlotCallback; extern const void * RTTI_StartFloatingHandler; extern const void * RTTI_StartPCapVoiceHandler; extern const void * RTTI_StartSecurityMinigameHandler; extern const void * RTTI_StateConfirmingAction; extern const void * RTTI_StateEngagmentPrompt; extern const void * RTTI_StateInitialLoad; extern const void * RTTI_StateIntroVideo; extern const void * RTTI_StateLegalScreen; extern const void * RTTI_StateLoadPanelInteract; extern const void * RTTI_StateMachine; extern const void * RTTI_StateMachineInstance; extern const void * RTTI_StateMainPanelInteract; extern const void * RTTI_StateNewContentPrompt; extern const void * RTTI_StateOpenFromInstallMenu; extern const void * RTTI_StateOpenFromReset; extern const void * RTTI_StateOpenFromStartup; extern const void * RTTI_StateOtherMenuOpen; extern const void * RTTI_StatePerformingAction; extern const void * RTTI_StateSettingsPanelInteract; extern const void * RTTI_StateSplashScreen; extern const void * RTTI_StateVariableControl; extern const void * RTTI_StateVariableControlInstance; extern const void * RTTI_StateWaitingOnLoad; extern const void * RTTI_StaticAvoidNodeManager; extern const void * RTTI_StatusMenu; extern const void * RTTI_SteamVirtualKeyboard; extern const void * RTTI_SteamVirtualKeyboard__CCallbackInternal_OnSteamGamepadTextInputDismissed; extern const void * RTTI_StimpakEffect; extern const void * RTTI_StopFloatingHandler; extern const void * RTTI_StopMountCameraHandler; extern const void * RTTI_StorageSpaceBar; extern const void * RTTI_StorageTableErrorHandlerService; extern const void * RTTI_StorageTable__AsyncTableColumnBase; extern const void * RTTI_StorageTable__DirectColumnDataStorageInterface; extern const void * RTTI_StorageTable__StorageDataBase; extern const void * RTTI_StreamingInstallMenu; extern const void * RTTI_StreamingInstallMenu__StreamingInstallEventShuttle; extern const void * RTTI_StreamingInstallMenu__StreamingProgressData; extern const void * RTTI_StringUIValue; extern const void * RTTI_SubgraphAndOffsetDBData; extern const void * RTTI_SubtitleManager; extern const void * RTTI_SummonCreatureEffect; extern const void * RTTI_SummonDuplicateEffect; extern const void * RTTI_SummonPlacementEffect; extern const void * RTTI_SupportMaterialHandler; extern const void * RTTI_SurfaceMapMenu_EnablePointCloud; extern const void * RTTI_SurfaceMapMenu_MarkerClicked; extern const void * RTTI_SurfaceMapMenu_TryPlaceCustomMarker; extern const void * RTTI_SwapGraphNode; extern const void * RTTI_SwapGraphNodeInstance; extern const void * RTTI_SwitchNode; extern const void * RTTI_SwitchNodeInstance; extern const void * RTTI_SyncDeferDeathHandler; extern const void * RTTI_SyncEarlyExitHandler; extern const void * RTTI_SyncQueueObj; extern const void * RTTI_TBO_InstanceData; extern const void * RTTI_TES; extern const void * RTTI_TESAIForm; extern const void * RTTI_TESActorBase; extern const void * RTTI_TESActorBaseData; extern const void * RTTI_TESAmmo; extern const void * RTTI_TESAudio__ScriptedMusicState; extern const void * RTTI_TESBipedModelForm; extern const void * RTTI_TESBoundAnimObject; extern const void * RTTI_TESBoundObject; extern const void * RTTI_TESCamera; extern const void * RTTI_TESCameraState; extern const void * RTTI_TESChildCell; extern const void * RTTI_TESClass; extern const void * RTTI_TESClimate; extern const void * RTTI_TESCombatStyle; extern const void * RTTI_TESContainer; extern const void * RTTI_TESCustomPackageData; extern const void * RTTI_TESDataHandler; extern const void * RTTI_TESDataHandlerPersistentCreatedUtil__BGSPersistentIDsForm; extern const void * RTTI_TESDataHandlerPostBuildFileListSource; extern const void * RTTI_TESDataHandler__ArchiveRegistrationListener; extern const void * RTTI_TESDescription; extern const void * RTTI_TESDialoguePackageData; extern const void * RTTI_TESEffectShader; extern const void * RTTI_TESEnchantableForm; extern const void * RTTI_TESEyes; extern const void * RTTI_TESFaction; extern const void * RTTI_TESFile; extern const void * RTTI_TESFlora; extern const void * RTTI_TESFloraInstanceData; extern const void * RTTI_TESFollowPackageData; extern const void * RTTI_TESForm; extern const void * RTTI_TESFullName; extern const void * RTTI_TESFurniture; extern const void * RTTI_TESGlobal; extern const void * RTTI_TESGrass; extern const void * RTTI_TESHandleForm; extern const void * RTTI_TESHavokUtilities__CellHeightFieldCuller; extern const void * RTTI_TESHealthForm; extern const void * RTTI_TESIdleForm; extern const void * RTTI_TESIdleManager; extern const void * RTTI_TESImageSpace; extern const void * RTTI_TESImageSpaceModifiableForm; extern const void * RTTI_TESImageSpaceModifier; extern const void * RTTI_TESKey; extern const void * RTTI_TESLandTexture; extern const void * RTTI_TESLevCharacter; extern const void * RTTI_TESLevItem; extern const void * RTTI_TESLevSpell; extern const void * RTTI_TESLeveledList; extern const void * RTTI_TESLoadScreen; extern const void * RTTI_TESMagicTargetForm; extern const void * RTTI_TESModel; extern const void * RTTI_TESModelDB__TESAutoQueuedDependentNode; extern const void * RTTI_TESModelDB__TESQueuedHandles; extern const void * RTTI_TESModelTri; extern const void * RTTI_TESNPC; extern const void * RTTI_TESNPCData__ChargenDataModel; extern const void * RTTI_TESNPC__InstanceData; extern const void * RTTI_TESObject; extern const void * RTTI_TESObjectACTI; extern const void * RTTI_TESObjectANIO; extern const void * RTTI_TESObjectARMA; extern const void * RTTI_TESObjectARMO; extern const void * RTTI_TESObjectARMOInstanceData; extern const void * RTTI_TESObjectBOOK; extern const void * RTTI_TESObjectCELL; extern const void * RTTI_TESObjectCONT; extern const void * RTTI_TESObjectCONT__InstanceData; extern const void * RTTI_TESObjectDOOR; extern const void * RTTI_TESObjectLIGH; extern const void * RTTI_TESObjectMISC; extern const void * RTTI_TESObjectREFR; extern const void * RTTI_TESObjectREFRDef__IAliasFunctor; extern const void * RTTI_TESObjectREFRDef__IAliasLinkedChildFunctor; extern const void * RTTI_TESObjectREFRDef__ILinkedReferenceFunctor; extern const void * RTTI_TESObjectREFRSync__REFRSyncController; extern const void * RTTI_TESObjectSTAT; extern const void * RTTI_TESObjectWEAP; extern const void * RTTI_TESObjectWEAPInstanceData; extern const void * RTTI_TESPackage; extern const void * RTTI_TESPackedFile; extern const void * RTTI_TESPlanetModel; extern const void * RTTI_TESQuest; extern const void * RTTI_TESRace; extern const void * RTTI_TESRaceForm; extern const void * RTTI_TESRegion; extern const void * RTTI_TESRegionData; extern const void * RTTI_TESRegionDataManager; extern const void * RTTI_TESRegionDataMap; extern const void * RTTI_TESRegionDataSound; extern const void * RTTI_TESRegionDataWeather; extern const void * RTTI_TESRegionList; extern const void * RTTI_TESShout; extern const void * RTTI_TESSoulGem; extern const void * RTTI_TESSound; extern const void * RTTI_TESSpellList; extern const void * RTTI_TESTexture; extern const void * RTTI_TESTopic; extern const void * RTTI_TESTopicInfo; extern const void * RTTI_TESTrapListener; extern const void * RTTI_TESValueForm; extern const void * RTTI_TESWaterForm; extern const void * RTTI_TESWaterNormals; extern const void * RTTI_TESWaterObject; extern const void * RTTI_TESWaterSystem; extern const void * RTTI_TESWeather; extern const void * RTTI_TESWeightForm; extern const void * RTTI_TESWordOfPower; extern const void * RTTI_TESWorldSpace; extern const void * RTTI_TES__PostGridLoadNode; extern const void * RTTI_TagField; extern const void * RTTI_TagPropagationNode; extern const void * RTTI_TagPropagationNodeInstance; extern const void * RTTI_TakeOffInitiateCompleteHandler; extern const void * RTTI_TakeoffMenu; extern const void * RTTI_TakeoffMenuDataModel; extern const void * RTTI_TakeoffMenuDataModel__TakeoffMenuEventShuttle; extern const void * RTTI_TakeoffMenu_CloseMenu; extern const void * RTTI_TakeoffMenu_ExitShip; extern const void * RTTI_TakeoffMenu_Launch; extern const void * RTTI_TargetEntry; extern const void * RTTI_TelekinesisEffect; extern const void * RTTI_TeleportDoorSearch; extern const void * RTTI_TempLoadedCellDB__LoadTempDataForCell; extern const void * RTTI_TerminalMenu_CancelEvent; extern const void * RTTI_TerminalOpenViewCallback; extern const void * RTTI_TerminalRunResultsCallback; extern const void * RTTI_Terminal_CloseAllViews; extern const void * RTTI_Terminal_CloseTopView; extern const void * RTTI_Terminal_CloseView; extern const void * RTTI_Terminal_MenuItemClick; extern const void * RTTI_Terminal__AddAliasedTerminalsFunc; extern const void * RTTI_Terminal__GenesisTerminalMenu; extern const void * RTTI_Terminal__GenesisTerminalMenu_UnlockItemConfirm; extern const void * RTTI_Terminal__GenesisTerminalMenu_UnlockedItemWithKey; extern const void * RTTI_Terminal__GenesisTerminalMenu__GenesisTerminalMenuEventShuttle; extern const void * RTTI_TerminateGraphRagdollHandler; extern const void * RTTI_TerrainDB__TerrainBarrierNode; extern const void * RTTI_TerrainDB__TerrainGraphProcessor; extern const void * RTTI_TestMenu; extern const void * RTTI_TestMenu_DoAction; extern const void * RTTI_TestMenu_ExitMenu; extern const void * RTTI_TestMenu_ShowImages; extern const void * RTTI_TestMenu_ShowResources; extern const void * RTTI_TestMenu_TestAll; extern const void * RTTI_TestMenu__TestMenuEventShuttle; extern const void * RTTI_TestReferencedObject; extern const void * RTTI_TextInputMenu; extern const void * RTTI_TextInputMenu_EndEditText; extern const void * RTTI_TextInputMenu_InputCanceled; extern const void * RTTI_TextInputMenu_StartEditText; extern const void * RTTI_TextInputMenu__TextInputEventShuttle; extern const void * RTTI_TextRenderer; extern const void * RTTI_TextRenderer3D; extern const void * RTTI_TextureDB__ErrorStreamer; extern const void * RTTI_TextureDB__Manager; extern const void * RTTI_TextureUtils__AutoQueuedDependentNode; extern const void * RTTI_TextureUtils__WaitStreamedNode; extern const void * RTTI_ThirdPersonState; extern const void * RTTI_ThumbstickEvent; extern const void * RTTI_TimeMultiplierManager; extern const void * RTTI_TimeMultiplierProvider; extern const void * RTTI_TimerEvent; extern const void * RTTI_TimerEventInstance; extern const void * RTTI_TitleSequenceMenu; extern const void * RTTI_TitleSequenceMenu_StartMusic; extern const void * RTTI_TrackDamageEffect; extern const void * RTTI_TranslationAdjustment; extern const void * RTTI_TranslationAdjustmentInstance; extern const void * RTTI_TrapEntry; extern const void * RTTI_TrapTargetEntry; extern const void * RTTI_TraversalCollisionFilter; extern const void * RTTI_TraversalFinishedHandler; extern const void * RTTI_TraversalStepDoneHandler; extern const void * RTTI_TrespassPackage; extern const void * RTTI_TrianglePathWaterLedgeTraversalSplitter; extern const void * RTTI_TurnUndeadEffect; extern const void * RTTI_TutorialMessageManager; extern const void * RTTI_TutorialMessageManager__TutorialMessageEventShuttle; extern const void * RTTI_TweenMenuCameraState; extern const void * RTTI_TwoBoneIKNode; extern const void * RTTI_TwoBoneIKNodeInstance; extern const void * RTTI_TypeRegistryTest__Ref; extern const void * RTTI_TypeRegistryTest__TypedefChild; extern const void * RTTI_UI; extern const void * RTTI_UIBlurManager; extern const void * RTTI_UICellRenderer; extern const void * RTTI_UICellRenderer_InventoryItem; extern const void * RTTI_UICellRenderer_InventoryItem__ItemModelLoadTask; extern const void * RTTI_UIDataShuttleConnector; extern const void * RTTI_UIDataShuttleContainer; extern const void * RTTI_UIDataShuttleManager; extern const void * RTTI_UIDataToFlash; extern const void * RTTI_UIEventDispatcher; extern const void * RTTI_UIMenuChargenMenuDisablePaperdoll; extern const void * RTTI_UIMessageQueue; extern const void * RTTI_UISaveLoadManager; extern const void * RTTI_UI_BarButton; extern const void * RTTI_UI_Button3; extern const void * RTTI_UI_Gallery; extern const void * RTTI_UI_MarkdownText; extern const void * RTTI_UI_ScrollingBannerList; extern const void * RTTI_UI_ScrollingList; extern const void * RTTI_UI_Text; extern const void * RTTI_UI_Text3; extern const void * RTTI_UI_bannerEntry; extern const void * RTTI_UI_bar; extern const void * RTTI_UI_bottomBar; extern const void * RTTI_UI_detailsPage; extern const void * RTTI_UI_detailsPage__OnSale; extern const void * RTTI_UI_element; extern const void * RTTI_UI_homePage; extern const void * RTTI_UI_image; extern const void * RTTI_UI_image3; extern const void * RTTI_UI_listEntry; extern const void * RTTI_UI_listEntry__OnSale; extern const void * RTTI_UI_tag; extern const void * RTTI_UI_topBar; extern const void * RTTI_UncullFurnitureBoneHandler; extern const void * RTTI_UncullWeaponsHandler; extern const void * RTTI_UniqueAVCollector; extern const void * RTTI_UnitTest__CopyableReferencedObject; extern const void * RTTI_UnitTest__InterfaceImpl0; extern const void * RTTI_UnitTest__InterfaceImpl1; extern const void * RTTI_UnitTest__InterfaceUnregistered0; extern const void * RTTI_UnitTest__InterfaceUnregistered1; extern const void * RTTI_UnitTest__NestedRelArray; extern const void * RTTI_UnitTest__SetterTest__Foo; extern const void * RTTI_UnitTest__SimpleRelArray; extern const void * RTTI_UnitTest__TypeVm__Record; extern const void * RTTI_UnitTest__UrlObject__Shape; extern const void * RTTI_UnitTest__UrlObject__TestGraph; extern const void * RTTI_UpdateParticleParticleInDirtyAabbsTask; extern const void * RTTI_UpdateRigidBodyDirtyAabbsTask; extern const void * RTTI_UpdateSceneRectEvent; extern const void * RTTI_Upsell; extern const void * RTTI_UseStimpakHandler; extern const void * RTTI_UserContent; extern const void * RTTI_VATS; extern const void * RTTI_VATSCameraState; extern const void * RTTI_VATSUtils__ValidateStrangerLineOfSightGoalToOriginFunctor; extern const void * RTTI_ValueModifierEffect; extern const void * RTTI_VariableCombiner; extern const void * RTTI_VariableCombinerInstance; extern const void * RTTI_VehicleBIEvents__VehicleBIEventManager; extern const void * RTTI_VehicleCameraState; extern const void * RTTI_VehicleRuntimeComponent; extern const void * RTTI_VelocityObstacle__Utilities__BuildOpenEdgeListsVisitor; extern const void * RTTI_ViewAllEntry; extern const void * RTTI_ViewCaster; extern const void * RTTI_VirtualPathingDoor; extern const void * RTTI_WaterPathPathingNodeGenerator; extern const void * RTTI_WaterPathRayValidator; extern const void * RTTI_WeaponAttachHandler; extern const void * RTTI_WeaponBeginDrawHandler; extern const void * RTTI_WeaponBeginSheatheHandler; extern const void * RTTI_WeaponDetachHandler; extern const void * RTTI_WeaponDrawHandler; extern const void * RTTI_WeaponEnchantmentController; extern const void * RTTI_WeaponFireEndHandler; extern const void * RTTI_WeaponFireHandler; extern const void * RTTI_WeaponFireStartHandler; extern const void * RTTI_WeaponGroupAssignmentMenu_ChangeWeaponAssignment; extern const void * RTTI_WeaponGroupAssignmentMenu_OnHintButtonActivated; extern const void * RTTI_WeaponGroupAssignment__WeaponGroupAssignmentMenu; extern const void * RTTI_WeaponGroupAssignment__WeaponGroupAssignmentMenu__WeaponGroupAssignmentMenuEventShuttle; extern const void * RTTI_WeaponSheatheHandler; extern const void * RTTI_WeaponSheatheInterruptHandler; extern const void * RTTI_WeaponSwingHandler; extern const void * RTTI_WeaponsCraftingMenu; extern const void * RTTI_Win32FileSystemWatcher; extern const void * RTTI_WorkbenchTracking__TrackingSingleton; extern const void * RTTI_WorkshopActionButton_HoldFinished; extern const void * RTTI_WorkshopActionButton_HoldStopped; extern const void * RTTI_WorkshopAreaResourcesDataModel; extern const void * RTTI_WorkshopAreaResourcesDataModel__WorkshopAreaResourcesEventShuttle; extern const void * RTTI_WorkshopBIEvents__WorkshopEventManager; extern const void * RTTI_WorkshopBuilderDataModel; extern const void * RTTI_WorkshopBuilderDataModel__WorkshopBuilderEventShuttle; extern const void * RTTI_WorkshopBuilderMenu; extern const void * RTTI_WorkshopBuilderMenu_ChangeBuildItem; extern const void * RTTI_WorkshopBuilderMenu_SelectedItem; extern const void * RTTI_WorkshopBuilderMenu_ToggleTracking; extern const void * RTTI_WorkshopCamera__CameraHitCollector; extern const void * RTTI_WorkshopCamera__WorkshopCharacterProxyListener; extern const void * RTTI_WorkshopCategoryBarDataModel; extern const void * RTTI_WorkshopCategoryBarDataModel__WorkshopCategoryBarEventShuttle; extern const void * RTTI_WorkshopCategoryInfoDataModel; extern const void * RTTI_WorkshopCategoryInfoDataModel__WorkshopCategoryInfoEventShuttle; extern const void * RTTI_WorkshopColorModeDataModel; extern const void * RTTI_WorkshopColorModeDataModel__WorkshopColorModeEventShuttle; extern const void * RTTI_WorkshopColorMode_ApplyColors; extern const void * RTTI_WorkshopColorMode_SelectedTab; extern const void * RTTI_WorkshopColorMode_SliderChanged; extern const void * RTTI_WorkshopColorMode_SwatchChanged; extern const void * RTTI_WorkshopEngine__ActivateItemEvent; extern const void * RTTI_WorkshopEngine__BulldozeItemEvent; extern const void * RTTI_WorkshopEngine__CancelEvent; extern const void * RTTI_WorkshopEngine__CommitEvent; extern const void * RTTI_WorkshopEngine__ConnectTransferLinkEvent; extern const void * RTTI_WorkshopEngine__ConnectWireEvent; extern const void * RTTI_WorkshopEngine__CycleBehaviorEvent; extern const void * RTTI_WorkshopEngine__EditColorsEvent; extern const void * RTTI_WorkshopEngine__EditItemEvent; extern const void * RTTI_WorkshopEngine__EngineFrame; extern const void * RTTI_WorkshopEngine__ExitEvent; extern const void * RTTI_WorkshopEngine__FinishRepairEvent; extern const void * RTTI_WorkshopEngine__InspectColorItemsEvent; extern const void * RTTI_WorkshopEngine__ItemCombatChangedEvent; extern const void * RTTI_WorkshopEngine__NewItemEvent; extern const void * RTTI_WorkshopEngine__PlaceOutpostEvent; extern const void * RTTI_WorkshopEngine__PreviewColorsEvent; extern const void * RTTI_WorkshopEngine__RemoveItemEvent; extern const void * RTTI_WorkshopEngine__RemoveOutpostEvent; extern const void * RTTI_WorkshopEngine__RemoveSingleWorkshopItemEvent; extern const void * RTTI_WorkshopEngine__RemoveWorkshopItemsEvent; extern const void * RTTI_WorkshopEngine__RequestRepairItemEvent; extern const void * RTTI_WorkshopEngine__ResetColorsToDefaultEvent; extern const void * RTTI_WorkshopEngine__RevertBehaviorEvent; extern const void * RTTI_WorkshopEngine__RotateItemEvent; extern const void * RTTI_WorkshopEngine__StartQuickMenuEvent; extern const void * RTTI_WorkshopEngine__StartSnappedEvent; extern const void * RTTI_WorkshopEngine__StartWorkshopEvent; extern const void * RTTI_WorkshopEngine__StateBulldoze; extern const void * RTTI_WorkshopEngine__StateCreatePowerLink; extern const void * RTTI_WorkshopEngine__StateCreateReferences; extern const void * RTTI_WorkshopEngine__StateCreateTransferLink; extern const void * RTTI_WorkshopEngine__StateCycleSnapBehavior; extern const void * RTTI_WorkshopEngine__StateDuplicateReferences; extern const void * RTTI_WorkshopEngine__StateIdle; extern const void * RTTI_WorkshopEngine__StateInspect; extern const void * RTTI_WorkshopEngine__StateInspectColorItems; extern const void * RTTI_WorkshopEngine__StateModifyColors; extern const void * RTTI_WorkshopEngine__StatePostCommitEdit; extern const void * RTTI_WorkshopEngine__StateSetupReferences; extern const void * RTTI_WorkshopEngine__StateUpdateAutoFoundation; extern const void * RTTI_WorkshopEngine__StateUpdateCommitSnapEdit; extern const void * RTTI_WorkshopEngine__StateUpdatePlacement; extern const void * RTTI_WorkshopEngine__StateUpdatePowerLink; extern const void * RTTI_WorkshopEngine__StateUpdateSnapped; extern const void * RTTI_WorkshopEngine__StateUpdateTransferLink; extern const void * RTTI_WorkshopEngine__StateWait3D; extern const void * RTTI_WorkshopEngine__TrackItemEvent; extern const void * RTTI_WorkshopEngine__UntrackItemEvent; extern const void * RTTI_WorkshopEngine__UpdateEvent; extern const void * RTTI_WorkshopHavokUtils__AutoFoundationHeightCastCollisionfilter; extern const void * RTTI_WorkshopHavokUtils__ClosestCanHaveAutoFoundationsCollector; extern const void * RTTI_WorkshopHavokUtils__ForwardCastCollector; extern const void * RTTI_WorkshopHavokUtils__GroundInfoCollisionfilter; extern const void * RTTI_WorkshopHavokUtils__IgnoreBulldozedReferencesCollisionFilter; extern const void * RTTI_WorkshopHavokUtils__IntersectionTestCollisionfilter; extern const void * RTTI_WorkshopHavokUtils__ItemPlacementForwardCastCollector; extern const void * RTTI_WorkshopHavokUtils__TempItemPlacementCollector; extern const void * RTTI_WorkshopHavokUtils__WorkshopClosestHitGroundCollector; extern const void * RTTI_WorkshopHavokUtils__WorkshopGroundCollector; extern const void * RTTI_WorkshopHavokUtils__hknpWorkshopCastCollector; extern const void * RTTI_WorkshopHavokUtils__hknpWorkshopIntersectCollector; extern const void * RTTI_WorkshopHighlightUtils__EventListener; extern const void * RTTI_WorkshopInteractiveMessageDataModel; extern const void * RTTI_WorkshopInteractiveMessageDataModel__ICallback; extern const void * RTTI_WorkshopInteractiveMessageDataModel__WorkshopInteractiveMessageEventShuttle; extern const void * RTTI_WorkshopIsoCameraState; extern const void * RTTI_WorkshopLOD__WorkshopLODManager; extern const void * RTTI_WorkshopMenu; extern const void * RTTI_WorkshopMenuShared; extern const void * RTTI_WorkshopMenu_AttemptBuild; extern const void * RTTI_WorkshopMenu_CancelAction; extern const void * RTTI_WorkshopMenu_ChangeVariant; extern const void * RTTI_WorkshopMenu_ConnectionEvent; extern const void * RTTI_WorkshopMenu_ExitMenu; extern const void * RTTI_WorkshopMenu_MessageCallback; extern const void * RTTI_WorkshopMenu_SelectedCategory; extern const void * RTTI_WorkshopMenu_SelectedGridObject; extern const void * RTTI_WorkshopMenu_ShowExtras; extern const void * RTTI_WorkshopMenu_SwitchMode; extern const void * RTTI_WorkshopMenu_ToggleDistance; extern const void * RTTI_WorkshopMenu_ToggleTracking; extern const void * RTTI_WorkshopMenu_ToggleView; extern const void * RTTI_WorkshopMessageDataModel; extern const void * RTTI_WorkshopMessageDataModel__WorkshopMessageEventShuttle; extern const void * RTTI_WorkshopObjectInfoCardDataModel; extern const void * RTTI_WorkshopObjectInfoCardDataModel__WorkshopObjectInfoCardEventShuttle; extern const void * RTTI_WorkshopOperations__CandidateSnapper; extern const void * RTTI_WorkshopPickRefDataModel; extern const void * RTTI_WorkshopPickRefDataModel__WorkshopPickRefEventShuttle; extern const void * RTTI_WorkshopQuickMenu; extern const void * RTTI_WorkshopQuickMenuDataModel; extern const void * RTTI_WorkshopQuickMenuDataModel__WorkshopQuickMenuEventShuttle; extern const void * RTTI_WorkshopQuickMenu_ConfirmAction; extern const void * RTTI_WorkshopQuickMenu_ExitMenu; extern const void * RTTI_WorkshopResources__WorkshopResourcesManager; extern const void * RTTI_WorkshopShared_SetActionHandles; extern const void * RTTI_WorkshopShared_StartAction; extern const void * RTTI_WorkshopStateDataModel; extern const void * RTTI_WorkshopStateDataModel__WorkshopStateEventShuttle; extern const void * RTTI_WorkshopStatusDataModel; extern const void * RTTI_WorkshopStatusDataModel__WorkshopStatusEventShuttle; extern const void * RTTI_WorkshopTargetMenu; extern const void * RTTI_WorkshopTargetMenu_TargetHovered; extern const void * RTTI_WorkshopTargetMenu_TargetPicked; extern const void * RTTI_WorkshopTargetMenu__OutpostData; extern const void * RTTI_WorkshopTargetMenu__ResourceData; extern const void * RTTI_WorkshopTargetMenu__SourceData; extern const void * RTTI_WorkshopTargetMenu__TargetData; extern const void * RTTI_WorkshopTargetMenu__TargetMenuData; extern const void * RTTI_WorkshopTargetMenu__WorkshopTargetEventShuttle; extern const void * RTTI_WorkshopUI__ConfirmDeferDeleteCallback; extern const void * RTTI_WorkshopUI__StateBulldoze; extern const void * RTTI_WorkshopUI__StateIdle; extern const void * RTTI_WorkshopUI__StateInspectColors; extern const void * RTTI_WorkshopUI__StateInspectIdle; extern const void * RTTI_WorkshopUI__StateInspectItem; extern const void * RTTI_WorkshopUI__StateModifyColors; extern const void * RTTI_WorkshopUI__StateUpdateExistingItemPlacement; extern const void * RTTI_WorkshopUI__StateUpdateNewDeployablePlacement; extern const void * RTTI_WorkshopUI__StateUpdateNewItemPlacement; extern const void * RTTI_WorkshopUI__StateUpdateTransferLinkPlacement; extern const void * RTTI_WorkshopUI__StateUpdateWirePlacement; extern const void * RTTI_WorkshopUI__UIStateMachine; extern const void * RTTI_Workshop_BlueprintMenu; extern const void * RTTI_Workshop__BulldozeOnlyWorkshopItem; extern const void * RTTI_Workshop__DecoratedHabWorkshopItem; extern const void * RTTI_Workshop__ExtraData; extern const void * RTTI_Workshop__InventoryItemWorkshopItem; extern const void * RTTI_Workshop__MainStatusHandler; extern const void * RTTI_Workshop__PackinWorkshopItem; extern const void * RTTI_Workshop__PowerLinkWorkshopItem; extern const void * RTTI_Workshop__SingleWorkshopItem; extern const void * RTTI_Workshop__TESObjectREFRGameEventListener; extern const void * RTTI_Workshop__TransferLinkWorkshopItem; extern const void * RTTI_Workshop__WireWorkshopItem; extern const void * RTTI_Workshop__WorkshopMenuNode; extern const void * RTTI_Workshop__WorkshopMenuNodeBuildableObject; extern const void * RTTI_Workshop__WorkshopMenuNodeBulldozer; extern const void * RTTI_Workshop__WorkshopMenuNodeDecoratedHab; extern const void * RTTI_Workshop__WorkshopMenuNodeLockLevel; extern const void * RTTI_Workshop__WorkshopMenuNodeOutpost; extern const void * RTTI_Workshop__WorkshopStatisticsEventSink; extern const void * RTTI_ZeroOverheadHeap; extern const void * RTTI_ZeroPitchHandler; extern const void * RTTI_ZoneEntry; extern const void * RTTI_allCreationsDownloadedCallback; extern const void * RTTI_bhkBipedOrientationController; extern const void * RTTI_bhkBlockStreamAllocatorBase; extern const void * RTTI_bhkCharProxyController; extern const void * RTTI_bhkCharProxyControllerCinfo; extern const void * RTTI_bhkCharProxyManager; extern const void * RTTI_bhkCharRigidBodyController; extern const void * RTTI_bhkCharRigidBodyControllerCinfo; extern const void * RTTI_bhkCharRigidBodyManager; extern const void * RTTI_bhkCharacterCollisionHandler; extern const void * RTTI_bhkCharacterController; extern const void * RTTI_bhkCharacterControllerCinfo; extern const void * RTTI_bhkCharacterControllerShapeManager; extern const void * RTTI_bhkCharacterControllerShapeManager__hknpConvexShapeEx; extern const void * RTTI_bhkCharacterPointCollector; extern const void * RTTI_bhkCharacterProxy; extern const void * RTTI_bhkCharacterRigidBody; extern const void * RTTI_bhkCharacterRigidBodyCinfo; extern const void * RTTI_bhkCharacterStateClimbing; extern const void * RTTI_bhkCharacterStateFloating; extern const void * RTTI_bhkCharacterStateFlying; extern const void * RTTI_bhkCharacterStateInAir; extern const void * RTTI_bhkCharacterStateJumping; extern const void * RTTI_bhkCharacterStateOnGround; extern const void * RTTI_bhkCharacterStateSpaceship; extern const void * RTTI_bhkCharacterStateSwimming; extern const void * RTTI_bhkCollisionFilter; extern const void * RTTI_bhkICharOrientationController; extern const void * RTTI_bhkIWorldStepListener; extern const void * RTTI_bhkMemorySystem; extern const void * RTTI_bhkMultithreadedSystem; extern const void * RTTI_bhkNPCollisionObject; extern const void * RTTI_bhkNPCollisionObjectUnlinked; extern const void * RTTI_bhkNPCollisionObjectUnlinked__LinkExtraData; extern const void * RTTI_bhkNPCollisionProxyObject; extern const void * RTTI_bhkNPModelNodeComponent; extern const void * RTTI_bhkParticlesManagerModifier; extern const void * RTTI_bhkPhysicsSystem; extern const void * RTTI_bhkQuadOrientationController; extern const void * RTTI_bhkRagdollPenetrationManager; extern const void * RTTI_bhkRagdollSystem; extern const void * RTTI_bhkRandomVelocityGenerator__INISettingCollectionEx; extern const void * RTTI_bhkRandomVelocityGenerator__INISettingEx; extern const void * RTTI_bhkThreadMemorySource; extern const void * RTTI_bhkThreadMemorySource__RowBlockAllocatorImpl; extern const void * RTTI_bhkThreadPool; extern const void * RTTI_bhkTrapListener; extern const void * RTTI_bhkVehicleSetup; extern const void * RTTI_bhkWorld; extern const void * RTTI_bhkWorldM; extern const void * RTTI_bnet__Account__ExternalAuthInfo; extern const void * RTTI_bnet__AsyncOperationProxy; extern const void * RTTI_bnet__Mods__BaseUpdatePreferenceInfo; extern const void * RTTI_bnet__Mods__UpdateContentPreferenceInfo; extern const void * RTTI_bnet__impl__AsyncOperation; extern const void * RTTI_bps__client__BIEventClient__BulkEventsResult; extern const void * RTTI_bps__client__BIEventClient__CreateSessionResult; extern const void * RTTI_bps__client__BaseRequestImpl; extern const void * RTTI_bps__client__Services; extern const void * RTTI_castTest__Interface0; extern const void * RTTI_castTest__Interface1; extern const void * RTTI_castTest__Interface2; extern const void * RTTI_castTest__InterfaceBase; extern const void * RTTI_castTest__InterfaceOtherBase; extern const void * RTTI_castTest__Leaf; extern const void * RTTI_castTest__OtherLeaf; extern const void * RTTI_castTest__Root; extern const void * RTTI_castTest__WithInterfaces; extern const void * RTTI_downloadConfirmResetCallback; extern const void * RTTI_errorCallback; extern const void * RTTI_hclAction; extern const void * RTTI_hclAntiPinchConstraintInstanceData; extern const void * RTTI_hclAntiPinchConstraintSet; extern const void * RTTI_hclBSClothParameterizedWindAction; extern const void * RTTI_hclBSClothPickingAction; extern const void * RTTI_hclBSWorld; extern const void * RTTI_hclBendLinkConstraintSet; extern const void * RTTI_hclBendLinkConstraintSetMx; extern const void * RTTI_hclBendStiffnessConstraintSet; extern const void * RTTI_hclBendStiffnessConstraintSetMx; extern const void * RTTI_hclBlendOperatorInstanceData; extern const void * RTTI_hclBlendSomeVerticesOperator; extern const void * RTTI_hclBonePlanesConstraintSet; extern const void * RTTI_hclBoneSpaceMeshMeshDeformOperator; extern const void * RTTI_hclBoneSpaceMeshMeshDeformPNOperator; extern const void * RTTI_hclBoneSpaceMeshMeshDeformPNTBOperator; extern const void * RTTI_hclBoneSpaceMeshMeshDeformPNTOperator; extern const void * RTTI_hclBoneSpaceMeshMeshDeformPOperator; extern const void * RTTI_hclBoneSpaceSkinOperator; extern const void * RTTI_hclBoneSpaceSkinPNOperator; extern const void * RTTI_hclBoneSpaceSkinPNTBOperator; extern const void * RTTI_hclBoneSpaceSkinPNTOperator; extern const void * RTTI_hclBoneSpaceSkinPOperator; extern const void * RTTI_hclBoneSpaceTransferSimulationOperator; extern const void * RTTI_hclBuffer; extern const void * RTTI_hclBufferDefinition; extern const void * RTTI_hclCapsuleShape; extern const void * RTTI_hclClothContainer; extern const void * RTTI_hclClothData; extern const void * RTTI_hclClothInstance; extern const void * RTTI_hclClothLeafShapeSensor; extern const void * RTTI_hclClothPickingAction; extern const void * RTTI_hclClothState; extern const void * RTTI_hclClothStateInstanceData; extern const void * RTTI_hclCollidable; extern const void * RTTI_hclCollisionConvexes; extern const void * RTTI_hclCollisionTriangles; extern const void * RTTI_hclCompressibleLinkConstraintSet; extern const void * RTTI_hclCompressibleLinkConstraintSetMx; extern const void * RTTI_hclConstraintSet; extern const void * RTTI_hclConstraintStiffnessDispatcher; extern const void * RTTI_hclConvexGeometryShape; extern const void * RTTI_hclConvexHeightFieldShape; extern const void * RTTI_hclConvexPlanesShape; extern const void * RTTI_hclCopyVerticesOperator; extern const void * RTTI_hclFullClothTask; extern const void * RTTI_hclGatherAllVerticesOperator; extern const void * RTTI_hclGatherSomeVerticesOperator; extern const void * RTTI_hclInputConvertOperator; extern const void * RTTI_hclLocalRangeConstraintSet; extern const void * RTTI_hclMeshBoneDeformOperator; extern const void * RTTI_hclMeshMeshDeformOperator; extern const void * RTTI_hclMoveParticlesOperator; extern const void * RTTI_hclObjectSpaceMeshMeshDeformOperator; extern const void * RTTI_hclObjectSpaceMeshMeshDeformPNOperator; extern const void * RTTI_hclObjectSpaceMeshMeshDeformPNTBOperator; extern const void * RTTI_hclObjectSpaceMeshMeshDeformPNTOperator; extern const void * RTTI_hclObjectSpaceMeshMeshDeformPOperator; extern const void * RTTI_hclObjectSpaceSkinOperator; extern const void * RTTI_hclObjectSpaceSkinPNOperator; extern const void * RTTI_hclObjectSpaceSkinPNTBOperator; extern const void * RTTI_hclObjectSpaceSkinPNTOperator; extern const void * RTTI_hclObjectSpaceSkinPOperator; extern const void * RTTI_hclObjectSpaceTransferSimulationOperator; extern const void * RTTI_hclOperator; extern const void * RTTI_hclOperatorSequenceTask; extern const void * RTTI_hclOutputConvertOperator; extern const void * RTTI_hclPlaneShape; extern const void * RTTI_hclPointContactPlanesShape; extern const void * RTTI_hclPostExecuteClothTask; extern const void * RTTI_hclPreExecuteClothTask; extern const void * RTTI_hclScratchBuffer; extern const void * RTTI_hclScratchBufferDefinition; extern const void * RTTI_hclShadowBuffer; extern const void * RTTI_hclShadowBufferDefinition; extern const void * RTTI_hclShape; extern const void * RTTI_hclSimClothData; extern const void * RTTI_hclSimClothInstance; extern const void * RTTI_hclSimClothPose; extern const void * RTTI_hclSimpleMeshBoneDeformOperator; extern const void * RTTI_hclSimpleWindAction; extern const void * RTTI_hclSimulateOperator; extern const void * RTTI_hclSimulateOperatorInstanceData; extern const void * RTTI_hclSkinOperator; extern const void * RTTI_hclSphereShape; extern const void * RTTI_hclStandardLinkConstraintSet; extern const void * RTTI_hclStandardLinkConstraintSetMx; extern const void * RTTI_hclStateDependencyGraph; extern const void * RTTI_hclStateTransition; extern const void * RTTI_hclStaticShadowBuffer; extern const void * RTTI_hclStaticShadowBufferDefinition; extern const void * RTTI_hclStretchLinkConstraintSet; extern const void * RTTI_hclStretchLinkConstraintSetMx; extern const void * RTTI_hclTaperedCapsuleShape; extern const void * RTTI_hclTransformSetDefinition; extern const void * RTTI_hclTransitionConstraintInstanceData; extern const void * RTTI_hclTransitionConstraintSet; extern const void * RTTI_hclUpdateAllVertexFramesOperator; extern const void * RTTI_hclUpdateSomeVertexFramesOperator; extern const void * RTTI_hclVdbObjectNode__SimulateOperatorInstanceData; extern const void * RTTI_hclVolumeConstraint; extern const void * RTTI_hclVolumeConstraintInstanceData; extern const void * RTTI_hclVolumeConstraintMx; extern const void * RTTI_hclVolumeConstraintMxInstanceData; extern const void * RTTI_hclWorld; extern const void * RTTI_hctClothSetup20151Options; extern const void * RTTI_hctClothSetupClothData20151Options; extern const void * RTTI_hctClothSetupObjectData20151; extern const void * RTTI_hkBSErrorEmpty; extern const void * RTTI_hkBaseObject; extern const void * RTTI_hkBlockStreamAllocator; extern const void * RTTI_hkBlockStreamCommandWriter; extern const void * RTTI_hkBmpFileFormat; extern const void * RTTI_hkBsdSocket; extern const void * RTTI_hkBufferedStreamReader; extern const void * RTTI_hkBufferedStreamWriter; extern const void * RTTI_hkConcurrency; extern const void * RTTI_hkDdsFileFormat; extern const void * RTTI_hkDebugCommandProcessor; extern const void * RTTI_hkDebugDisplay; extern const void * RTTI_hkDebugDisplayHandler; extern const void * RTTI_hkDefaultCompoundMeshBody; extern const void * RTTI_hkDefaultCompoundMeshShape; extern const void * RTTI_hkDefaultError; extern const void * RTTI_hkDefaultTaskQueue; extern const void * RTTI_hkDefaultTaskQueueDetail__AsyncThreadPoolContext; extern const void * RTTI_hkDefaultTaskQueueDetail__BlockingThreadContext; extern const void * RTTI_hkDefaultTaskQueueDetail__SpinningThreadContext; extern const void * RTTI_hkDefaultTaskQueueEx__ExecutionContext; extern const void * RTTI_hkDefaultTaskQueue__CriticalSection; extern const void * RTTI_hkDefaultTaskQueue__EmptyTask; extern const void * RTTI_hkDefaultTaskQueue__ThreadContext; extern const void * RTTI_hkDisplayAABB; extern const void * RTTI_hkDisplayCapsule; extern const void * RTTI_hkDisplayGeometry; extern const void * RTTI_hkDisplaySphere; extern const void * RTTI_hkDisplayWireframe; extern const void * RTTI_hkErrStream; extern const void * RTTI_hkError; extern const void * RTTI_hkErrorRouter; extern const void * RTTI_hkFileSystem; extern const void * RTTI_hkFileSystem__Watcher; extern const void * RTTI_hkGeometry; extern const void * RTTI_hkGeometryUtils__IVertices; extern const void * RTTI_hkHardwareInfo; extern const void * RTTI_hkHdrFileFormat; extern const void * RTTI_hkImageConversionStep; extern const void * RTTI_hkImageConversion_AddAlpha; extern const void * RTTI_hkImageConversion_Decode555; extern const void * RTTI_hkImageConversion_DiscardChannels; extern const void * RTTI_hkImageConversion_FLOAT16_to_32; extern const void * RTTI_hkImageConversion_FLOAT32_to_16; extern const void * RTTI_hkImageConversion_FLOAT_to_R11G11B10; extern const void * RTTI_hkImageConversion_FLOAT_to_SNORM8; extern const void * RTTI_hkImageConversion_FLOAT_to_UNORM16; extern const void * RTTI_hkImageConversion_FLOAT_to_UNORM8; extern const void * RTTI_hkImageConversion_FLOAT_to_UNORM8_SRGB; extern const void * RTTI_hkImageConversion_Pad_to_RGBA32; extern const void * RTTI_hkImageConversion_Pad_to_RGBA8; extern const void * RTTI_hkImageConversion_R11G11B10_to_FLOAT; extern const void * RTTI_hkImageConversion_R11G11B10_to_HALF; extern const void * RTTI_hkImageConversion_R32_G32_B32_FLOAT_to_B8_G8_R8_UNSIGNED_NORMALIZED; extern const void * RTTI_hkImageConversion_R32_G32_B32_FLOAT_to_R8_G8_B8_A8_UNSIGNED_NORMALIZED; extern const void * RTTI_hkImageConversion_R32_G32_B32_FLOAT_to_R8_G8_B8_UNSIGNED_NORMALIZED; extern const void * RTTI_hkImageConversion_R8G8B8A8_to_R8G8B8; extern const void * RTTI_hkImageConversion_SNORM8_to_FLOAT; extern const void * RTTI_hkImageConversion_SetAlpha; extern const void * RTTI_hkImageConversion_UNORM16_to_FLOAT; extern const void * RTTI_hkImageConversion_UNORM8_SRGB_to_FLOAT; extern const void * RTTI_hkImageConversion_UNORM8_to_FLOAT; extern const void * RTTI_hkImageRef; extern const void * RTTI_hkImageSwizzleConversion32_2103; extern const void * RTTI_hkIndexedTransformSet; extern const void * RTTI_hkIo__Detail__ArrayWriteBufferImpl; extern const void * RTTI_hkIo__Detail__ReadBufferImpl; extern const void * RTTI_hkIo__Detail__StreamReaderImpl; extern const void * RTTI_hkIo__Detail__StreamWriteBufferImpl; extern const void * RTTI_hkKeycodeData; extern const void * RTTI_hkLifoAllocator; extern const void * RTTI_hkLocalFrameGroup; extern const void * RTTI_hkLog__Output; extern const void * RTTI_hkMallocAllocator; extern const void * RTTI_hkMemoryAllocator; extern const void * RTTI_hkMemoryMeshBody; extern const void * RTTI_hkMemoryMeshMaterial; extern const void * RTTI_hkMemoryMeshShape; extern const void * RTTI_hkMemoryMeshTexture; extern const void * RTTI_hkMemoryMeshTexture__Sampler; extern const void * RTTI_hkMemoryMeshVertexBuffer; extern const void * RTTI_hkMemoryResourceContainer; extern const void * RTTI_hkMemoryResourceHandle; extern const void * RTTI_hkMemorySystem; extern const void * RTTI_hkMemory__ScopedStats__Collector; extern const void * RTTI_hkMeshTexture__Sampler; extern const void * RTTI_hkMeshVertexBuffer; extern const void * RTTI_hkMonitorStreamColorTable; extern const void * RTTI_hkMonitorStreamContainer; extern const void * RTTI_hkMonitorStreamStringMap; extern const void * RTTI_hkMonitorStreamTypeMap; extern const void * RTTI_hkMultipleVertexBuffer; extern const void * RTTI_hkObjectResource; extern const void * RTTI_hkOstream; extern const void * RTTI_hkParserBuffer; extern const void * RTTI_hkPrimaryCommandDispatcher; extern const void * RTTI_hkProcessFactory; extern const void * RTTI_hkRefCountedProperties; extern const void * RTTI_hkReferencedObject; extern const void * RTTI_hkReferencedObjectLock; extern const void * RTTI_hkReflect__Any__ArrayImpl; extern const void * RTTI_hkReflect__AttributeArrayWithOwnership__AllocImpl; extern const void * RTTI_hkReflect__ClonerCallback; extern const void * RTTI_hkReflect__Detail__AllocationImpl; extern const void * RTTI_hkReflect__Detail__AttributeAllocImpl; extern const void * RTTI_hkReflect__Detail__BuiltinTypeReg; extern const void * RTTI_hkReflect__Detail__BuiltinTypeReg__SubscriptionImpl; extern const void * RTTI_hkReflect__Detail__CharBufferImpl; extern const void * RTTI_hkReflect__Detail__CloneOnHeap; extern const void * RTTI_hkReflect__Detail__DerivedDataCache; extern const void * RTTI_hkReflect__Detail__HavokRecordImpl; extern const void * RTTI_hkReflect__Detail__HavokStringImpl; extern const void * RTTI_hkReflect__Detail__HeapAllocImpl; extern const void * RTTI_hkReflect__Detail__HomogeneousArrayImpl; extern const void * RTTI_hkReflect__Detail__Impl; extern const void * RTTI_hkReflect__Detail__NullptrImpl; extern const void * RTTI_hkReflect__Detail__OpaqueImpl; extern const void * RTTI_hkReflect__Detail__RawPointerImpl; extern const void * RTTI_hkReflect__Detail__ReferenceImpl; extern const void * RTTI_hkReflect__Detail__ReferencedObjectAllocImpl; extern const void * RTTI_hkReflect__Detail__ReferencedObjectPointerImpl; extern const void * RTTI_hkReflect__Detail__RepeatImpl; extern const void * RTTI_hkReflect__Detail__ScopedPtrImpl; extern const void * RTTI_hkReflect__Detail__SetterArrayImpl; extern const void * RTTI_hkReflect__Detail__SetterRecordImpl; extern const void * RTTI_hkReflect__Detail__StaticArrayImpl; extern const void * RTTI_hkReflect__Detail__StaticStringImpl; extern const void * RTTI_hkReflect__Detail__StringOut__StringOutImpl; extern const void * RTTI_hkReflect__Detail__ViewPointerImpl; extern const void * RTTI_hkReflect__Detail__VoidImpl; extern const void * RTTI_hkReflect__Detail__hkArrayImpl; extern const void * RTTI_hkReflect__Detail__hkInplaceArrayImpl; extern const void * RTTI_hkReflect__MutableTypeReg; extern const void * RTTI_hkReflect__TypeBuilder; extern const void * RTTI_hkReflect__TypeCopier; extern const void * RTTI_hkReflect__TypeReg; extern const void * RTTI_hkReflect__Var__VarImpl; extern const void * RTTI_hkReflect__Version__PatchInfoCache; extern const void * RTTI_hkReflect__Version__PatchRegistry; extern const void * RTTI_hkReflect__Version__PatchSet; extern const void * RTTI_hkReflect__Version__Patcher; extern const void * RTTI_hkRelArray_ArrayImpl; extern const void * RTTI_hkResource; extern const void * RTTI_hkScalarF_FloatImpl; extern const void * RTTI_hkSecondaryCommandDispatcher; extern const void * RTTI_hkSeekableStreamReader; extern const void * RTTI_hkSerialize__Bundle; extern const void * RTTI_hkSerialize__BundleBuilder; extern const void * RTTI_hkSerialize__Detail__ChainingCloneCallback; extern const void * RTTI_hkSerialize__Detail__CloneToRegistered; extern const void * RTTI_hkSerialize__Detail__SkipDyingCallback; extern const void * RTTI_hkSerialize__Detail__TagfileArrayImpl; extern const void * RTTI_hkSerialize__Detail__TagfileBundle; extern const void * RTTI_hkSerialize__Detail__TagfilePointerImpl; extern const void * RTTI_hkSerialize__Detail__TagfileStringImpl; extern const void * RTTI_hkSerialize__NoteHandler; extern const void * RTTI_hkSerialize__ReadFormat; extern const void * RTTI_hkSerialize__TagfileReadFormat; extern const void * RTTI_hkSerialize__TagfileWriteFormat; extern const void * RTTI_hkSerialize__TagfileWriteFormat__Impl; extern const void * RTTI_hkSerialize__WriteFormat; extern const void * RTTI_hkSimdDouble64_FloatImpl; extern const void * RTTI_hkSimpleLocalFrame; extern const void * RTTI_hkSkinBinding; extern const void * RTTI_hkSkinnedRefMeshShape; extern const void * RTTI_hkSlot; extern const void * RTTI_hkSocket; extern const void * RTTI_hkSocket__ReaderAdapter; extern const void * RTTI_hkSocket__WriterAdapter; extern const void * RTTI_hkSolverAllocator; extern const void * RTTI_hkStackTracer; extern const void * RTTI_hkStdioStreamReader; extern const void * RTTI_hkStorageSkinnedMeshShape; extern const void * RTTI_hkStreamReader; extern const void * RTTI_hkStreamWriter; extern const void * RTTI_hkStringBuf__StringImpl; extern const void * RTTI_hkStringObject; extern const void * RTTI_hkStringPtr__StringImpl; extern const void * RTTI_hkStringView__StringImpl; extern const void * RTTI_hkTask; extern const void * RTTI_hkTaskGraph; extern const void * RTTI_hkTaskQueue; extern const void * RTTI_hkTaskQueue_BatchingTask; extern const void * RTTI_hkTask__ExecutionContext; extern const void * RTTI_hkTgaFileFormat; extern const void * RTTI_hkThread; extern const void * RTTI_hkThreadMemory; extern const void * RTTI_hkThreadPool; extern const void * RTTI_hkTransientAllocator; extern const void * RTTI_hkTypeVm__ArrayInstruction; extern const void * RTTI_hkTypeVm__BlockInstruction; extern const void * RTTI_hkTypeVm__BlockPass; extern const void * RTTI_hkTypeVm__CheckTypeKindsPass; extern const void * RTTI_hkTypeVm__DefaultInstruction; extern const void * RTTI_hkTypeVm__GenerateConvertNumericKindPass; extern const void * RTTI_hkTypeVm__InlineFixedArrayPass; extern const void * RTTI_hkTypeVm__InlineRecordPass; extern const void * RTTI_hkTypeVm__Instruction; extern const void * RTTI_hkTypeVm__IntAndFloatConversionPass; extern const void * RTTI_hkTypeVm__NopInstruction; extern const void * RTTI_hkTypeVm__Pass; extern const void * RTTI_hkTypeVm__ProgramInstruction; extern const void * RTTI_hkTypeVm__RecordInstruction; extern const void * RTTI_hkUuidObject; extern const void * RTTI_hkUuidPseudoRandomGenerator; extern const void * RTTI_hkViewport; extern const void * RTTI_hkWin32FileSystem; extern const void * RTTI_hkWin32FileSystem__WatcherImpl; extern const void * RTTI_hkWin32StreamWriter; extern const void * RTTI_hkXmlLexAnalyzer; extern const void * RTTI_hkXmlStreamParser; extern const void * RTTI_hk__IsValueArray__Impl; extern const void * RTTI_hkaSkeleton; extern const void * RTTI_hkcdDynamicAabbTree; extern const void * RTTI_hkcdDynamicAabbTree__Impl; extern const void * RTTI_hkcdGsk_Float3ShapeAOnlyInterface; extern const void * RTTI_hkcdGsk_Float3ShapeInterface; extern const void * RTTI_hkcdPlanarCsgOperand; extern const void * RTTI_hkcdPlanarEntity; extern const void * RTTI_hkcdPlanarGeometry; extern const void * RTTI_hkcdPlanarGeometryPlanesCollection; extern const void * RTTI_hkcdPlanarGeometryPolygonCollection; extern const void * RTTI_hkcdPlanarGeometry__VertexStorage; extern const void * RTTI_hkcdPlanarSolid; extern const void * RTTI_hkcdPlanarSolid__NodeStorage; extern const void * RTTI_hkcdSimdTreeUtils__Build__EmptyRunnable; extern const void * RTTI_hkcdSimdTreeUtils__Build__Task; extern const void * RTTI_hkcdSimdTreeUtils__Build__hkcdRefitWithAabbFloat3Wrapper; extern const void * RTTI_hkcdSimdTreeUtils__Build__hkcdRefitWithAabbWrapper; extern const void * RTTI_hkcdSimdTree__BuildContext; extern const void * RTTI_hkcdSimdTree__ICustomRefit; extern const void * RTTI_hkcdSimdTree__IParallelBuild__IRunnable; extern const void * RTTI_hkcdSimdTree__LeafCollector; extern const void * RTTI_hkcdSimdTree__PairCollector; extern const void * RTTI_hkcdStaticAabbTree; extern const void * RTTI_hkcdStaticAabbTree__Impl; extern const void * RTTI_hkcdStaticMeshTree__GeometryProvider; extern const void * RTTI_hkgpCgo__Config; extern const void * RTTI_hkgpConvexHull; extern const void * RTTI_hkgpDeprecatedConvexDecompositionImpl__DefaultProgress; extern const void * RTTI_hkgpDeprecatedConvexDecompositionInternal__IInternal; extern const void * RTTI_hkgpDeprecatedConvexDecomposition__IProgress; extern const void * RTTI_hkgpMesh__IConvexOverlap; extern const void * RTTI_hknpAction; extern const void * RTTI_hknpActionManager; extern const void * RTTI_hknpAddActiveBodyPairsTask; extern const void * RTTI_hknpAllHitsCollector; extern const void * RTTI_hknpAnimatedShapeSurfaceVelocityModifier; extern const void * RTTI_hknpAnyHitCollector; extern const void * RTTI_hknpApiCommandProcessor; extern const void * RTTI_hknpApplyDragTask; extern const void * RTTI_hknpArrayAction; extern const void * RTTI_hknpBSCharacterProxy; extern const void * RTTI_hknpBSCharacterRigidBody; extern const void * RTTI_hknpBSCustomCollisionFilter; extern const void * RTTI_hknpBSMaterial; extern const void * RTTI_hknpBSMaterialProperties; extern const void * RTTI_hknpBSMotionPropertiesLibrary; extern const void * RTTI_hknpBSMouseSpringAction; extern const void * RTTI_hknpBSMoveLimitModifier; extern const void * RTTI_hknpBSPlacementStreamCache; extern const void * RTTI_hknpBSShapeCodec; extern const void * RTTI_hknpBSVehicleInstance; extern const void * RTTI_hknpBSVehicleRayCastWheelCollide; extern const void * RTTI_hknpBSVehicleSuspension; extern const void * RTTI_hknpBSWorld; extern const void * RTTI_hknpBSWorldUtil__hknpBSPhysicsSystem; extern const void * RTTI_hknpBSWorldUtil__hknpBSRagdoll; extern const void * RTTI_hknpBackfaceCollisionModifier; extern const void * RTTI_hknpBallGun; extern const void * RTTI_hknpBinaryAction; extern const void * RTTI_hknpBodyData; extern const void * RTTI_hknpBodyIntegrator; extern const void * RTTI_hknpBodyQuality; extern const void * RTTI_hknpBodyQualityLibrary; extern const void * RTTI_hknpBodyReference; extern const void * RTTI_hknpBoxShape; extern const void * RTTI_hknpBreakableConstraintData; extern const void * RTTI_hknpBroadPhase; extern const void * RTTI_hknpBroadphaseTriggerCollisionDetector; extern const void * RTTI_hknpBuildConstraintJacobiansTask; extern const void * RTTI_hknpCapsuleCapsuleConvexConvexManifoldGenerator; extern const void * RTTI_hknpCapsuleShape; extern const void * RTTI_hknpCharacterContext; extern const void * RTTI_hknpCharacterProxy; extern const void * RTTI_hknpCharacterProxyCinfo; extern const void * RTTI_hknpCharacterProxyInternals__QueryCollector; extern const void * RTTI_hknpCharacterProxyListener; extern const void * RTTI_hknpCharacterRigidBody; extern const void * RTTI_hknpCharacterRigidBodyCinfo; extern const void * RTTI_hknpCharacterStateManager; extern const void * RTTI_hknpCircularSurfaceVelocity; extern const void * RTTI_hknpClosestHitCollector; extern const void * RTTI_hknpClosestUniqueBodyIdHitCollector; extern const void * RTTI_hknpClosestUniqueBodyIdHitCollectorDeprecated; extern const void * RTTI_hknpCollideSyncTask; extern const void * RTTI_hknpCollisionDetector; extern const void * RTTI_hknpCollisionFilter; extern const void * RTTI_hknpCollisionQueryCollector; extern const void * RTTI_hknpCollisionQueryDispatcher; extern const void * RTTI_hknpCompositeCompositeCollisionDetector; extern const void * RTTI_hknpCompositeShape; extern const void * RTTI_hknpCompoundShape; extern const void * RTTI_hknpCompoundShapeData; extern const void * RTTI_hknpCompoundShapeInternalsCdDynamicTreeKeyMask; extern const void * RTTI_hknpCompoundShapeInternalsSimdTreeKeyMask; extern const void * RTTI_hknpCompressedMeshShape; extern const void * RTTI_hknpCompressedMeshShapeCinfo; extern const void * RTTI_hknpCompressedMeshShapeData; extern const void * RTTI_hknpCompressedMeshShapeInternals__GeometryProvider; extern const void * RTTI_hknpCompressedMeshShapeInternals__GetClosestPointsToConvexQuery; extern const void * RTTI_hknpCompressedMeshShapeInternals__GetClosestPointsToConvexQueryScaled; extern const void * RTTI_hknpCompressedMeshShapeInternals__GetClosestPointsToHeightFieldQueryScaled0; extern const void * RTTI_hknpCompressedMeshShapeInternals__GetClosestPointsToHeightFieldQueryScaled1; extern const void * RTTI_hknpCompressedMeshShapeInternals__GetClosestPointsToHeightFieldQueryScaled2; extern const void * RTTI_hknpCompressedMeshShapeInternals__GetClosestPointsToHeightFieldQueryUnscaled; extern const void * RTTI_hknpCompressedMeshShapeInternals__GetClosestPointsToMeshQueryScaled; extern const void * RTTI_hknpCompressedMeshShapeInternals__GetClosestPointsToMeshQueryUnscaled; extern const void * RTTI_hknpCompressedMeshShapeInternals__KeyMask; extern const void * RTTI_hknpCompressedMeshShapeInternals__RayCastQueryBase; extern const void * RTTI_hknpCompressedMeshShapeInternals__ShapeCastQuery; extern const void * RTTI_hknpCompressedMeshShapeInternals__ShapeCastQueryScaled; extern const void * RTTI_hknpConstraintAtomSolver; extern const void * RTTI_hknpConstraintCollisionFilter; extern const void * RTTI_hknpConstraintForceEventCreator; extern const void * RTTI_hknpConstraintForceExceededEventCreator; extern const void * RTTI_hknpContactImpulseClippedEventCreator; extern const void * RTTI_hknpContactImpulseEventCreator; extern const void * RTTI_hknpConvexCompositeCollisionDetector; extern const void * RTTI_hknpConvexConvexCollisionDetector; extern const void * RTTI_hknpConvexConvexShapeBaseInterface; extern const void * RTTI_hknpConvexShape; extern const void * RTTI_hknpCylinderShape; extern const void * RTTI_hknpDeactivationMaintenanceTask; extern const void * RTTI_hknpDecoratorShape; extern const void * RTTI_hknpDefaultBroadPhaseConfig; extern const void * RTTI_hknpDefaultCompressedMeshShapeCinfo; extern const void * RTTI_hknpDefaultExternMeshShapeGeometry; extern const void * RTTI_hknpDefaultHeightFieldGeometry; extern const void * RTTI_hknpDefaultModifierSet; extern const void * RTTI_hknpDeflectedLinearCast__CheckStartCollector; extern const void * RTTI_hknpDeflectedLinearCast__FilteredQueryCollector; extern const void * RTTI_hknpDeflectedLinearCast__QueryFilter; extern const void * RTTI_hknpDestructionShapeProperties; extern const void * RTTI_hknpDisableCollisionFilter; extern const void * RTTI_hknpDummyShape; extern const void * RTTI_hknpDynamicSpaceSplitter; extern const void * RTTI_hknpEaseConstraintsAction; extern const void * RTTI_hknpEasePenetrationsAction; extern const void * RTTI_hknpEventDispatcher; extern const void * RTTI_hknpEventMergeAndDispatcher; extern const void * RTTI_hknpExtendedExternMeshShapeGeometry; extern const void * RTTI_hknpExternMeshShape; extern const void * RTTI_hknpExternMeshShapeBuildContext; extern const void * RTTI_hknpExternMeshShapeData; extern const void * RTTI_hknpFaceClipConvexConvexManifoldGenerator; extern const void * RTTI_hknpFinalizeNarrowPhaseGridTask; extern const void * RTTI_hknpFinalizeNarrowPhasePairsTask; extern const void * RTTI_hknpFireSignalTask; extern const void * RTTI_hknpFirstPersonCharacter; extern const void * RTTI_hknpFirstPersonGun; extern const void * RTTI_hknpFixedClosestHitCollector; extern const void * RTTI_hknpFixedClosestUniqueBodyHitCollector; extern const void * RTTI_hknpFlipBackfaceCollisionModifier; extern const void * RTTI_hknpFlippedGetClosestPointsQueryCollector; extern const void * RTTI_hknpFlippedShapeCastQueryCollector; extern const void * RTTI_hknpForwardClosestHitCollector; extern const void * RTTI_hknpFullCast__ManifoldGenerator; extern const void * RTTI_hknpGenSolverTasksTask; extern const void * RTTI_hknpGlobals; extern const void * RTTI_hknpGravityGun; extern const void * RTTI_hknpGroupCollisionFilter; extern const void * RTTI_hknpHeightFieldBoundingVolume; extern const void * RTTI_hknpHeightFieldGeometry; extern const void * RTTI_hknpHeightFieldShape; extern const void * RTTI_hknpHitScalingCollector; extern const void * RTTI_hknpInternalCommandProcessor; extern const void * RTTI_hknpLeafShapeSensor; extern const void * RTTI_hknpLegacyRestitutionModifier; extern const void * RTTI_hknpLinearSurfaceVelocity; extern const void * RTTI_hknpLodShape; extern const void * RTTI_hknpMalleableConstraintData; extern const void * RTTI_hknpManifoldEventCreator; extern const void * RTTI_hknpMaskedCompoundShape; extern const void * RTTI_hknpMaskedShape; extern const void * RTTI_hknpMaskedShape__MaskWrapper; extern const void * RTTI_hknpMassChangerModifier; extern const void * RTTI_hknpMaterialData; extern const void * RTTI_hknpMaterialLibrary; extern const void * RTTI_hknpMaterialPalette; extern const void * RTTI_hknpModifier; extern const void * RTTI_hknpMotionPropertiesData; extern const void * RTTI_hknpMotionPropertiesLibrary; extern const void * RTTI_hknpMotionWeldingModifier; extern const void * RTTI_hknpMountedBallGun; extern const void * RTTI_hknpMultithreadedSimulation; extern const void * RTTI_hknpNeighborWeldingModifier; extern const void * RTTI_hknpNullShapeTagCodec; extern const void * RTTI_hknpPairCollisionFilter; extern const void * RTTI_hknpParticleEventCreator; extern const void * RTTI_hknpParticleShapeLibrary; extern const void * RTTI_hknpParticleSimulationContext; extern const void * RTTI_hknpParticlesClosestHitOnMeshCollector; extern const void * RTTI_hknpParticlesCollider; extern const void * RTTI_hknpParticlesColliderShape; extern const void * RTTI_hknpParticlesCollisionFilter; extern const void * RTTI_hknpParticlesDynamicHitsCollector; extern const void * RTTI_hknpParticlesStaticCollector; extern const void * RTTI_hknpPhysicsSceneData; extern const void * RTTI_hknpPhysicsSystem; extern const void * RTTI_hknpPhysicsSystemData; extern const void * RTTI_hknpPostCollideTask; extern const void * RTTI_hknpPostSolveTask; extern const void * RTTI_hknpPreSolveTask; extern const void * RTTI_hknpPrepareConstraintsTask; extern const void * RTTI_hknpPrepareNarrowPhasePairsTask; extern const void * RTTI_hknpPrepareNarrowPhaseTask; extern const void * RTTI_hknpPrepareSolverData; extern const void * RTTI_hknpProcessFullCastsTask; extern const void * RTTI_hknpProcessNarrowPhaseGridTask; extern const void * RTTI_hknpProcessNarrowPhasePairsTask; extern const void * RTTI_hknpProjectileGun; extern const void * RTTI_hknpRagdoll; extern const void * RTTI_hknpRagdollData; extern const void * RTTI_hknpRefDragProperties; extern const void * RTTI_hknpRefMassDistribution; extern const void * RTTI_hknpRefMaterial; extern const void * RTTI_hknpRefWorldCinfo; extern const void * RTTI_hknpReorientAction; extern const void * RTTI_hknpRestitutionModifier; extern const void * RTTI_hknpSafeEaseConstraintsAction; extern const void * RTTI_hknpScaledConvexShape; extern const void * RTTI_hknpScaledConvexShapeBase; extern const void * RTTI_hknpSetShapeKeyACdDetector; extern const void * RTTI_hknpShape; extern const void * RTTI_hknpShapeBuffer; extern const void * RTTI_hknpShapeFunctionsSingleton; extern const void * RTTI_hknpShapeKeyArrayCacheCdDetector; extern const void * RTTI_hknpShapeKeyMask; extern const void * RTTI_hknpShapeManager; extern const void * RTTI_hknpShapeMassProperties; extern const void * RTTI_hknpShapeScalingUtil; extern const void * RTTI_hknpShape__MassConfig; extern const void * RTTI_hknpSignedDistanceFieldCollisionDetector; extern const void * RTTI_hknpSimdTreeBroadPhase; extern const void * RTTI_hknpSimdTreeBroadPhaseTasks__CollideTrees; extern const void * RTTI_hknpSimdTreeBroadPhaseTasks__CopyAabbsAndMarkActiveBodiesDirty; extern const void * RTTI_hknpSimdTreeBroadPhaseTasks__Finalize; extern const void * RTTI_hknpSimdTreeBroadPhaseTasks__PrepareTreeBuildData; extern const void * RTTI_hknpSimulation; extern const void * RTTI_hknpSingleCellSpaceSplitter; extern const void * RTTI_hknpSingleThreadedSimulation; extern const void * RTTI_hknpSingleThreadedSolverData; extern const void * RTTI_hknpSoftContactModifier; extern const void * RTTI_hknpSolveFinalizeTask; extern const void * RTTI_hknpSolverData; extern const void * RTTI_hknpSolverFactoryTask; extern const void * RTTI_hknpSolverSchedulerTask; extern const void * RTTI_hknpSortFinalizeNarrowPhasePairsTask; extern const void * RTTI_hknpSpaceSplitter; extern const void * RTTI_hknpSphereShape; extern const void * RTTI_hknpSpringAction; extern const void * RTTI_hknpStreamContactSolver; extern const void * RTTI_hknpSurfaceVelocityModifier; extern const void * RTTI_hknpTaskGraph; extern const void * RTTI_hknpTriangleShape; extern const void * RTTI_hknpTriangleWeldingModifier; extern const void * RTTI_hknpTriggerModifier; extern const void * RTTI_hknpTyremarksInfo; extern const void * RTTI_hknpTyremarksWheel; extern const void * RTTI_hknpUnaryAction; extern const void * RTTI_hknpUniqueBodyIdHitCollector; extern const void * RTTI_hknpVariableTimeStepUtil; extern const void * RTTI_hknpVehicleData; extern const void * RTTI_hknpVehicleDefaultAerodynamics; extern const void * RTTI_hknpVehicleDefaultAnalogDriverInput; extern const void * RTTI_hknpVehicleDefaultBrake; extern const void * RTTI_hknpVehicleDefaultEngine; extern const void * RTTI_hknpVehicleDefaultSteering; extern const void * RTTI_hknpVehicleDefaultSuspension; extern const void * RTTI_hknpVehicleDefaultTransmission; extern const void * RTTI_hknpVehicleDefaultVelocityDamper; extern const void * RTTI_hknpVehicleDriverInputAnalogStatus; extern const void * RTTI_hknpVehicleInstance; extern const void * RTTI_hknpVehicleLinearCastWheelCollide; extern const void * RTTI_hknpVehicleRayCastWheelCollide; extern const void * RTTI_hknpVehicleSuspension; extern const void * RTTI_hknpVehicleWheelCollide; extern const void * RTTI_hknpVehicleWheelCollide__WheelHitCollector; extern const void * RTTI_hknpWeldingModifier; extern const void * RTTI_hknpWorld; extern const void * RTTI_hknpWorldSnapshot; extern const void * RTTI_hkp6DofConstraintData; extern const void * RTTI_hkpAngularFrictionConstraintData; extern const void * RTTI_hkpBallAndSocketConstraintData; extern const void * RTTI_hkpCallbackConstraintMotor; extern const void * RTTI_hkpCogWheelConstraintData; extern const void * RTTI_hkpConstraintData; extern const void * RTTI_hkpConstraintMotor; extern const void * RTTI_hkpDeformableFixedConstraintData; extern const void * RTTI_hkpFixedConstraintData; extern const void * RTTI_hkpHingeConstraintData; extern const void * RTTI_hkpHingeLimitsData; extern const void * RTTI_hkpLimitedForceConstraintMotor; extern const void * RTTI_hkpLimitedHingeConstraintData; extern const void * RTTI_hkpLinearClearanceConstraintData; extern const void * RTTI_hkpLinearParametricCurve; extern const void * RTTI_hkpPointToPathConstraintData; extern const void * RTTI_hkpPointToPlaneConstraintData; extern const void * RTTI_hkpPositionConstraintMotor; extern const void * RTTI_hkpPrismaticConstraintData; extern const void * RTTI_hkpPulleyConstraintData; extern const void * RTTI_hkpRackAndPinionConstraintData; extern const void * RTTI_hkpRagdollConstraintData; extern const void * RTTI_hkpRagdollLimitsData; extern const void * RTTI_hkpRotationalConstraintData; extern const void * RTTI_hkpSpringDamperConstraintMotor; extern const void * RTTI_hkpStiffSpringConstraintData; extern const void * RTTI_hkpVehicleFrictionDescription; extern const void * RTTI_hkpVelocityConstraintMotor; extern const void * RTTI_hkpWheelConstraintData; extern const void * RTTI_hkpWheelFrictionConstraintData; extern const void * RTTI_hkpWrappedConstraintData; extern const void * RTTI_idLogging__ILogger; extern const void * RTTI_idTCP; extern const void * RTTI_nlohmann__detail__exception; extern const void * RTTI_nlohmann__detail__input_buffer_adapter; extern const void * RTTI_nlohmann__detail__input_stream_adapter; extern const void * RTTI_nlohmann__detail__out_of_range; extern const void * RTTI_nlohmann__detail__parse_error; extern const void * RTTI_nsContainerMenu__ConfirmTakeAllTheThingsCallback; extern const void * RTTI_nsControlMappingData__RemapHandler; extern const void * RTTI_nsDataMenuData__GameLoadListener; extern const void * RTTI_nsDialogueMenu__MenuEventCatcher; extern const void * RTTI_nsMainMenu__DisplayCreditsCTACallback; extern const void * RTTI_nsMainMenu__InvalidUserCallback; extern const void * RTTI_nsMonocle__MenuEventCatcher; extern const void * RTTI_nsMonocle__MonocleFastTravelConfirmFunc; extern const void * RTTI_nsPauseMenu__UserDisengagedCallback; extern const void * RTTI_nsPickpocketMenu__MenuEventCatcher; extern const void * RTTI_nsWorkshop_BlueprintMenu__WarnAboutInvalidNameCallback; extern const void * RTTI_rcContext; extern const void * RTTI_returnToMainMenuCallback; extern const void * RTTI_std___Node_assert; extern const void * RTTI_std___Node_back; extern const void * RTTI_std___Node_base; extern const void * RTTI_std___Node_capture; extern const void * RTTI_std___Node_end_group; extern const void * RTTI_std___Node_end_rep; extern const void * RTTI_std___Node_endif; extern const void * RTTI_std___Node_if; extern const void * RTTI_std___Node_rep; extern const void * RTTI_std___Root_node; extern const void * RTTI_std__bad_alloc; extern const void * RTTI_std__bad_array_new_length; extern const void * RTTI_std__bad_cast; extern const void * RTTI_std__bad_optional_access; extern const void * RTTI_std__bad_variant_access; extern const void * RTTI_std__exception; extern const void * RTTI_std__invalid_argument; extern const void * RTTI_std__logic_error; extern const void * RTTI_std__out_of_range; extern const void * RTTI_std__overflow_error; extern const void * RTTI_std__range_error; extern const void * RTTI_std__runtime_error; extern const void * RTTI_std__underflow_error; extern const void * RTTI_type_info; extern const void * RTTI_winrt__impl__error_info_fallback; ================================================ FILE: sfse/GameRTTI.inl ================================================ const void * RTTI_AK__StreamMgr__IAkFileLocationResolver = (void *)0x05AA5168; const void * RTTI_AK__StreamMgr__IAkLowLevelIOHook = (void *)0x05AA50B8; const void * RTTI_AabbHitCollector = (void *)0x0598E8A0; const void * RTTI_AbsorbEffect = (void *)0x05B7E948; const void * RTTI_AccumulatingValueModifierEffect = (void *)0x05B7E998; const void * RTTI_ActionActivateDoneHandler = (void *)0x05BCF350; const void * RTTI_ActionInput = (void *)0x059C2B40; const void * RTTI_ActionOutput = (void *)0x059C2B18; const void * RTTI_ActiveEffect = (void *)0x05B7E970; const void * RTTI_ActiveEffectReferenceEffectController = (void *)0x05B7E9D0; const void * RTTI_ActiveModItemDataModel = (void *)0x05AFF180; const void * RTTI_ActiveModItemDataModel__ActiveModItemEventShuttle = (void *)0x05AFF270; const void * RTTI_Actor = (void *)0x05992138; const void * RTTI_ActorEquipManager = (void *)0x05B9EB18; const void * RTTI_ActorKnowledge = (void *)0x05BB8A88; const void * RTTI_ActorMagicCaster = (void *)0x05B7EB98; const void * RTTI_ActorMover = (void *)0x05BB6968; const void * RTTI_ActorPackageData = (void *)0x05BAFB50; const void * RTTI_ActorSceneNextPhaseHandler = (void *)0x05BCA318; const void * RTTI_ActorUtils__ArmorRatingVisitor = (void *)0x05BAE9B0; const void * RTTI_ActorUtils__ArmorRatingVisitorBase = (void *)0x05B819B0; const void * RTTI_ActorValueBindingUpdaterService = (void *)0x059D2F10; const void * RTTI_ActorValueInfo = (void *)0x05A88040; const void * RTTI_ActorValueOwner = (void *)0x05A68848; const void * RTTI_ActorValueSnapshot = (void *)0x059921C8; const void * RTTI_Actor__ForEachSpellVisitor = (void *)0x05B82C40; const void * RTTI_AddRagdollHandler = (void *)0x05BCF1C0; const void * RTTI_AddToInventoryOnDestroyUtils__AddToInventoryOnDestroyEventHandler = (void *)0x059DEE90; const void * RTTI_AimAssistData = (void *)0x05A415E0; const void * RTTI_AimAssist__Circle = (void *)0x05AA9B30; const void * RTTI_AimAssist__Ellipse = (void *)0x05AA9AA8; const void * RTTI_AimAssist__Pill = (void *)0x05AAFAD8; const void * RTTI_AimDownSightData = (void *)0x05A41C70; const void * RTTI_AimModelData = (void *)0x05A41CC8; const void * RTTI_AimOpticalSightData = (void *)0x05A41EA0; const void * RTTI_AimOpticalSightStates__Active = (void *)0x05995FA8; const void * RTTI_AimOpticalSightStates__BetweenShots = (void *)0x05996090; const void * RTTI_AimOpticalSightStates__Deinitialization = (void *)0x05995F68; const void * RTTI_AimOpticalSightStates__Inactive = (void *)0x05996058; const void * RTTI_AimOpticalSightStates__Initialization = (void *)0x05995FE0; const void * RTTI_AimOpticalSightStates__Ready = (void *)0x05996020; const void * RTTI_AlarmPackage = (void *)0x05998258; const void * RTTI_AlchemyItem = (void *)0x059F5A68; const void * RTTI_AliasLegendaryRankCalculator = (void *)0x05A81B98; const void * RTTI_AllowRotationHandler = (void *)0x05BCF768; const void * RTTI_AllowRotationHandlerReference = (void *)0x05BCA3C0; const void * RTTI_Almanac_BodySelected = (void *)0x05ADA6F8; const void * RTTI_Almanac_Inorganics_ChangeSelection = (void *)0x05ADBCD8; const void * RTTI_Almanac_Inorganics_ToggleTracking = (void *)0x05ADBC18; const void * RTTI_Almanac_Locations_ChangeSelection = (void *)0x05ADD620; const void * RTTI_Almanac_Locations_FavoriteSelection = (void *)0x05ADD588; const void * RTTI_Almanac_Locations_OutpostSelected = (void *)0x05ADD740; const void * RTTI_Almanac_Organics_ChangeSelection = (void *)0x05ADEE10; const void * RTTI_Almanac_Organics_ToggleTracking = (void *)0x05ADED80; const void * RTTI_Almanac_PageChanged = (void *)0x05ADA580; const void * RTTI_Almanac_Recipes_ChangeCategory = (void *)0x05AE01D0; const void * RTTI_Almanac_Recipes_ChangeSelection = (void *)0x05AE00B0; const void * RTTI_Almanac_Recipes_ToggleTracking = (void *)0x05AE0140; const void * RTTI_Almanac_ShowResourceBodyList = (void *)0x05ADA778; const void * RTTI_Almanac_Workshop_ChangeSelection = (void *)0x05AE11D8; const void * RTTI_Almanac_Workshop_ToggleTracking = (void *)0x05AE1320; const void * RTTI_Almanac__AlmanacMenu = (void *)0x05ADA5F8; const void * RTTI_Almanac__AlmanacMenu__AlmanacMenuEventShuttle = (void *)0x05ADAA30; const void * RTTI_Almanac__AlmanacState_Inorganics = (void *)0x05ADBCA0; const void * RTTI_Almanac__AlmanacState_Inorganics__AlmanacInorganicsEventShuttle = (void *)0x05ADBD20; const void * RTTI_Almanac__AlmanacState_Locations = (void *)0x05ADD6B8; const void * RTTI_Almanac__AlmanacState_Locations__AlmanacLocationsEventShuttle = (void *)0x05ADD970; const void * RTTI_Almanac__AlmanacState_Null = (void *)0x05ADAA78; const void * RTTI_Almanac__AlmanacState_Organics = (void *)0x05ADEF40; const void * RTTI_Almanac__AlmanacState_Organics__AlmanacOrganicsEventShuttle = (void *)0x05ADEC90; const void * RTTI_Almanac__AlmanacState_Recipes = (void *)0x05AE02F8; const void * RTTI_Almanac__AlmanacState_Recipes__AlmanacRecipesEventShuttle = (void *)0x05AE0330; const void * RTTI_Almanac__AlmanacState_Workshop = (void *)0x05AE1298; const void * RTTI_Almanac__AlmanacState_Workshop__AlmanacWorkshopEventShuttle = (void *)0x05AE15A0; const void * RTTI_AmmoData = (void *)0x05B265E8; const void * RTTI_AnimGraph = (void *)0x05C8B448; const void * RTTI_AnimGraphNode = (void *)0x05C8B4B0; const void * RTTI_AnimatedCameraDeltaStartHandler = (void *)0x05BCEC68; const void * RTTI_AnimatedCameraEndHandler = (void *)0x05BCEBD0; const void * RTTI_AnimatedCameraStartHandler = (void *)0x05BCEC30; const void * RTTI_AnimationClipDataSingleton = (void *)0x05C9A4A8; const void * RTTI_AnimationCompleteHandler = (void *)0x05BCF380; const void * RTTI_AnimationCorrectedNode = (void *)0x05C997A8; const void * RTTI_AnimationCorrectedNodeInstance = (void *)0x05C997D8; const void * RTTI_AnimationDrivenHandler = (void *)0x05BCF738; const void * RTTI_AnimationDrivenHandlerReference = (void *)0x05BCA470; const void * RTTI_AnimationFileManagerSingleton = (void *)0x05C9A888; const void * RTTI_AnimationGraph = (void *)0x05BCF958; const void * RTTI_AnimationGraphInstance = (void *)0x05C8C4F0; const void * RTTI_AnimationImpactSelector = (void *)0x05C99368; const void * RTTI_AnimationImpactSelectorInstance = (void *)0x05C99398; const void * RTTI_AnimationManager = (void *)0x05C8B488; const void * RTTI_AnimationNode = (void *)0x05C99B28; const void * RTTI_AnimationNodeInstance = (void *)0x05C99B50; const void * RTTI_AnimationObjectDrawHandler = (void *)0x05BCEE10; const void * RTTI_AnimationObjectHideHandler = (void *)0x05BCED68; const void * RTTI_AnimationObjectLoadHandler = (void *)0x05BCEE48; const void * RTTI_AnimationObjectUnequipAllHandler = (void *)0x05BCEDD8; const void * RTTI_AnimationObjectUnequipHandler = (void *)0x05BCEE80; const void * RTTI_AnimationRagdoll = (void *)0x05C99668; const void * RTTI_AnimationRagdollDrive = (void *)0x05C99600; const void * RTTI_AnimationRagdollDriveInstance = (void *)0x05C99630; const void * RTTI_AnimationRagdollInstance = (void *)0x05C99690; const void * RTTI_AnimationStanceDataHelperSingleton = (void *)0x05C9B4E8; const void * RTTI_AnimationStanceDataSingletonDBData = (void *)0x05C9B2D0; const void * RTTI_AnimationStreamLoadGame = (void *)0x05A710C0; const void * RTTI_AnimationStreamSaveGame = (void *)0x05A71090; const void * RTTI_AnimationSystemUtils__QueuedAnimationHandles = (void *)0x05AA2D30; const void * RTTI_AnimationSystemUtils__QueuedModelHandles = (void *)0x05AA2CE8; const void * RTTI_AnimationSystemUtils__QueuedReferenceAnimationTask = (void *)0x05AA2D80; const void * RTTI_AnimationSystemUtils__TESModelAndAnimationHandles = (void *)0x059C7100; const void * RTTI_AntiGravityEffect = (void *)0x05B7EDD0; const void * RTTI_AnticipateAttackHandler = (void *)0x05BCE540; const void * RTTI_ArchiveFile = (void *)0x05D0BED8; const void * RTTI_ArmorCraftingMenu = (void *)0x05B2C050; const void * RTTI_ArrowAttachHandler = (void *)0x05BCE690; const void * RTTI_ArrowDetachHandler = (void *)0x05BCE5F8; const void * RTTI_ArrowProjectile = (void *)0x05BD1510; const void * RTTI_AssignVariable = (void *)0x05C99540; const void * RTTI_AssignVariableInstance = (void *)0x05C99568; const void * RTTI_AssigniState = (void *)0x05C994E8; const void * RTTI_AssigniStateInstance = (void *)0x05C99510; const void * RTTI_AttachDistant3DTask = (void *)0x059FA510; const void * RTTI_AttachReferenceHandler = (void *)0x05BCB2F8; const void * RTTI_AttackStopHandler = (void *)0x05BCEAF8; const void * RTTI_AttractionObjectLOSManager = (void *)0x05AA8DB8; const void * RTTI_AttractionObjectLOSUtils__CacheEntry = (void *)0x05AA8D78; const void * RTTI_AutoVanityState = (void *)0x05C483F0; const void * RTTI_AwakeSoundFadeHandler = (void *)0x05BCB2C8; const void * RTTI_AwakeSoundPauseHandler = (void *)0x05BCB270; const void * RTTI_AwakeSoundResumeHandler = (void *)0x05BCB1D8; const void * RTTI_AwakeSoundStopHandler = (void *)0x05BCB240; const void * RTTI_BGSAIOperationsMeter = (void *)0x05A88380; const void * RTTI_BGSAIWorldLocationEditorSpacePointRadius = (void *)0x059C0020; const void * RTTI_BGSAIWorldLocationInteriorCell = (void *)0x059BFC48; const void * RTTI_BGSAIWorldLocationPointRadius = (void *)0x059BFCE0; const void * RTTI_BGSAIWorldLocationPrimitive = (void *)0x059BFEB8; const void * RTTI_BGSAIWorldLocationRefRadius = (void *)0x059BFF88; const void * RTTI_BGSAVMData = (void *)0x059D5F08; const void * RTTI_BGSAbilityPerkEntry = (void *)0x05A819F8; const void * RTTI_BGSAcousticSpace = (void *)0x05992C68; const void * RTTI_BGSAction = (void *)0x05A80BB0; const void * RTTI_BGSActionData = (void *)0x059C2B68; const void * RTTI_BGSActivity = (void *)0x059BD900; const void * RTTI_BGSActivityTrackerFormComponent = (void *)0x059DEDC0; const void * RTTI_BGSActorValueActivity = (void *)0x059BD980; const void * RTTI_BGSActorValueActivity_Runtime = (void *)0x059BD8C8; const void * RTTI_BGSAdaptiveTriggerDataComponent = (void *)0x059CB3E8; const void * RTTI_BGSAddToInventoryOnDestroy = (void *)0x059DF148; const void * RTTI_BGSAddonNode = (void *)0x05A60DA0; const void * RTTI_BGSAddonNodeSoundHandleExtra = (void *)0x05A60D68; const void * RTTI_BGSAffinityEvent = (void *)0x05A5C748; const void * RTTI_BGSAimAssistModel = (void *)0x05A41578; const void * RTTI_BGSAimAssistPoseData = (void *)0x05A5F658; const void * RTTI_BGSAimDownSightModel = (void *)0x05A41C98; const void * RTTI_BGSAimModel = (void *)0x05A41CF0; const void * RTTI_BGSAimOpticalSightModel = (void *)0x05A41ED0; const void * RTTI_BGSAmbienceSet = (void *)0x05A41FA8; const void * RTTI_BGSAnimationGraphComponent = (void *)0x059C4318; const void * RTTI_BGSAnimationPathImplementation = (void *)0x05BAE948; const void * RTTI_BGSAnimationSubGraphDataSingleton = (void *)0x059C41A0; const void * RTTI_BGSApplyMagicEffectActivity = (void *)0x059BDE20; const void * RTTI_BGSApplyMagicEffectActivity_Runtime = (void *)0x059BDDE0; const void * RTTI_BGSArtObject = (void *)0x05A60EA0; const void * RTTI_BGSArtObjectCloneTask = (void *)0x05A60E70; const void * RTTI_BGSAssociationType = (void *)0x05A80C78; const void * RTTI_BGSAtmosphere = (void *)0x05A5F630; const void * RTTI_BGSAttachParentArray = (void *)0x059DF630; const void * RTTI_BGSAttachTechniquesUtil__AttachTechniquesFunctor = (void *)0x05A09930; const void * RTTI_BGSAttachTechniquesUtil__DetachTechniquesFunctor = (void *)0x05A098E0; const void * RTTI_BGSAttachTechniquesUtil__ProcessTechniquesFunctor = (void *)0x05A09890; const void * RTTI_BGSAttackData = (void *)0x05A883D8; const void * RTTI_BGSAttackDataForm = (void *)0x05A01C90; const void * RTTI_BGSAttackDataMap = (void *)0x05A883B0; const void * RTTI_BGSAttractionRule = (void *)0x05A5C7B8; const void * RTTI_BGSAudioOcclusionPrimitive = (void *)0x059D4210; const void * RTTI_BGSAudio_Internal__LooseAudioRegistrar = (void *)0x05AA3CA0; const void * RTTI_BGSAudio_Internal__WwiseActiveEventMgr = (void *)0x05AA4CC0; const void * RTTI_BGSAudio_Internal__WwiseActiveEventMgr__DelayedEventInfo = (void *)0x05AA4C20; const void * RTTI_BGSAudio_Internal__WwiseActiveEventMgr__PlayingEventInfo = (void *)0x05AA4C70; const void * RTTI_BGSAudio_Internal__WwiseEventPreloadMgr = (void *)0x05AA49F8; const void * RTTI_BGSAudio_Internal__WwiseGameObjectMgr = (void *)0x05AA4F80; const void * RTTI_BGSAudio_Internal__WwiseIODevice = (void *)0x05AA4418; const void * RTTI_BGSAudio_Internal__WwiseIOMgr = (void *)0x05AA43E0; const void * RTTI_BGSAudio_Internal__WwiseMetadataMgr = (void *)0x05AA4450; const void * RTTI_BGSAudio__IEmitterResolver = (void *)0x05AA5228; const void * RTTI_BGSAudio__RefNodeResolver = (void *)0x05AA51F8; const void * RTTI_BGSAudio__WwiseService = (void *)0x05AA4758; const void * RTTI_BGSAutoWater = (void *)0x05AA0F58; const void * RTTI_BGSBarterActivity = (void *)0x059BF288; const void * RTTI_BGSBarterActivity_Runtime = (void *)0x059BF208; const void * RTTI_BGSBaseAlias = (void *)0x05A5C8E0; const void * RTTI_BGSBaseLODBlock = (void *)0x059D6A98; const void * RTTI_BGSBaseLODBlock__AutoDetachBlock = (void *)0x059D6B00; const void * RTTI_BGSBaseLODBlock__GeometryAutoDetachBlock = (void *)0x059D6AC0; const void * RTTI_BGSBaseLODRuntimeComponent = (void *)0x059D6E90; const void * RTTI_BGSBendableSpline = (void *)0x05A60F78; const void * RTTI_BGSBiome = (void *)0x05992D80; const void * RTTI_BGSBiomeMarkerObject = (void *)0x05A42D10; const void * RTTI_BGSBiome__MarkerKeywordData = (void *)0x05A5F9F0; const void * RTTI_BGSBleedoutActivity = (void *)0x059BDF60; const void * RTTI_BGSBleedoutActivity_Runtime = (void *)0x059BDF28; const void * RTTI_BGSBlockBashData = (void *)0x05A01CB8; const void * RTTI_BGSBodyManager = (void *)0x059C7BE8; const void * RTTI_BGSBodyPartData = (void *)0x05995610; const void * RTTI_BGSBodyPartInfo = (void *)0x05992850; const void * RTTI_BGSBodyUtils__SkinColorUpdateNode = (void *)0x059C7BB0; const void * RTTI_BGSBoneModifier = (void *)0x05A431F8; const void * RTTI_BGSBuildWorkshopActivity = (void *)0x059BE0A0; const void * RTTI_BGSBuildWorkshopActivity_Runtime = (void *)0x059BE068; const void * RTTI_BGSCameraPath = (void *)0x05A7BFE8; const void * RTTI_BGSCameraShot = (void *)0x05A7C100; const void * RTTI_BGSChallengeForm = (void *)0x059D5DC0; const void * RTTI_BGSCharacterMorph__FacialBoneSculptSlider = (void *)0x05A5C838; const void * RTTI_BGSCharacterMorph__FacialBoneSlider = (void *)0x05A5C878; const void * RTTI_BGSCityMapsUsageComponent = (void *)0x059CB890; const void * RTTI_BGSCloudForm = (void *)0x05A4FCC0; const void * RTTI_BGSCollisionLayer = (void *)0x05A7C298; const void * RTTI_BGSColorForm = (void *)0x05A7C358; const void * RTTI_BGSCompleteResearchActivity = (void *)0x059BE160; const void * RTTI_BGSCompleteResearchActivity_Runtime = (void *)0x059BE120; const void * RTTI_BGSConditionForm = (void *)0x059921F8; const void * RTTI_BGSConstructibleObject = (void *)0x05A61050; const void * RTTI_BGSConsumeActivity = (void *)0x059BE270; const void * RTTI_BGSConsumeActivity_Runtime = (void *)0x059BE238; const void * RTTI_BGSContactShadowComponent = (void *)0x059CBB68; const void * RTTI_BGSConveyorBelt__ConveyorBelt = (void *)0x059EAA30; const void * RTTI_BGSCraftActivity = (void *)0x059BE390; const void * RTTI_BGSCraftActivity_Runtime = (void *)0x059BE360; const void * RTTI_BGSCraftableForm = (void *)0x05A42D40; const void * RTTI_BGSCraftingResourceOwner = (void *)0x05992878; const void * RTTI_BGSCreatedObjectManager = (void *)0x05B8CB20; const void * RTTI_BGSCrippleLimbActivity = (void *)0x059BE480; const void * RTTI_BGSCrippleLimbActivity_Runtime = (void *)0x059BE448; const void * RTTI_BGSCrowdComponent = (void *)0x059DFEA0; const void * RTTI_BGSCurve3DForm = (void *)0x05A416B8; const void * RTTI_BGSCurveForm = (void *)0x05A417D8; const void * RTTI_BGSCustomShipForm = (void *)0x059CBB98; const void * RTTI_BGSDamageType = (void *)0x05A5FBB0; const void * RTTI_BGSDebris = (void *)0x05A61138; const void * RTTI_BGSDecalManager = (void *)0x05A0A550; const void * RTTI_BGSDecalNode = (void *)0x05A0A678; const void * RTTI_BGSDefaultObject = (void *)0x05A5FBD8; const void * RTTI_BGSDefaultObjectManager = (void *)0x05A7C428; const void * RTTI_BGSDestroyShipActivity = (void *)0x059BE538; const void * RTTI_BGSDestroyShipActivity_Runtime = (void *)0x059BE4B0; const void * RTTI_BGSDestructibleObjectForm = (void *)0x059F5A90; const void * RTTI_BGSDialogueBranch = (void *)0x05992BF8; const void * RTTI_BGSDisplayCaseFormComponent = (void *)0x059E0138; const void * RTTI_BGSDistantObjectBlock = (void *)0x05995CB8; const void * RTTI_BGSDockingActivity = (void *)0x059BE628; const void * RTTI_BGSDockingActivity_Runtime = (void *)0x059BE5A8; const void * RTTI_BGSDualCastData = (void *)0x059F5B68; const void * RTTI_BGSDynamicLODBlock = (void *)0x059D7478; const void * RTTI_BGSDynamicLODBlock__InstancedAutoDetachBlock = (void *)0x059D74B0; const void * RTTI_BGSEchoListener = (void *)0x05A606C8; const void * RTTI_BGSEffectSequenceForm = (void *)0x05A42E18; const void * RTTI_BGSEffectSequenceFormComponent = (void *)0x059E0650; const void * RTTI_BGSEntryPointFunctionData = (void *)0x05A80DA8; const void * RTTI_BGSEntryPointFunctionDataAVAndValue = (void *)0x05A80ED8; const void * RTTI_BGSEntryPointFunctionDataActivateChoice = (void *)0x05A80FC8; const void * RTTI_BGSEntryPointFunctionDataBooleanGraphVariable = (void *)0x05A80E90; const void * RTTI_BGSEntryPointFunctionDataLeveledList = (void *)0x05A80F18; const void * RTTI_BGSEntryPointFunctionDataOneValue = (void *)0x05A80F58; const void * RTTI_BGSEntryPointFunctionDataProjectile = (void *)0x05A80E10; const void * RTTI_BGSEntryPointFunctionDataSpellItem = (void *)0x05A80E50; const void * RTTI_BGSEntryPointFunctionDataText = (void *)0x05A80DD8; const void * RTTI_BGSEntryPointFunctionDataTwoValue = (void *)0x05A80F90; const void * RTTI_BGSEntryPointPerkEntry = (void *)0x05A81A50; const void * RTTI_BGSEquipSlot = (void *)0x05A81170; const void * RTTI_BGSExplosion = (void *)0x05A61200; const void * RTTI_BGSExternalComponentDataSource = (void *)0x059E0B40; const void * RTTI_BGSFaceFX = (void *)0x059DA390; const void * RTTI_BGSFacialExpressionData = (void *)0x059D3F00; const void * RTTI_BGSFadeManager = (void *)0x059C8508; const void * RTTI_BGSFogVolumeForm = (void *)0x05A4FD88; const void * RTTI_BGSFootIkImplementation = (void *)0x05BAE980; const void * RTTI_BGSFootstep = (void *)0x05A7C540; const void * RTTI_BGSFootstepManager = (void *)0x05BB0CE8; const void * RTTI_BGSFootstepSet = (void *)0x05A7C608; const void * RTTI_BGSForceData = (void *)0x05A42018; const void * RTTI_BGSForcedLocRefType = (void *)0x059E0BA8; const void * RTTI_BGSFormFolderKeywordList = (void *)0x059D62C0; const void * RTTI_BGSFormLinkData = (void *)0x059E1030; const void * RTTI_BGSGameRenderSettingsManager = (void *)0x05B9CFA8; const void * RTTI_BGSGameWarningsHandler__GameWarningsSink = (void *)0x05B819E8; const void * RTTI_BGSGameplayOption = (void *)0x059D3F58; const void * RTTI_BGSGameplayOptionGroup = (void *)0x059D4028; const void * RTTI_BGSGenericBaseForm = (void *)0x05A61228; const void * RTTI_BGSGenericBaseFormTemplate = (void *)0x05A61390; const void * RTTI_BGSGeometryConstructorManager = (void *)0x05B9E230; const void * RTTI_BGSGrassManager = (void *)0x05A0B728; const void * RTTI_BGSGrassManager__AddCellGrassTask = (void *)0x05A0B8A0; const void * RTTI_BGSGrassManager__CellGrass = (void *)0x05A0B810; const void * RTTI_BGSGravJumpActivity = (void *)0x059BE6F0; const void * RTTI_BGSGravJumpActivity_Runtime = (void *)0x059BE720; const void * RTTI_BGSGravityWielderEffectData = (void *)0x05A7C688; const void * RTTI_BGSGroundCover = (void *)0x05A67368; const void * RTTI_BGSGroupedInstancedGeometry = (void *)0x059CB0D8; const void * RTTI_BGSHarvestActivity = (void *)0x059BE828; const void * RTTI_BGSHarvestActivity_Runtime = (void *)0x059BE7A8; const void * RTTI_BGSHavokGeometryAttach = (void *)0x05A099B8; const void * RTTI_BGSHavokGeometryAttach__ActionPolicy = (void *)0x05A09978; const void * RTTI_BGSHavokGeometryAttach__AttachPolicy = (void *)0x05A09708; const void * RTTI_BGSHavokGeometryAttach__DetachPolicy = (void *)0x05A096C8; const void * RTTI_BGSHazard = (void *)0x05A614C0; const void * RTTI_BGSHeadPart = (void *)0x05A811C0; const void * RTTI_BGSIdleCollection = (void *)0x05992EA8; const void * RTTI_BGSIdleMarker = (void *)0x05A81280; const void * RTTI_BGSImpactData = (void *)0x05A7C808; const void * RTTI_BGSImpactDataSet = (void *)0x05A7C998; const void * RTTI_BGSImpactManager = (void *)0x05B8CE40; const void * RTTI_BGSInstanceNamingRules = (void *)0x05994EC8; const void * RTTI_BGSInventoryInterface = (void *)0x05B9FEF8; const void * RTTI_BGSInventoryList = (void *)0x05A0C138; const void * RTTI_BGSKeyword = (void *)0x05992DA0; const void * RTTI_BGSKeywordForm = (void *)0x059E92F0; const void * RTTI_BGSKillActivity = (void *)0x059BE8C8; const void * RTTI_BGSKillActivity_Runtime = (void *)0x059BE858; const void * RTTI_BGSLODManager = (void *)0x05A9FE68; const void * RTTI_BGSLODSharedGeometryCache = (void *)0x05A9F750; const void * RTTI_BGSLODStates__Geometry__Attached = (void *)0x059927B0; const void * RTTI_BGSLODStates__Geometry__Attaching = (void *)0x05992598; const void * RTTI_BGSLODStates__Geometry__DeferredDetach = (void *)0x05992618; const void * RTTI_BGSLODStates__Geometry__DeferredDetachComplete = (void *)0x059925D0; const void * RTTI_BGSLODStates__Geometry__Detached = (void *)0x059924E0; const void * RTTI_BGSLODStates__Geometry__Invisible = (void *)0x05992778; const void * RTTI_BGSLODStates__Geometry__Loaded = (void *)0x05992740; const void * RTTI_BGSLODStates__Geometry__Loading = (void *)0x05992690; const void * RTTI_BGSLODStates__Geometry__Prepared = (void *)0x059926C8; const void * RTTI_BGSLODStates__Geometry__Preparing = (void *)0x059924A8; const void * RTTI_BGSLODStates__Geometry__RequestingResources = (void *)0x05992700; const void * RTTI_BGSLODStates__Geometry__Reset = (void *)0x05992658; const void * RTTI_BGSLODStates__Geometry__ResourcesBusy = (void *)0x05992518; const void * RTTI_BGSLODStates__Geometry__ResourcesReady = (void *)0x05992558; const void * RTTI_BGSLODStates__Geometry__Unloaded = (void *)0x05992470; const void * RTTI_BGSLODStates__Geometry__Visible = (void *)0x059927E8; const void * RTTI_BGSLODStates__Node__Active = (void *)0x05995E80; const void * RTTI_BGSLODStates__Node__FadingIn = (void *)0x05995E10; const void * RTTI_BGSLODStates__Node__FadingOut = (void *)0x05995D98; const void * RTTI_BGSLODStates__Node__Inactive = (void *)0x05995CE8; const void * RTTI_BGSLODStates__Node__IntersectsLoadedArea = (void *)0x05995D58; const void * RTTI_BGSLODStates__Node__Loaded = (void *)0x05995EB0; const void * RTTI_BGSLODStates__Node__OutsideLoadedArea = (void *)0x05995F10; const void * RTTI_BGSLODStates__Node__PrepareFadingIn = (void *)0x05995E48; const void * RTTI_BGSLODStates__Node__PrepareFadingOut = (void *)0x05995DD0; const void * RTTI_BGSLODStates__Node__Split = (void *)0x05995EE0; const void * RTTI_BGSLODStates__Node__Unloaded = (void *)0x05995D20; const void * RTTI_BGSLOSGenerator = (void *)0x05A80808; const void * RTTI_BGSLandPlanetActivity = (void *)0x059BE9E8; const void * RTTI_BGSLandPlanetActivity_Runtime = (void *)0x059BE968; const void * RTTI_BGSLayeredMaterialSwap = (void *)0x05A42AA8; const void * RTTI_BGSLegendaryItem = (void *)0x05A42E48; const void * RTTI_BGSLensFlare = (void *)0x05A61528; const void * RTTI_BGSLensFlareSprite = (void *)0x05A615E0; const void * RTTI_BGSLevGenericBaseForm = (void *)0x05A61710; const void * RTTI_BGSLevPackIn = (void *)0x05A617D8; const void * RTTI_BGSLevSpaceCell = (void *)0x05A674B8; const void * RTTI_BGSLightingTemplate = (void *)0x05A67528; const void * RTTI_BGSLinkedVoiceType = (void *)0x059E12C0; const void * RTTI_BGSListForm = (void *)0x05A7CA18; const void * RTTI_BGSLoadFormBuffer = (void *)0x059F82C0; const void * RTTI_BGSLoadGameBuffer = (void *)0x059F82E8; const void * RTTI_BGSLoadGameBufferSimple = (void *)0x059F8310; const void * RTTI_BGSLoadedReferenceCollection = (void *)0x05A675B8; const void * RTTI_BGSLoadedSceneLODBlock = (void *)0x05AA0618; const void * RTTI_BGSLocAlias = (void *)0x05A814D8; const void * RTTI_BGSLocation = (void *)0x05992AF0; const void * RTTI_BGSLocationDiscoveredActivity = (void *)0x059BEB50; const void * RTTI_BGSLocationDiscoveredActivity_Runtime = (void *)0x059BEAC0; const void * RTTI_BGSLocationRefType = (void *)0x05992CD8; const void * RTTI_BGSLockPickActivity = (void *)0x059BF470; const void * RTTI_BGSLockPickActivity_Runtime = (void *)0x059BF4E8; const void * RTTI_BGSLodOwnerComponent = (void *)0x059E16B0; const void * RTTI_BGSLodRuntimeOwnerComponent = (void *)0x059D6F20; const void * RTTI_BGSLootContainerActivity = (void *)0x059BEBD8; const void * RTTI_BGSLootContainerActivity_Runtime = (void *)0x059BEC08; const void * RTTI_BGSLoseEnemyActivity = (void *)0x059BED48; const void * RTTI_BGSLoseEnemyActivity_Runtime = (void *)0x059BED78; const void * RTTI_BGSMaterialPathForm = (void *)0x05A42768; const void * RTTI_BGSMaterialPropertyComponent = (void *)0x059E19C8; const void * RTTI_BGSMaterialType = (void *)0x05A7CC58; const void * RTTI_BGSMeleeAimAssistModel = (void *)0x05A41920; const void * RTTI_BGSMessage = (void *)0x05992B18; const void * RTTI_BGSMod__Attachment__Mod = (void *)0x05992820; const void * RTTI_BGSMod__Property__BridgeI = (void *)0x05A55948; const void * RTTI_BGSMod__Template__Item = (void *)0x059E1A00; const void * RTTI_BGSMod__Template__Items = (void *)0x05A65590; const void * RTTI_BGSModelMaterialSwap = (void *)0x059E1C78; const void * RTTI_BGSModelNode = (void *)0x05A0C2C8; const void * RTTI_BGSMorphableObject = (void *)0x05A61800; const void * RTTI_BGSMotorAction__Action = (void *)0x059EABB0; const void * RTTI_BGSMotorAction__FanMotor = (void *)0x059EABE0; const void * RTTI_BGSMovableStatic = (void *)0x05A618D8; const void * RTTI_BGSMovementType = (void *)0x05A81548; const void * RTTI_BGSMoviePlayer = (void *)0x05B8D018; const void * RTTI_BGSMultiTechniqueAttach = (void *)0x05A09860; const void * RTTI_BGSMultiTechniqueAttach__ActionPolicy = (void *)0x05A09820; const void * RTTI_BGSMultiTechniqueAttach__AttachPolicy = (void *)0x05A09688; const void * RTTI_BGSMultiTechniqueAttach__DetachPolicy = (void *)0x05A09648; const void * RTTI_BGSMusicPaletteTrack = (void *)0x05A7CD60; const void * RTTI_BGSMusicSilenceTrack = (void *)0x05A7CF40; const void * RTTI_BGSMusicSingleTrack = (void *)0x05A7D308; const void * RTTI_BGSMusicTrack = (void *)0x05A7CD38; const void * RTTI_BGSMusicTrackFormWrapper = (void *)0x05A7D338; const void * RTTI_BGSMusicType = (void *)0x05992C20; const void * RTTI_BGSNamedNodeAttach = (void *)0x05A09780; const void * RTTI_BGSNamedNodeAttach__ActionPolicy = (void *)0x05A09748; const void * RTTI_BGSNamedNodeAttach__AttachPolicy = (void *)0x05A097E8; const void * RTTI_BGSNamedNodeAttach__DetachPolicy = (void *)0x05A097B0; const void * RTTI_BGSNavigationGridManager = (void *)0x05A13AB0; const void * RTTI_BGSNote = (void *)0x05995230; const void * RTTI_BGSObjectInstanceExtra = (void *)0x059DA1C8; const void * RTTI_BGSObjectPlacementDefaults = (void *)0x059E2018; const void * RTTI_BGSObjectSwap = (void *)0x05A601F8; const void * RTTI_BGSObjectVisibilityManager = (void *)0x05A0C350; const void * RTTI_BGSObjectWindowFilterComponent = (void *)0x059CC050; const void * RTTI_BGSOrbitalDataComponent = (void *)0x059E21D8; const void * RTTI_BGSOrbitedDataComponent = (void *)0x059E2618; const void * RTTI_BGSOutfit = (void *)0x05A61E90; const void * RTTI_BGSOverridePackCollection = (void *)0x05A025A8; const void * RTTI_BGSPackIn = (void *)0x05994F30; const void * RTTI_BGSPackInUtils__BGSPackInEventHandler = (void *)0x05A63478; const void * RTTI_BGSPackageDataBool = (void *)0x05995AD8; const void * RTTI_BGSPackageDataFloat = (void *)0x05A89018; const void * RTTI_BGSPackageDataInt = (void *)0x05A89118; const void * RTTI_BGSPackageDataLocation = (void *)0x05A89178; const void * RTTI_BGSPackageDataLocationWrapper = (void *)0x05A89140; const void * RTTI_BGSPackageDataObjectList = (void *)0x05995B08; const void * RTTI_BGSPackageDataRef = (void *)0x05A89400; const void * RTTI_BGSPackageDataRefOLD = (void *)0x05A89048; const void * RTTI_BGSPackageDataScene = (void *)0x059920B8; const void * RTTI_BGSPackageDataTargetSelector = (void *)0x05A888C8; const void * RTTI_BGSPackageDataTopic = (void *)0x05995BC8; const void * RTTI_BGSPapyrusScriptsComponent = (void *)0x059E2F00; const void * RTTI_BGSParticleObjectCloneTask = (void *)0x05A986B8; const void * RTTI_BGSParticleSystemDefineCollection = (void *)0x05A42F18; const void * RTTI_BGSPathfindingTaskProcessor = (void *)0x059D14E8; const void * RTTI_BGSPathingData = (void *)0x059E33D0; const void * RTTI_BGSPerk = (void *)0x05995250; const void * RTTI_BGSPerkRank = (void *)0x05A81A80; const void * RTTI_BGSPhotoModeFeature = (void *)0x059D5DE8; const void * RTTI_BGSPickupPutdownSounds = (void *)0x059F59C8; const void * RTTI_BGSPlanetContentManager = (void *)0x05BA0E38; const void * RTTI_BGSPlanetContentManagerBranchNode = (void *)0x05A282D0; const void * RTTI_BGSPlanetContentManagerContentNode = (void *)0x05993228; const void * RTTI_BGSPlanetContentManagerContentProperties = (void *)0x05A20358; const void * RTTI_BGSPlanetContentManagerTree = (void *)0x05A28D70; const void * RTTI_BGSPlanetContentManager__ILogEventData = (void *)0x05A28290; const void * RTTI_BGSPlanet__Atmosphere = (void *)0x05A205F8; const void * RTTI_BGSPlanet__ContentPlacement = (void *)0x05A24D60; const void * RTTI_BGSPlanet__IModule = (void *)0x05A205D0; const void * RTTI_BGSPlanet__LandingMarkers = (void *)0x05A24448; const void * RTTI_BGSPlanet__Landscape = (void *)0x05A24988; const void * RTTI_BGSPlanet__Manager = (void *)0x05A24AD0; const void * RTTI_BGSPlanet__Manager__MoveToNode = (void *)0x05A24C90; const void * RTTI_BGSPlanet__Manager__ShiftToTask = (void *)0x05A24CC8; const void * RTTI_BGSPlanet__MultiFiles__Grid = (void *)0x05A246A0; const void * RTTI_BGSPlanet__MultiFiles__MasterFile = (void *)0x05A246D0; const void * RTTI_BGSPlanet__NavMeshGen = (void *)0x05A255A0; const void * RTTI_BGSPlanet__OrderedLandTextures = (void *)0x05A24DD0; const void * RTTI_BGSPlanet__Overlays = (void *)0x05A24C60; const void * RTTI_BGSPlanet__PlanetData = (void *)0x05A238B0; const void * RTTI_BGSPlanet__ProcGen = (void *)0x05A269E8; const void * RTTI_BGSPlanet__ProcGenRuntimeService = (void *)0x05A26CE0; const void * RTTI_BGSPlanet__ScanCollection = (void *)0x05AD3FD0; const void * RTTI_BGSPlanet__SurfaceMapModule = (void *)0x05A24D98; const void * RTTI_BGSPlanet__UpdateNavMeshTaskNode = (void *)0x05A25250; const void * RTTI_BGSPlayerMusicChanger = (void *)0x05B812E8; const void * RTTI_BGSPlayerPickpocketActivity = (void *)0x059BEE48; const void * RTTI_BGSPlayerPickpocketActivity_Runtime = (void *)0x059BEE80; const void * RTTI_BGSPreviewTransform = (void *)0x059E33F8; const void * RTTI_BGSPrimitive = (void *)0x05A0C6C0; const void * RTTI_BGSPrimitiveBox = (void *)0x05A0C6E8; const void * RTTI_BGSPrimitiveComponent = (void *)0x059E3530; const void * RTTI_BGSPrimitiveCylinder = (void *)0x05A0C668; const void * RTTI_BGSPrimitiveEllipsoid = (void *)0x05A0C638; const void * RTTI_BGSPrimitiveLine = (void *)0x05A0C698; const void * RTTI_BGSPrimitivePlane = (void *)0x05A0C5E0; const void * RTTI_BGSPrimitiveSphere = (void *)0x05A0C608; const void * RTTI_BGSProcedureAcquire = (void *)0x05A8F7D0; const void * RTTI_BGSProcedureAcquireExecState = (void *)0x05A8F798; const void * RTTI_BGSProcedureActivate = (void *)0x05A8FB60; const void * RTTI_BGSProcedureActivateExecState = (void *)0x05A8FAE8; const void * RTTI_BGSProcedureAmbush = (void *)0x059C0448; const void * RTTI_BGSProcedureAmbushExecState = (void *)0x059C04D8; const void * RTTI_BGSProcedureAvoidVehicle = (void *)0x059C1D00; const void * RTTI_BGSProcedureAvoidVehicleExecState = (void *)0x059C1A88; const void * RTTI_BGSProcedureBase = (void *)0x059C0570; const void * RTTI_BGSProcedureCombatTravel = (void *)0x05A8FE38; const void * RTTI_BGSProcedureCombatTravelExecState = (void *)0x05A8FE00; const void * RTTI_BGSProcedureDialogue = (void *)0x05A900B8; const void * RTTI_BGSProcedureDialogueActivate = (void *)0x05A90390; const void * RTTI_BGSProcedureDialogueActivateExecState = (void *)0x05A90350; const void * RTTI_BGSProcedureDialogueExecState = (void *)0x05A8F230; const void * RTTI_BGSProcedureDone = (void *)0x05A8F588; const void * RTTI_BGSProcedureDoneExecState = (void *)0x05A8EE80; const void * RTTI_BGSProcedureEat = (void *)0x05A905B8; const void * RTTI_BGSProcedureEatExecState = (void *)0x05A8F2D0; const void * RTTI_BGSProcedureEscort = (void *)0x05A92370; const void * RTTI_BGSProcedureEscortExecState = (void *)0x05A92338; const void * RTTI_BGSProcedureFind = (void *)0x05A926E8; const void * RTTI_BGSProcedureFindExecState = (void *)0x05A8E440; const void * RTTI_BGSProcedureFlee = (void *)0x05A929D8; const void * RTTI_BGSProcedureFleeExecState = (void *)0x05A929A8; const void * RTTI_BGSProcedureFlightGrab = (void *)0x05A92C48; const void * RTTI_BGSProcedureFlightGrabExecState = (void *)0x05A92BA0; const void * RTTI_BGSProcedureFollow = (void *)0x05A930F8; const void * RTTI_BGSProcedureFollowExecState = (void *)0x05A931E8; const void * RTTI_BGSProcedureFollowTo = (void *)0x05A930C8; const void * RTTI_BGSProcedureForceGreet = (void *)0x05A93410; const void * RTTI_BGSProcedureGuard = (void *)0x05A93820; const void * RTTI_BGSProcedureGuardArea = (void *)0x05A93938; const void * RTTI_BGSProcedureGuardExecState = (void *)0x05A938A8; const void * RTTI_BGSProcedureHeadtrack = (void *)0x059C28F8; const void * RTTI_BGSProcedureHeadtrackExecState = (void *)0x059C2868; const void * RTTI_BGSProcedureHoldPosition = (void *)0x05A93B08; const void * RTTI_BGSProcedureHoldPositionExecState = (void *)0x05A8E308; const void * RTTI_BGSProcedureHover = (void *)0x05A93DC0; const void * RTTI_BGSProcedureHoverExecState = (void *)0x05A93D88; const void * RTTI_BGSProcedureKeepAnEyeOn = (void *)0x05A93FE8; const void * RTTI_BGSProcedureKeepAnEyeOnExecState = (void *)0x05A8E3A8; const void * RTTI_BGSProcedureLock = (void *)0x05A94418; const void * RTTI_BGSProcedureLockUnlockExecState = (void *)0x05A94498; const void * RTTI_BGSProcedureOrbit = (void *)0x05A946C8; const void * RTTI_BGSProcedureOrbitExecState = (void *)0x05A94748; const void * RTTI_BGSProcedurePatrol = (void *)0x05A94A00; const void * RTTI_BGSProcedurePatrolExecState = (void *)0x05A94968; const void * RTTI_BGSProcedurePlayIdle = (void *)0x059C2CC8; const void * RTTI_BGSProcedurePlayIdleExecState = (void *)0x059C2C30; const void * RTTI_BGSProcedurePursue = (void *)0x05A94C18; const void * RTTI_BGSProcedureRange = (void *)0x059C3058; const void * RTTI_BGSProcedureRangeExecState = (void *)0x059C2FC0; const void * RTTI_BGSProcedureSandbox = (void *)0x05A94E98; const void * RTTI_BGSProcedureSandboxExecState = (void *)0x05A94EC8; const void * RTTI_BGSProcedureSay = (void *)0x05A95170; const void * RTTI_BGSProcedureSayExecState = (void *)0x05A8EA20; const void * RTTI_BGSProcedureSit = (void *)0x05A95500; const void * RTTI_BGSProcedureSitSleepExecState = (void *)0x05A95610; const void * RTTI_BGSProcedureSleep = (void *)0x05A95588; const void * RTTI_BGSProcedureStayAway = (void *)0x059C3398; const void * RTTI_BGSProcedureStayAwayExecState = (void *)0x059C3430; const void * RTTI_BGSProcedureTargetingModeAutopilot = (void *)0x059C3808; const void * RTTI_BGSProcedureTargetingModeAutopilotExecState = (void *)0x059C3750; const void * RTTI_BGSProcedureTravel = (void *)0x05A957D8; const void * RTTI_BGSProcedureTravelExecState = (void *)0x05A95808; const void * RTTI_BGSProcedureTreeBranch = (void *)0x05A8EEE8; const void * RTTI_BGSProcedureTreeConditionalItem = (void *)0x05A8EF18; const void * RTTI_BGSProcedureTreeFallback = (void *)0x05A8EB60; const void * RTTI_BGSProcedureTreeFallbackExecState = (void *)0x05A8EAC0; const void * RTTI_BGSProcedureTreeOneChildExecState = (void *)0x05A8EEB0; const void * RTTI_BGSProcedureTreeProcedure = (void *)0x05A95900; const void * RTTI_BGSProcedureTreeRandom = (void *)0x05A8EDE8; const void * RTTI_BGSProcedureTreeRandomExecState = (void *)0x05A8ED50; const void * RTTI_BGSProcedureTreeSequence = (void *)0x05A8F060; const void * RTTI_BGSProcedureTreeSequenceExecState = (void *)0x05A8EFC0; const void * RTTI_BGSProcedureTreeSimultaneous = (void *)0x05A8ECA0; const void * RTTI_BGSProcedureTreeSimultaneousExecState = (void *)0x05A8EBF8; const void * RTTI_BGSProcedureTreeStacked = (void *)0x05A8F1A0; const void * RTTI_BGSProcedureTreeStackedExecState = (void *)0x05A8F100; const void * RTTI_BGSProcedureUnlock = (void *)0x05A94390; const void * RTTI_BGSProcedureUseIdleMarker = (void *)0x05A95BA0; const void * RTTI_BGSProcedureUseIdleMarkerExecState = (void *)0x05A95C38; const void * RTTI_BGSProcedureUseMagic = (void *)0x05A95E10; const void * RTTI_BGSProcedureUseMagicExecState = (void *)0x05A95E40; const void * RTTI_BGSProcedureUseWeapon = (void *)0x05A96168; const void * RTTI_BGSProcedureUseWeaponExecState = (void *)0x05A96208; const void * RTTI_BGSProcedureWait = (void *)0x05A96400; const void * RTTI_BGSProcedureWaitExecState = (void *)0x05A8E4D0; const void * RTTI_BGSProcedureWander = (void *)0x05A98090; const void * RTTI_BGSProcedureWanderExecState = (void *)0x05A980C0; const void * RTTI_BGSProduceActivity = (void *)0x059BEF88; const void * RTTI_BGSProduceActivity_Runtime = (void *)0x059BEF08; const void * RTTI_BGSProjectedDecal = (void *)0x05A423C8; const void * RTTI_BGSProjectile = (void *)0x05992DC8; const void * RTTI_BGSPropertySheet = (void *)0x059E38C0; const void * RTTI_BGSQualityUpgradeFormComponent = (void *)0x059CC088; const void * RTTI_BGSQuestPerkEntry = (void *)0x05A819D0; const void * RTTI_BGSRangeFormationsSingleton = (void *)0x05B9F2D0; const void * RTTI_BGSRefAlias = (void *)0x05A5C8B8; const void * RTTI_BGSRefCollectionAlias = (void *)0x05A5C908; const void * RTTI_BGSReferenceGroup = (void *)0x05A68998; const void * RTTI_BGSReflectedForm = (void *)0x059D5D98; const void * RTTI_BGSRelationship = (void *)0x05A81C78; const void * RTTI_BGSReloadWeaponActivity = (void *)0x059BF080; const void * RTTI_BGSReloadWeaponActivity_Runtime = (void *)0x059BF008; const void * RTTI_BGSResearchProjectForm = (void *)0x05A430D0; const void * RTTI_BGSResource = (void *)0x05994EA0; const void * RTTI_BGSResourceGenerationData = (void *)0x05A60330; const void * RTTI_BGSRetargetOnDeleteExtraData = (void *)0x059C4248; const void * RTTI_BGSReverbParameters = (void *)0x05A7D5C0; const void * RTTI_BGSSaveFormBuffer = (void *)0x05B8A8F8; const void * RTTI_BGSSaveGameBuffer = (void *)0x05B8AA08; const void * RTTI_BGSSaveGameBufferSimple = (void *)0x05B8A9D8; const void * RTTI_BGSSaveLoadJobSite = (void *)0x05B8A6B8; const void * RTTI_BGSSaveLoadManager = (void *)0x05B8A660; const void * RTTI_BGSSaveLoadStatsMap = (void *)0x05B8AA30; const void * RTTI_BGSSaveLoadThread = (void *)0x05B8A690; const void * RTTI_BGSSaveLoadUtilities__BGSSaveFormBufferIgnoreIDs = (void *)0x05B8A880; const void * RTTI_BGSScanPlanetActivity = (void *)0x059BF0E8; const void * RTTI_BGSScanPlanetActivity_Runtime = (void *)0x059BF0B0; const void * RTTI_BGSScanSurfaceActivity = (void *)0x059BF370; const void * RTTI_BGSScanSurfaceActivity_Runtime = (void *)0x059BF338; const void * RTTI_BGSScannableFormComponent = (void *)0x059E2AA8; const void * RTTI_BGSScene = (void *)0x05992B40; const void * RTTI_BGSSceneActionAnimation = (void *)0x05A5C990; const void * RTTI_BGSSceneActionCamera = (void *)0x05A5C9C0; const void * RTTI_BGSSceneActionDialogue = (void *)0x05A81E78; const void * RTTI_BGSSceneActionFX = (void *)0x05A5C9F0; const void * RTTI_BGSSceneActionList = (void *)0x05A5C960; const void * RTTI_BGSSceneActionMove = (void *)0x05A5CA18; const void * RTTI_BGSSceneActionPackage = (void *)0x05A81E48; const void * RTTI_BGSSceneActionPlayerDialogue = (void *)0x05A81F10; const void * RTTI_BGSSceneActionRadio = (void *)0x05A81EA8; const void * RTTI_BGSSceneActionStartScene = (void *)0x05A5CE48; const void * RTTI_BGSSceneActionTimeline = (void *)0x05A5CE78; const void * RTTI_BGSSceneActionTimer = (void *)0x05A82008; const void * RTTI_BGSSceneFillerSingleton = (void *)0x05B9FC88; const void * RTTI_BGSSecondaryDamageList = (void *)0x05A42450; const void * RTTI_BGSShaderParticleGeometryData = (void *)0x05A68A18; const void * RTTI_BGSShipCollectionActivity = (void *)0x059BF6E0; const void * RTTI_BGSShipCollectionActivity_Runtime = (void *)0x059BF6A8; const void * RTTI_BGSShipManagement = (void *)0x059E2D70; const void * RTTI_BGSShipbuilderActivity = (void *)0x059BF5F0; const void * RTTI_BGSShipbuilderActivity_Runtime = (void *)0x059BF5B8; const void * RTTI_BGSSkinForm = (void *)0x05A02818; const void * RTTI_BGSSkinnedDecalChild = (void *)0x05A0A6A0; const void * RTTI_BGSSkinnedDecalGroup = (void *)0x05A0A6D0; const void * RTTI_BGSSnapBehavior = (void *)0x05A63758; const void * RTTI_BGSSnapTemplate = (void *)0x05A638D8; const void * RTTI_BGSSnapTemplateComponent = (void *)0x059E38E8; const void * RTTI_BGSSnapTemplateNode = (void *)0x05A639A8; const void * RTTI_BGSSoundEcho = (void *)0x05A60720; const void * RTTI_BGSSoundKeywordMapping = (void *)0x05A60410; const void * RTTI_BGSSoundTagComponent = (void *)0x059E3B50; const void * RTTI_BGSSoundTagSet = (void *)0x05A60898; const void * RTTI_BGSSpacePhysicsFormComponent = (void *)0x059E3E70; const void * RTTI_BGSSpaceshipAIActor = (void *)0x059E40E0; const void * RTTI_BGSSpaceshipEquipment = (void *)0x059E4188; const void * RTTI_BGSSpaceshipHullCode = (void *)0x059E45B0; const void * RTTI_BGSSpaceshipWeaponBinding = (void *)0x059E45E0; const void * RTTI_BGSSpatialCombinedGrid = (void *)0x05A1CD58; const void * RTTI_BGSSpatialGraph = (void *)0x05A1CF30; const void * RTTI_BGSSpatialGraphCellGrid = (void *)0x05A1CB90; const void * RTTI_BGSSpatialGraphCellGrid__MergeTask = (void *)0x05A1CBF8; const void * RTTI_BGSSpatialGraphExteriorCell = (void *)0x05A1CE68; const void * RTTI_BGSSpatialGraphInteriorCell = (void *)0x05A1CF80; const void * RTTI_BGSSpatialGraphManager = (void *)0x05A1DCC8; const void * RTTI_BGSSpatialGraphManager__Task = (void *)0x05A1CBC0; const void * RTTI_BGSSpatialGraphObstacleUpdateTask = (void *)0x05A1C3A0; const void * RTTI_BGSSpatialGraphParent = (void *)0x05A1CEA0; const void * RTTI_BGSSpatialGraphSpaceCell = (void *)0x05A1CED0; const void * RTTI_BGSSpatialGraphSpaceCollection = (void *)0x05A1CB58; const void * RTTI_BGSSpatialGraphSpaceCollectionObstacleGridUpdateTask = (void *)0x05A1C2B0; const void * RTTI_BGSSpatialGridBase = (void *)0x05A1CB28; const void * RTTI_BGSSpatialGridCollection = (void *)0x05A1CC80; const void * RTTI_BGSSpatialGridFieldBase = (void *)0x05A0D4C8; const void * RTTI_BGSSpatialGridSearchCustomDebugData = (void *)0x05A1FFB8; const void * RTTI_BGSSpatialGridSearchDebugData = (void *)0x05A20070; const void * RTTI_BGSSpatialGridSearchPolicies__FleeSearchPolicy = (void *)0x059C1FA0; const void * RTTI_BGSSpatialGridSearchPolicies__RandomPositionInsideArea = (void *)0x05A1F3D0; const void * RTTI_BGSSpatialSimpleGrid = (void *)0x05A1F2B8; const void * RTTI_BGSSpatialSparseGrid = (void *)0x05A1C3D8; const void * RTTI_BGSSpatialSparseGridSearchDebugData = (void *)0x05A1FFF8; const void * RTTI_BGSSpatialSparseGrid__ChunkIndexGrid = (void *)0x05A1F2E8; const void * RTTI_BGSSpatialSparseMultiLayerGrid = (void *)0x05A1C230; const void * RTTI_BGSSpawnOnDestroy = (void *)0x059E4B60; const void * RTTI_BGSSpeechChallengeActivity = (void *)0x059BF880; const void * RTTI_BGSSpeechChallengeActivity_Runtime = (void *)0x059BF840; const void * RTTI_BGSSpeechChallengeObject = (void *)0x05A608C0; const void * RTTI_BGSSprintActivity = (void *)0x059BF978; const void * RTTI_BGSSprintActivity_Runtime = (void *)0x059BF908; const void * RTTI_BGSStarDataComponent = (void *)0x059E4C90; const void * RTTI_BGSStaticCollection = (void *)0x05A63CD0; const void * RTTI_BGSStaticCollection__RootFacade = (void *)0x05A63C98; const void * RTTI_BGSStoredTraversalData = (void *)0x059923D8; const void * RTTI_BGSStoryManager = (void *)0x05AA2378; const void * RTTI_BGSStoryManagerBranchNode = (void *)0x05A01658; const void * RTTI_BGSStoryManagerEventNode = (void *)0x05AA2480; const void * RTTI_BGSStoryManagerNodeBase = (void *)0x05A01628; const void * RTTI_BGSStoryManagerQuestFinder = (void *)0x05AA2340; const void * RTTI_BGSStoryManagerQuestNode = (void *)0x05AA2510; const void * RTTI_BGSStoryManagerTreeForm = (void *)0x059BD808; const void * RTTI_BGSStoryManagerTreeVisitor = (void *)0x05AA23A0; const void * RTTI_BGSStoryTeller = (void *)0x05AA2AE0; const void * RTTI_BGSSurface__BGSBlockCellHeighGridComponent = (void *)0x05A40350; const void * RTTI_BGSSurface__Block = (void *)0x05A59848; const void * RTTI_BGSSurface__Manager = (void *)0x05A20510; const void * RTTI_BGSSurface__Pattern = (void *)0x05A59910; const void * RTTI_BGSSurface__PatternStyle = (void *)0x05A40B70; const void * RTTI_BGSSurface__Tree = (void *)0x05A59A98; const void * RTTI_BGSSynchronizedAnimationInstance = (void *)0x05AA33D0; const void * RTTI_BGSSynchronizedAnimationManager = (void *)0x05AA2F80; const void * RTTI_BGSTDataProxyComponentBase = (void *)0x059E2158; const void * RTTI_BGSTakeActorDamageActivity = (void *)0x059BF9A0; const void * RTTI_BGSTakeActorDamageActivity_Runtime = (void *)0x059BFA30; const void * RTTI_BGSTakeDamageActivity = (void *)0x059BFBC0; const void * RTTI_BGSTakeDamageActivity_Runtime = (void *)0x059BFB88; const void * RTTI_BGSTalkingActivator = (void *)0x05A63DA8; const void * RTTI_BGSTerminal = (void *)0x05992D30; const void * RTTI_BGSTerminalMenu = (void *)0x05992D58; const void * RTTI_BGSTerrainBlock__AlignmentModifier = (void *)0x05A59C20; const void * RTTI_BGSTerrainBlock__ContinentalModifier = (void *)0x05A59D30; const void * RTTI_BGSTerrainBlock__Grid = (void *)0x05A5A128; const void * RTTI_BGSTerrainBlock__GridCell = (void *)0x05A5A190; const void * RTTI_BGSTerrainBlock__GridCornerCell = (void *)0x05A5A158; const void * RTTI_BGSTerrainBlock__GridCornerEdgeXFile = (void *)0x05A59EE8; const void * RTTI_BGSTerrainBlock__GridCornerFile = (void *)0x05A59F28; const void * RTTI_BGSTerrainBlock__GridEdgeFile = (void *)0x05A59F60; const void * RTTI_BGSTerrainBlock__GridEdgeXCell = (void *)0x05A5A040; const void * RTTI_BGSTerrainBlock__GridEdgeYCell = (void *)0x05A5A008; const void * RTTI_BGSTerrainBlock__GridFile = (void *)0x05A59F98; const void * RTTI_BGSTerrainBlock__GridFillCell = (void *)0x05A5A078; const void * RTTI_BGSTerrainBlock__GridFillFile = (void *)0x05A59E28; const void * RTTI_BGSTerrainBlock__HeightAdjustmentModifier = (void *)0x05A41338; const void * RTTI_BGSTerrainBlock__IModifier = (void *)0x05A41378; const void * RTTI_BGSTerrainBlock__OceanBiomeModifier = (void *)0x05A59CF0; const void * RTTI_BGSTerrainBlock__OverlayGrid = (void *)0x05A5A0F0; const void * RTTI_BGSTerrainBlock__OverlayHeightModifier = (void *)0x05A59FC8; const void * RTTI_BGSTerrainBlock__RerangeHeightModifier = (void *)0x05A5A0B0; const void * RTTI_BGSTerrainBlock__UpdateHeightModifier = (void *)0x05A5A2F0; const void * RTTI_BGSTerrain__File = (void *)0x05A24838; const void * RTTI_BGSTerrain__IFileGrid = (void *)0x05A24630; const void * RTTI_BGSTerrain__Manager = (void *)0x05A5C618; const void * RTTI_BGSTerrain__UniFile__Grid = (void *)0x05A5A7C8; const void * RTTI_BGSTextureModel = (void *)0x05A84AA0; const void * RTTI_BGSTextureSet = (void *)0x05A7D730; const void * RTTI_BGSTimeOfDayData = (void *)0x05A68AB0; const void * RTTI_BGSTrackDamageEffectData = (void *)0x05A7D4E0; const void * RTTI_BGSTransform = (void *)0x05A609A0; const void * RTTI_BGSTraversal = (void *)0x05A60A60; const void * RTTI_BGSUnity__UnityDataCache = (void *)0x05B81BB8; const void * RTTI_BGSVehicleConfigFormComponent = (void *)0x059CC8C8; const void * RTTI_BGSVehicleManagement = (void *)0x059CCB30; const void * RTTI_BGSVisitProceduresCheckGuardWarnTarget = (void *)0x05A98200; const void * RTTI_BGSVisitProceduresInitActorAnimPose = (void *)0x05BAFBA8; const void * RTTI_BGSVisitProceduresInitActorLocation = (void *)0x05A981C0; const void * RTTI_BGSVisitProceduresProcess = (void *)0x05BAFB78; const void * RTTI_BGSVoiceType = (void *)0x05992D08; const void * RTTI_BGSVolumeFormComponent = (void *)0x059E57B0; const void * RTTI_BGSVolumetricLighting = (void *)0x05A63FA0; const void * RTTI_BGSWaterCollisionManager__AutoWater = (void *)0x05AA1938; const void * RTTI_BGSWaterCollisionManager__BGSWaterUpdateI = (void *)0x05AA1A08; const void * RTTI_BGSWaterCollisionManager__WaterGravityModifier = (void *)0x05AA1510; const void * RTTI_BGSWaterCollisionManager__WaterGravityModifierWorldStepListener = (void *)0x05AA14B0; const void * RTTI_BGSWaterCollisionManager__bhkPlaceableWater = (void *)0x05AA1980; const void * RTTI_BGSWaterCollisionManager__bhkWaterfall = (void *)0x05AA19C8; const void * RTTI_BGSWeaponBarrelData = (void *)0x05A42500; const void * RTTI_BGSWeaponBarrelModel = (void *)0x05A424D0; const void * RTTI_BGSWeaponData__Aim = (void *)0x05A43918; const void * RTTI_BGSWeaponData__Ammunition = (void *)0x05A43940; const void * RTTI_BGSWeaponData__Audio = (void *)0x05A43970; const void * RTTI_BGSWeaponData__Charge = (void *)0x05A439A0; const void * RTTI_BGSWeaponData__Damage = (void *)0x05A439D0; const void * RTTI_BGSWeaponData__Firing = (void *)0x05A43A00; const void * RTTI_BGSWeaponData__FiringStrategyBase = (void *)0x05A43B70; const void * RTTI_BGSWeaponData__FiringStrategy_Automatic = (void *)0x05A43AB0; const void * RTTI_BGSWeaponData__FiringStrategy_BoltShot = (void *)0x05A43AF0; const void * RTTI_BGSWeaponData__FiringStrategy_Burst = (void *)0x05A43B30; const void * RTTI_BGSWeaponData__FiringStrategy_ChargedShot = (void *)0x05A43A30; const void * RTTI_BGSWeaponData__FiringStrategy_SingleShot = (void *)0x05A43A70; const void * RTTI_BGSWeaponData__Flags = (void *)0x05A43BA8; const void * RTTI_BGSWeaponData__General = (void *)0x05A43BD8; const void * RTTI_BGSWeaponData__Melee = (void *)0x05A43C08; const void * RTTI_BGSWeaponData__Power = (void *)0x05A43C38; const void * RTTI_BGSWeaponData__Reload = (void *)0x05A43C68; const void * RTTI_BGSWeaponData__ShipWeapon = (void *)0x059D61D8; const void * RTTI_BGSWeaponData__Turret = (void *)0x05A43C98; const void * RTTI_BGSWeaponData__VariableRange = (void *)0x05A43CC8; const void * RTTI_BGSWeaponData__Visuals = (void *)0x05A43D00; const void * RTTI_BGSWeatherSettingsForm = (void *)0x05A4FF10; const void * RTTI_BGSWorkshopItemColorComponent = (void *)0x059CCD48; const void * RTTI_BGSWorldSpaceOverlayComponent = (void *)0x059E5A80; const void * RTTI_BGSWwiseEventForm = (void *)0x05992220; const void * RTTI_BGSWwiseKeywordMapping = (void *)0x05A42630; const void * RTTI_BGSZoneTargetListener = (void *)0x05A851F0; const void * RTTI_BIEventManager = (void *)0x059C5AE8; const void * RTTI_BIEventUtils__FindAllStarbornPowerFunctor = (void *)0x05B82C70; const void * RTTI_BNETRequester = (void *)0x05C80D38; const void * RTTI_BSAVMS__AVMNode = (void *)0x059C4FC8; const void * RTTI_BSAVMS__AVMNodeInFlightCounted = (void *)0x059C4F90; const void * RTTI_BSAVMS__AVMPartialNode = (void *)0x059C5060; const void * RTTI_BSAnimNotes = (void *)0x05D511C0; const void * RTTI_BSAnimation = (void *)0x05C8B030; const void * RTTI_BSAnimationAnimDBData = (void *)0x05C8B180; const void * RTTI_BSAnimationDBData = (void *)0x05C8A488; const void * RTTI_BSAnimationFileManager = (void *)0x05C8BFE0; const void * RTTI_BSAnimationGraph = (void *)0x05C8B9F8; const void * RTTI_BSAnimationGraphChannel = (void *)0x05A71030; const void * RTTI_BSAnimationGraphLoadScrapper = (void *)0x05C8BB38; const void * RTTI_BSAnimationGraphManager = (void *)0x05C99DE0; const void * RTTI_BSAnimationObjectManager = (void *)0x05AA8BD8; const void * RTTI_BSAnimationUtils__FindEventClipGeneratorsFunctor = (void *)0x05C8B400; const void * RTTI_BSAnimationUtils__MatchEventToClipGeneratorsFunctor = (void *)0x05C8AC30; const void * RTTI_BSAttachConfig__ArtObjectAttach = (void *)0x05A4F8D8; const void * RTTI_BSAttachConfig__AttachmentConfiguration = (void *)0x059E7B50; const void * RTTI_BSAttachConfig__BaseInstance = (void *)0x059C48B0; const void * RTTI_BSAttachConfig__ISearchMethod = (void *)0x05A4FBE0; const void * RTTI_BSAttachConfig__NodeAttachmentInstance = (void *)0x059C48E8; const void * RTTI_BSAttachConfig__ObjectAttachmentInstance = (void *)0x059C4A68; const void * RTTI_BSAttachConfig__ParticleAttachmentInstance = (void *)0x059C4870; const void * RTTI_BSAttachConfig__SearchMethodBase = (void *)0x05A4FC18; const void * RTTI_BSAttachConfig__SearchMultipleNamesMultipleNodes = (void *)0x05CB9910; const void * RTTI_BSAttachConfig__SearchRootNode = (void *)0x05CAF710; const void * RTTI_BSAttachConfig__SearchSingleNameSingleNode = (void *)0x05A4FC50; const void * RTTI_BSAttachRefController = (void *)0x05A0D4F8; const void * RTTI_BSAttachTechniques__AttachTechniqueInput = (void *)0x05B7EB28; const void * RTTI_BSAttachTechniques__BSAttachTechnique = (void *)0x05A099E8; const void * RTTI_BSAutoQueuedDependentNodeBase = (void *)0x05A019F8; const void * RTTI_BSAwardsSystemUtility = (void *)0x05D67E40; const void * RTTI_BSBehaviorGraphExtraData = (void *)0x05CC0F20; const void * RTTI_BSBehaviorGraphSwapSingleton = (void *)0x05AA32F8; const void * RTTI_BSBind__BGSExternalEmittanceController = (void *)0x05A08B88; const void * RTTI_BSBind__BGSLensFlareController = (void *)0x05A08BC8; const void * RTTI_BSBind__ColorCurveController = (void *)0x05CB99A8; const void * RTTI_BSBind__ColorLerpController = (void *)0x05CBA010; const void * RTTI_BSBind__ComponentBinding = (void *)0x05CC0B88; const void * RTTI_BSBind__ComponentProperty = (void *)0x05CB9B88; const void * RTTI_BSBind__Directory = (void *)0x05CB9958; const void * RTTI_BSBind__Float2DCurveController = (void *)0x05CB9B20; const void * RTTI_BSBind__Float2DLerpController = (void *)0x05CB9FD8; const void * RTTI_BSBind__Float3DCurveController = (void *)0x05CB9AE8; const void * RTTI_BSBind__Float3DLerpController = (void *)0x05CB9FA0; const void * RTTI_BSBind__Float4DCurveController = (void *)0x05CB99E0; const void * RTTI_BSBind__Float4DLerpController = (void *)0x05CBA048; const void * RTTI_BSBind__FloatCurveController = (void *)0x05CB9A80; const void * RTTI_BSBind__FloatLerpController = (void *)0x05CB9A18; const void * RTTI_BSBind__IAddressControllerStore = (void *)0x05A6A520; const void * RTTI_BSBind__IController = (void *)0x05A08B58; const void * RTTI_BSBind__IDataBinding = (void *)0x059D9FD8; const void * RTTI_BSBind__INode = (void *)0x05CB9980; const void * RTTI_BSBind__ModuleState = (void *)0x05CBA350; const void * RTTI_BSBind__MultiBinding = (void *)0x059DA008; const void * RTTI_BSBind__Multiplex = (void *)0x05CB98E8; const void * RTTI_BSBind__Snapshot = (void *)0x059921A0; const void * RTTI_BSBind__StableBinding = (void *)0x05A4FC90; const void * RTTI_BSBind__TimerController = (void *)0x05CB9A50; const void * RTTI_BSBlastNode = (void *)0x05CBBD18; const void * RTTI_BSBlendTreadTransfInterpolator = (void *)0x05D50658; const void * RTTI_BSBoneLODExtraData = (void *)0x05CC0EF0; const void * RTTI_BSBound = (void *)0x05CA64A8; const void * RTTI_BSBoxConstructor = (void *)0x05CBB438; const void * RTTI_BSCSVUtils__ParserBuffer = (void *)0x05CBDE80; const void * RTTI_BSCapsuleConstructor = (void *)0x05CBB408; const void * RTTI_BSClonePools = (void *)0x05A0D528; const void * RTTI_BSCloneReserver = (void *)0x05A0D6E8; const void * RTTI_BSClothExtraData = (void *)0x05CA4598; const void * RTTI_BSClothUtils__BSGeometryBuffer = (void *)0x05CA49D8; const void * RTTI_BSClothUtils__BSInstantiationUtil = (void *)0x05CA4A98; const void * RTTI_BSClothUtils__BSTransformSet = (void *)0x05CA4A30; const void * RTTI_BSComponentDB2__DB = (void *)0x05CAF0B8; const void * RTTI_BSComponentDB2__DBFileIndex__IDFixupVisitor = (void *)0x05D68500; const void * RTTI_BSComponentDB2__JsonDBIDHandler = (void *)0x05CC1BF8; const void * RTTI_BSComponentDB2__JsonResourceIDHandler = (void *)0x05CC1DA0; const void * RTTI_BSComponentDB2__Memory__ConcurrentPageAllocImpl = (void *)0x05CAEC60; const void * RTTI_BSComponentDB2__StorageService = (void *)0x05CC2E28; const void * RTTI_BSComponentDB2__StorageService__Impl = (void *)0x05CC27D0; const void * RTTI_BSComponentDB2__StorageService__ObjectReferenceVisitor = (void *)0x05CC2780; const void * RTTI_BSComponentDB__BaseComponents = (void *)0x05CADC38; const void * RTTI_BSComponentDB__IComponentFactory = (void *)0x05A59390; const void * RTTI_BSConnectPoint__ChildOrigin = (void *)0x05A0C1A8; const void * RTTI_BSConnectPoint__Children = (void *)0x05CA4248; const void * RTTI_BSConnectPoint__Parents = (void *)0x05CA4218; const void * RTTI_BSCoreMessage__MessageSource = (void *)0x05C9CA40; const void * RTTI_BSCounterStorage = (void *)0x05C64578; const void * RTTI_BSCrashCache = (void *)0x05C9F300; const void * RTTI_BSCylinderConstructor = (void *)0x05AA6370; const void * RTTI_BSDamageStage = (void *)0x05CBBD68; const void * RTTI_BSDebounceManager = (void *)0x05C9DB18; const void * RTTI_BSDebrisNode = (void *)0x05CBBD40; const void * RTTI_BSDecalLayerManager = (void *)0x05BA04C8; const void * RTTI_BSDiagData = (void *)0x05C9F070; const void * RTTI_BSDiscBootSystemUtility = (void *)0x05D684D0; const void * RTTI_BSDistantObjectExtraData = (void *)0x05CC0F80; const void * RTTI_BSDynamicGeometry = (void *)0x05D52010; const void * RTTI_BSExceptionHandler = (void *)0x05C9F098; const void * RTTI_BSExteriorReflectionProbeAdjustmentVolume = (void *)0x05CBD4F0; const void * RTTI_BSExtraData = (void *)0x059DA1F8; const void * RTTI_BSFaceDB__AttachHeadControlNode = (void *)0x059DBD48; const void * RTTI_BSFaceDB__CreateHeadControlNode = (void *)0x059DBB48; const void * RTTI_BSFaceDB__CrowdHairCustomization = (void *)0x059DC3C8; const void * RTTI_BSFaceDB__EyeCustomization = (void *)0x059DC400; const void * RTTI_BSFaceDB__FaceCustomizationTexturesNode = (void *)0x059DC430; const void * RTTI_BSFaceDB__HairCustomization = (void *)0x059DC390; const void * RTTI_BSFaceDB__JewelryCustomizationNode = (void *)0x059DBDB8; const void * RTTI_BSFaceDB__RequestCompleteNode = (void *)0x059DBB80; const void * RTTI_BSFaceDB__RequestHeadPartResourcesNode = (void *)0x059DC1E0; const void * RTTI_BSFaceDB__TeethCustomizationNode = (void *)0x059DBD80; const void * RTTI_BSFaceFX = (void *)0x059DAEC0; const void * RTTI_BSFaceGenAnimationData = (void *)0x05A872D8; const void * RTTI_BSFaceGenManager = (void *)0x05A87398; const void * RTTI_BSFaceGenNiNode = (void *)0x05A87650; const void * RTTI_BSFaceGenUtils__UpdateFaceCustomizationTexturesNode = (void *)0x059DBCD0; const void * RTTI_BSFadeNode = (void *)0x05994A80; const void * RTTI_BSFile = (void *)0x05B86D98; const void * RTTI_BSFile__PageCache__PhysReadType = (void *)0x05D0B658; const void * RTTI_BSFixedSizeBlockAllocator__IAlloc = (void *)0x05B8C720; const void * RTTI_BSFixedSizeBlockAllocator__UserPoolImplBase = (void *)0x05C9CAC0; const void * RTTI_BSFocusShadowManager = (void *)0x05BA0750; const void * RTTI_BSFogVolume = (void *)0x05CBD4C8; const void * RTTI_BSFrameManager = (void *)0x05CBF2D8; const void * RTTI_BSFrustumFOVController = (void *)0x05D50420; const void * RTTI_BSFurnitureMarkerNode = (void *)0x05CBCFA8; const void * RTTI_BSGFxFunctionBase = (void *)0x05CD3058; const void * RTTI_BSGFxFunctionHandler = (void *)0x05CD58F0; const void * RTTI_BSGFxObject = (void *)0x05B26D88; const void * RTTI_BSGalaxy__BGSStar = (void *)0x059E9340; const void * RTTI_BSGalaxy__BGSSunPresetForm = (void *)0x059E93C0; const void * RTTI_BSGalaxy__BiomeMapDB__LoadBiome = (void *)0x059E9450; const void * RTTI_BSGalaxy__Biomes__Map = (void *)0x059E9A78; const void * RTTI_BSGalaxy__ModuleState = (void *)0x05C9F490; const void * RTTI_BSGalaxy__Physics__Havok__BSGalaxyCollisionObject = (void *)0x05CA0E50; const void * RTTI_BSGalaxy__Physics__Havok__bhkSpaceWorld = (void *)0x05CA0C18; const void * RTTI_BSGalaxy__Storage__SkipCelestialsAndSpaceCellsFunctor = (void *)0x05AEAE50; const void * RTTI_BSGalaxy__Storage__SkipCelestialsFunctor = (void *)0x05AEAEA0; const void * RTTI_BSGalaxy__hknpBSShiftOffsetCollector = (void *)0x05CA0BB8; const void * RTTI_BSGameDataSystemUtility = (void *)0x05D67B58; const void * RTTI_BSGameStreamUtility = (void *)0x05D67D88; const void * RTTI_BSGamepadDevice = (void *)0x05C9E140; const void * RTTI_BSGamerProfile = (void *)0x05D67DE0; const void * RTTI_BSGdkTaskletGroupData = (void *)0x05D0D1D0; const void * RTTI_BSGdkTaskletManager = (void *)0x05D0D170; const void * RTTI_BSGeometry = (void *)0x05995C70; const void * RTTI_BSGeometryConstructorManager = (void *)0x05BA02F8; const void * RTTI_BSGeometrySegmentData = (void *)0x05D517A0; const void * RTTI_BSGrabIKNote = (void *)0x05D511E8; const void * RTTI_BSIMusicTrack = (void *)0x05A7CD10; const void * RTTI_BSIdleInputWatcher = (void *)0x05B21378; const void * RTTI_BSInputDevice = (void *)0x05C9E168; const void * RTTI_BSInputDeviceManager = (void *)0x05C9D470; const void * RTTI_BSInputEnableManager = (void *)0x05C9E110; const void * RTTI_BSInputEventQueue = (void *)0x05C9D180; const void * RTTI_BSInputEventReceiver = (void *)0x05ACFF08; const void * RTTI_BSInputEventSingleUser = (void *)0x05B10FD0; const void * RTTI_BSInputEventUser = (void *)0x059EBB28; const void * RTTI_BSInstancedGeometry = (void *)0x059CB178; const void * RTTI_BSInvMarker = (void *)0x05CC0E78; const void * RTTI_BSJobs2__Detail__ControlNodeJob = (void *)0x059FD880; const void * RTTI_BSJobs2__Detail__GroupThread = (void *)0x05D0AE00; const void * RTTI_BSJobs2__Memory__HeapMemoryPolicy = (void *)0x05D0AFD8; const void * RTTI_BSJobs2__Memory__LSAMemoryPolicy = (void *)0x05D0B048; const void * RTTI_BSJobs2__Memory__ScrapMemoryPolicy = (void *)0x05D0B010; const void * RTTI_BSJobs__Jobs2Adaptor = (void *)0x05D0AD38; const void * RTTI_BSKeyboardDevice = (void *)0x05C9E270; const void * RTTI_BSLagBoneController = (void *)0x05CC0F50; const void * RTTI_BSLegacyStreamableStub = (void *)0x05D52988; const void * RTTI_BSLensFlareRender__BSLensFlareSpriteRenderData = (void *)0x05A61610; const void * RTTI_BSLight = (void *)0x059965D8; const void * RTTI_BSLookIKNote = (void *)0x05D51210; const void * RTTI_BSMaterialBinding__MaterialPropertyNode = (void *)0x05CCD828; const void * RTTI_BSMaterialBinding__MaterialUVStreamPropertyNode = (void *)0x05CCD540; const void * RTTI_BSMaterial__ModuleState = (void *)0x05CC4408; const void * RTTI_BSMemStorage = (void *)0x059E52D8; const void * RTTI_BSMemStorageReadOnly = (void *)0x05C9D920; const void * RTTI_BSMenu3D__SceneManager = (void *)0x05CD3510; const void * RTTI_BSMissionMenu = (void *)0x05B30C20; const void * RTTI_BSMissionMenu__MissionMenuEventShuttle = (void *)0x05B308D0; const void * RTTI_BSModelDB__BSModelProcessor = (void *)0x05A01900; const void * RTTI_BSModelDB__DependencyCacheManager = (void *)0x05CBB600; const void * RTTI_BSModelDB__ModelResourceNode = (void *)0x05CB2458; const void * RTTI_BSModelDB__QueuedHandles = (void *)0x059FA438; const void * RTTI_BSModelNode = (void *)0x05A0C2F0; const void * RTTI_BSModelNodeAnimRig = (void *)0x05C8BE90; const void * RTTI_BSModelNodePhysicsComponentI = (void *)0x05A0C318; const void * RTTI_BSModelNodeRigI = (void *)0x05C8BE68; const void * RTTI_BSMorphDB__AutoQueuedNode = (void *)0x05CB0850; const void * RTTI_BSMorphDB__QueuedHandles = (void *)0x05AA2E58; const void * RTTI_BSMorphTargetData = (void *)0x05D516B8; const void * RTTI_BSMouseDevice = (void *)0x05C9E190; const void * RTTI_BSMsgDialogSystemUtility = (void *)0x05D68220; const void * RTTI_BSMultiTargetTreadTransfController = (void *)0x05D50118; const void * RTTI_BSNavMeshGenAntiseedTrimmerTask = (void *)0x05CEEFB8; const void * RTTI_BSNavMeshGenCollapserTask = (void *)0x05CEDFC8; const void * RTTI_BSNavMeshGenComputeBoundTask = (void *)0x05CEED78; const void * RTTI_BSNavMeshGenContext = (void *)0x059D1180; const void * RTTI_BSNavMeshGenContextGroup = (void *)0x05CF6068; const void * RTTI_BSNavMeshGenCoverTask = (void *)0x05CEEDE0; const void * RTTI_BSNavMeshGenData = (void *)0x059D08B0; const void * RTTI_BSNavMeshGenInputProcessTask = (void *)0x05CEDFF8; const void * RTTI_BSNavMeshGenInputProcessor = (void *)0x05A163A8; const void * RTTI_BSNavMeshGenLinkDoorTask = (void *)0x05CEEDB0; const void * RTTI_BSNavMeshGenOutputProcessTask = (void *)0x05CEE030; const void * RTTI_BSNavMeshGenOutputProcessor = (void *)0x05A163E0; const void * RTTI_BSNavMeshGenRecastImport = (void *)0x05CFACF8; const void * RTTI_BSNavMeshGenRecastTask = (void *)0x05CEE068; const void * RTTI_BSNavMeshGenRequestPauseTask = (void *)0x05CF6030; const void * RTTI_BSNavMeshGenRequestResumeTask = (void *)0x05CF5FF8; const void * RTTI_BSNavMeshGenSeedTrimmerTask = (void *)0x05CEEF80; const void * RTTI_BSNavMeshGenSmallAreaTrimmerTask = (void *)0x05CEECD0; const void * RTTI_BSNavMeshGenSplitter = (void *)0x05A16448; const void * RTTI_BSNavMeshGenSplitterTask = (void *)0x05CEEE40; const void * RTTI_BSNavMeshGenStitcher = (void *)0x05A165E0; const void * RTTI_BSNavMeshGenStitcherTask = (void *)0x05CEE098; const void * RTTI_BSNavMeshGenTask = (void *)0x059D1130; const void * RTTI_BSNavMeshGenTaskGraphProcessor = (void *)0x05CEE1C0; const void * RTTI_BSNavMeshGenTaskGroup = (void *)0x05CEE118; const void * RTTI_BSNavMeshGenTaskProgress = (void *)0x05CF5FC8; const void * RTTI_BSNavMeshGenTaskServer = (void *)0x05A15760; const void * RTTI_BSNavMeshGenTerrainTrimmerTask = (void *)0x05CEED08; const void * RTTI_BSNavMeshGenTraversalTask = (void *)0x05CEEE70; const void * RTTI_BSNavMeshGenTriangleHeightTask = (void *)0x05CEEED8; const void * RTTI_BSNavMeshGenTrianglePlatformTask = (void *)0x05CEEEA0; const void * RTTI_BSNavMeshGenTriangleSplitter = (void *)0x05CF5E90; const void * RTTI_BSNavMeshGenTriangleSplitterTask = (void *)0x05CEEF10; const void * RTTI_BSNavMeshGenTriangleTunnelTask = (void *)0x05CEEF48; const void * RTTI_BSNavMeshGenTriangleWaterTask = (void *)0x05CEED40; const void * RTTI_BSNavMeshGenUpdateNavMeshInfoTask = (void *)0x05CEE868; const void * RTTI_BSNavMeshGenVertexDataTask = (void *)0x05CEE8A0; const void * RTTI_BSNavMeshGenWaypointTask = (void *)0x05CEEE10; const void * RTTI_BSNavMeshGenerator = (void *)0x05A15000; const void * RTTI_BSNavMeshGenerator__BSNavMeshGenBarrierNode = (void *)0x05CEE0D0; const void * RTTI_BSNavMeshGenerator__BSNavMeshGenBeginFinalizeAdjacenCellsNode = (void *)0x05CEDF10; const void * RTTI_BSNavMeshGenerator__BSNavMeshGenBeginFinalizerNode = (void *)0x05CF6470; const void * RTTI_BSNavMeshGenerator__BSNavMeshGenBeginNode = (void *)0x05CF60E0; const void * RTTI_BSNavMeshGenerator__BSNavMeshGenEndFinalizeAdjacentCellsNode = (void *)0x05CEDF70; const void * RTTI_BSNavMeshGenerator__BSNavMeshGenEndFinalizerNode = (void *)0x05CF6420; const void * RTTI_BSNavMeshGenerator__BSNavMeshGenParentNode = (void *)0x05CF60A0; const void * RTTI_BSNavigationGraph = (void *)0x05A1CF58; const void * RTTI_BSNavigationGraphInfo = (void *)0x05A98AF8; const void * RTTI_BSNavigationGraphManager = (void *)0x05A13780; const void * RTTI_BSNavigationGraphRefCount = (void *)0x05A1CE38; const void * RTTI_BSNavigationGrid = (void *)0x05CF7D78; const void * RTTI_BSNavigationGridBase = (void *)0x05CF7D48; const void * RTTI_BSNavigationGridChunk = (void *)0x05CF7DA0; const void * RTTI_BSNavigationGridFieldBase = (void *)0x05AAF388; const void * RTTI_BSNavigationGridInfo = (void *)0x05CF7CB0; const void * RTTI_BSNavigationGridManager = (void *)0x05A13838; const void * RTTI_BSNavigationGridManager__Task = (void *)0x05A13800; const void * RTTI_BSNavigationGridObstacleUpdateTask = (void *)0x05CF7DD0; const void * RTTI_BSNavmesh = (void *)0x05A98A80; const void * RTTI_BSNavmeshInfo = (void *)0x05A98B28; const void * RTTI_BSNavmeshInfoMap = (void *)0x05A98C80; const void * RTTI_BSNavmeshInfoMap__IRecursiveVisitor = (void *)0x05A9A2B0; const void * RTTI_BSNavmeshInfoSearch = (void *)0x05CF7758; const void * RTTI_BSNavmeshObstacleCoverData = (void *)0x05CF6690; const void * RTTI_BSNavmeshObstacleData = (void *)0x059D4620; const void * RTTI_BSNavmeshReferenceObstacleArray = (void *)0x05A99070; const void * RTTI_BSNavmeshSearch = (void *)0x05A9B648; const void * RTTI_BSNavmeshSearchAvailableSpaceDirectional = (void *)0x05CF77F0; const void * RTTI_BSNavmeshSearchAvailableSpaceRadius = (void *)0x05CF7908; const void * RTTI_BSNavmeshSearchBase = (void *)0x059C2138; const void * RTTI_BSNavmeshSearchFilters = (void *)0x05A9B5E8; const void * RTTI_BSNavmeshSearchHideFilter = (void *)0x05A9B618; const void * RTTI_BSNiNode = (void *)0x059C6CE0; const void * RTTI_BSNodeReferences = (void *)0x05CBD5B0; const void * RTTI_BSNoise__Add = (void *)0x05CBF408; const void * RTTI_BSNoise__Billow = (void *)0x05CBF430; const void * RTTI_BSNoise__Crater = (void *)0x05CC0FE0; const void * RTTI_BSNoise__Invert = (void *)0x05CBF388; const void * RTTI_BSNoise__Perlin = (void *)0x05CBDF30; const void * RTTI_BSNoise__Ridged = (void *)0x05CC0E50; const void * RTTI_BSNoise__SmoothStep = (void *)0x05CBF3B0; const void * RTTI_BSNoise__Subtract = (void *)0x05CBF3E0; const void * RTTI_BSNoise__Turbulence = (void *)0x05CC1038; const void * RTTI_BSNoise__Voronoi = (void *)0x05CBF480; const void * RTTI_BSNonUniformScaleExtraData = (void *)0x059E5778; const void * RTTI_BSOfflineRTExtraData = (void *)0x05CC0BB8; const void * RTTI_BSOrderedNode = (void *)0x059C6C40; const void * RTTI_BSPCDualSenseGamepadDevice = (void *)0x05C9E478; const void * RTTI_BSPCGamepadDevice = (void *)0x05C9E678; const void * RTTI_BSPCGamepadDeviceHandler = (void *)0x05C9E1E0; const void * RTTI_BSPCGamerProfile = (void *)0x05D67DB8; const void * RTTI_BSPCKeyboardDevice = (void *)0x05C9E298; const void * RTTI_BSPCMouseDevice = (void *)0x05C9E1B8; const void * RTTI_BSPCVirtualKeyboardDevice = (void *)0x05C9E210; const void * RTTI_BSPageFile__MemoryWriteStorage = (void *)0x05B86C98; const void * RTTI_BSPageFile__MultiplexWrite = (void *)0x05D0CFD8; const void * RTTI_BSParseCSV__IGetBufferCB = (void *)0x05CBDEB0; const void * RTTI_BSParticle = (void *)0x05CE99F0; const void * RTTI_BSPathBuilder = (void *)0x059C2098; const void * RTTI_BSPathEventManager = (void *)0x05CF80B0; const void * RTTI_BSPathSmootherPOVSearch = (void *)0x05CEDCF8; const void * RTTI_BSPathing = (void *)0x05A9A498; const void * RTTI_BSPathingCellManager = (void *)0x05A9A5D8; const void * RTTI_BSPathingRequest = (void *)0x059C2298; const void * RTTI_BSPathingRequestPolicies__DestinationArea = (void *)0x05A97108; const void * RTTI_BSPathingRequestPolicies__EscortRequest = (void *)0x05A921C8; const void * RTTI_BSPathingRequestPolicies__FleeRequestPolicy = (void *)0x05CEDAA0; const void * RTTI_BSPathingSearchRayCast = (void *)0x05CFA478; const void * RTTI_BSPathingSite = (void *)0x05B9F468; const void * RTTI_BSPathingSpace = (void *)0x05A9AEF8; const void * RTTI_BSPathingStreamSimpleBufferRead = (void *)0x05CF5D80; const void * RTTI_BSPathingStreamSimpleBufferWrite = (void *)0x05A116C0; const void * RTTI_BSPathingTraversal = (void *)0x05A1A4F8; const void * RTTI_BSPathingTraversalAction = (void *)0x05A195C8; const void * RTTI_BSPathingTraversalData = (void *)0x05A19960; const void * RTTI_BSPathingTraversalManager = (void *)0x05A1B2B8; const void * RTTI_BSPathing__CheckLineOfSightFilter = (void *)0x05A149F8; const void * RTTI_BSPathing__DetermineAvailableRadiusAtPositionVisitor = (void *)0x05CEBEB0; const void * RTTI_BSPathing__DetermineAvailableRadiusInDirectionVisitor = (void *)0x05CEBF00; const void * RTTI_BSPathing__EdgeFoundVisitor = (void *)0x05BB7278; const void * RTTI_BSPausableItem = (void *)0x05A99048; const void * RTTI_BSPauseRequester = (void *)0x059D5A28; const void * RTTI_BSPistonController = (void *)0x05CAC7F8; const void * RTTI_BSPlatform__BNetAsyncRequestBase = (void *)0x05D560D0; const void * RTTI_BSPlatform__BNetFile__download = (void *)0x05D63980; const void * RTTI_BSPlatform__BNetFile__marketplaceDownload = (void *)0x05D639B8; const void * RTTI_BSPlatform__BNetImage = (void *)0x059A2BC8; const void * RTTI_BSPlatform__BSBethesdaPlatform = (void *)0x05D55E88; const void * RTTI_BSPlatform__BSMarketplaceImage = (void *)0x059A2B90; const void * RTTI_BSPlatform__BSMarketplaceUploader = (void *)0x05D624D8; const void * RTTI_BSPlatform__BSUserContent = (void *)0x05AD7A20; const void * RTTI_BSPlatform__BSUserContentCollection = (void *)0x05AE4238; const void * RTTI_BSPlatform__BSUserContentOperations = (void *)0x05D61D68; const void * RTTI_BSPlatform__BSUserContentSearcherAgent = (void *)0x05D67750; const void * RTTI_BSPlayerDistanceCheckController = (void *)0x05BB0F20; const void * RTTI_BSPrecomputedNavmeshInfoSearch = (void *)0x05CF75E0; const void * RTTI_BSProbeGridVolume = (void *)0x05CBB308; const void * RTTI_BSProcGen__DataManager = (void *)0x05CFAD28; const void * RTTI_BSProcGen__Resources = (void *)0x05CFB028; const void * RTTI_BSProceduralLightningController = (void *)0x05CBE258; const void * RTTI_BSProceduralLightningTasklet = (void *)0x05CBE300; const void * RTTI_BSProjectedDecal = (void *)0x05CBAC40; const void * RTTI_BSRecastModule__BSRecastJob = (void *)0x05CFACC0; const void * RTTI_BSReference = (void *)0x05CBD5D8; const void * RTTI_BSReflectionProbe = (void *)0x05CBD000; const void * RTTI_BSReflection__AnyType = (void *)0x05CFC2A8; const void * RTTI_BSReflection__BSFixedStringType = (void *)0x05CFBF80; const void * RTTI_BSReflection__BasicType = (void *)0x05CFB890; const void * RTTI_BSReflection__ClassType = (void *)0x05CFB8C0; const void * RTTI_BSReflection__ConstCStringType = (void *)0x05CFC7B0; const void * RTTI_BSReflection__EnumerationType = (void *)0x05CFBF48; const void * RTTI_BSReflection__IConstEnumerator = (void *)0x05A4FA78; const void * RTTI_BSReflection__IObject = (void *)0x059BD928; const void * RTTI_BSReflection__ResourceIDStringConverter = (void *)0x05CFBB58; const void * RTTI_BSReflection__Serializer = (void *)0x05CBB330; const void * RTTI_BSReflection__TypeManager = (void *)0x05CFBB28; const void * RTTI_BSReflection__UIDStringConverter = (void *)0x05CE9A18; const void * RTTI_BSRenderSettingsManager = (void *)0x05BA0380; const void * RTTI_BSRendererState = (void *)0x05CBBCA8; const void * RTTI_BSResource2__CacheBase = (void *)0x059C9790; const void * RTTI_BSResource2__EntryBase = (void *)0x059C8D18; const void * RTTI_BSResource2__ProxyStream = (void *)0x05CFC870; const void * RTTI_BSResource2__ResourceCreateNode = (void *)0x05CFCB18; const void * RTTI_BSResourceNiBinaryStream = (void *)0x05CD4090; const void * RTTI_BSResourceReloadManager = (void *)0x05CBE818; const void * RTTI_BSResourceStreamParser = (void *)0x05CD4060; const void * RTTI_BSResourceStreamStorage = (void *)0x05D00A98; const void * RTTI_BSResource__Archive2__AsyncReaderStream = (void *)0x05CFE328; const void * RTTI_BSResource__Archive2__Index = (void *)0x05CFE270; const void * RTTI_BSResource__Archive2__Manager = (void *)0x05CFE200; const void * RTTI_BSResource__Archive2__Manager__MemoryCacheLocation = (void *)0x05CFE4B0; const void * RTTI_BSResource__Archive2__ReaderStream = (void *)0x05CFE238; const void * RTTI_BSResource__ArchiveIDConverter = (void *)0x05CFCD88; const void * RTTI_BSResource__AsyncStream = (void *)0x05CFE568; const void * RTTI_BSResource__IMemoryFileBuffer = (void *)0x05D00D38; const void * RTTI_BSResource__Location = (void *)0x05CFCDC0; const void * RTTI_BSResource__LocationTraverser = (void *)0x05CC2740; const void * RTTI_BSResource__LooseFileLocation = (void *)0x05D009E8; const void * RTTI_BSResource__MemoryFileBuffer = (void *)0x05D00CC8; const void * RTTI_BSResource__MemoryFileLocation = (void *)0x05CFE2F0; const void * RTTI_BSResource__MemoryFileStream = (void *)0x05D00D00; const void * RTTI_BSResource__SDirectory2__IDirectoryIDIterator = (void *)0x05C8A440; const void * RTTI_BSResource__SDirectory2__IDirectoryStreamIterator = (void *)0x059C3F00; const void * RTTI_BSResource__SDirectory2__ThreadCursor = (void *)0x05CFDF20; const void * RTTI_BSResource__Server__Commands__CancelAll = (void *)0x05CB1948; const void * RTTI_BSResource__Server__Control__Srv = (void *)0x05CFF460; const void * RTTI_BSResource__Server__GraphProcessor = (void *)0x05A5B158; const void * RTTI_BSResource__Server__LinearProcessor = (void *)0x059FA930; const void * RTTI_BSResource__Server__NodeBase = (void *)0x059C5090; const void * RTTI_BSResource__Server__PostProcess__Srv = (void *)0x05CFF6D0; const void * RTTI_BSResource__Server__ResourceServerDebug = (void *)0x05CFFD08; const void * RTTI_BSResource__Stream = (void *)0x05CFC7E8; const void * RTTI_BSResource__StreamBase = (void *)0x05CFC810; const void * RTTI_BSRotAccumTransfInterpolator = (void *)0x05D51238; const void * RTTI_BSSaveDataSystemUtility = (void *)0x05D67C70; const void * RTTI_BSSaveDataSystemUtilityFile = (void *)0x05B86DD8; const void * RTTI_BSScaleformFileOpener = (void *)0x05CD5790; const void * RTTI_BSScaleformImageLoader = (void *)0x05CD5D28; const void * RTTI_BSScaleformManager = (void *)0x05CD3F40; const void * RTTI_BSScaleformMovieLoadTask = (void *)0x05CD58C0; const void * RTTI_BSScaleformTranslator__ScaleformImpl = (void *)0x05CD5DF0; const void * RTTI_BSSceneNode = (void *)0x05CB2710; const void * RTTI_BSScript__ByteCode__PackedInstructionStream__InstructionFunctor = (void *)0x05D06BD0; const void * RTTI_BSScript__CompiledScriptLoader = (void *)0x05D037A0; const void * RTTI_BSScript__ErrorLogger = (void *)0x05C5E258; const void * RTTI_BSScript__ICachedErrorMessage = (void *)0x05AD1968; const void * RTTI_BSScript__IClientVM = (void *)0x05C63FC8; const void * RTTI_BSScript__IComplexType = (void *)0x05D01950; const void * RTTI_BSScript__IFunction = (void *)0x05AEB0F8; const void * RTTI_BSScript__IHandleReaderWriter = (void *)0x05C5B8D0; const void * RTTI_BSScript__ILoader = (void *)0x05C64508; const void * RTTI_BSScript__IMemoryPagePolicy = (void *)0x05D03020; const void * RTTI_BSScript__IObjectHandlePolicy = (void *)0x05C63F50; const void * RTTI_BSScript__IObjectProcessor = (void *)0x05D064E0; const void * RTTI_BSScript__IProfilePolicy = (void *)0x05C603C8; const void * RTTI_BSScript__ISavePatcherInterface = (void *)0x05C60728; const void * RTTI_BSScript__IStackCallbackFunctor = (void *)0x05C63FF8; const void * RTTI_BSScript__IStackCallbackSaveInterface = (void *)0x05C63EE0; const void * RTTI_BSScript__IStore = (void *)0x05C60DD8; const void * RTTI_BSScript__IVMDebugInterface = (void *)0x05D019E8; const void * RTTI_BSScript__IVMObjectBindInterface = (void *)0x05D00D70; const void * RTTI_BSScript__IVMSaveLoadInterface = (void *)0x05D019B0; const void * RTTI_BSScript__IVirtualMachine = (void *)0x05D01980; const void * RTTI_BSScript__Internal__AutoPropGetFunction = (void *)0x05D06C28; const void * RTTI_BSScript__Internal__AutoPropSetFunction = (void *)0x05D06C68; const void * RTTI_BSScript__Internal__CodeTasklet = (void *)0x05D084D8; const void * RTTI_BSScript__Internal__FunctionMessageNode = (void *)0x05D0A320; const void * RTTI_BSScript__Internal__FunctionMessageProcessor = (void *)0x05D0A360; const void * RTTI_BSScript__Internal__IFuncCallQuery = (void *)0x05D05588; const void * RTTI_BSScript__Internal__IVMFunctionMessageDispatch = (void *)0x05D05500; const void * RTTI_BSScript__Internal__NativeFunctionStub = (void *)0x05D06A80; const void * RTTI_BSScript__Internal__RawFuncCallQuery = (void *)0x05D055C0; const void * RTTI_BSScript__Internal__ScriptFunction = (void *)0x05D0A7D0; const void * RTTI_BSScript__Internal__VirtualMachine = (void *)0x05D05600; const void * RTTI_BSScript__LinkerProcessor = (void *)0x05D09830; const void * RTTI_BSScript__NF_util__NativeFunctionBase = (void *)0x05AEB068; const void * RTTI_BSScript__ObjectBindPolicy = (void *)0x05C63F20; const void * RTTI_BSScript__ObjectTypeInfo = (void *)0x05D01760; const void * RTTI_BSScript__SimpleAllocMemoryPagePolicy = (void *)0x05D03058; const void * RTTI_BSScript__StructTypeInfo = (void *)0x05D025C0; const void * RTTI_BSScript__UnlinkedTypes__InstructionStream__InstructionFunctor = (void *)0x05D06AC0; const void * RTTI_BSSequence__AnimationEvent = (void *)0x05A4F478; const void * RTTI_BSSequence__AnimationTrack = (void *)0x05A4F448; const void * RTTI_BSSequence__AnimationVariableTrack = (void *)0x05A4F4A8; const void * RTTI_BSSequence__AnimationVectorVariableTrack = (void *)0x05A4F4E0; const void * RTTI_BSSequence__BindingEvent = (void *)0x05CB9F40; const void * RTTI_BSSequence__BoundPropertyTrack = (void *)0x05A4EB80; const void * RTTI_BSSequence__CameraShakeEvent = (void *)0x05A4F558; const void * RTTI_BSSequence__CameraShakeStrengthTrack = (void *)0x05A4F590; const void * RTTI_BSSequence__CameraShakeTrack = (void *)0x05A4F520; const void * RTTI_BSSequence__ColorCurveEvent = (void *)0x05CB4148; const void * RTTI_BSSequence__ColorLerpEvent = (void *)0x05CB40C8; const void * RTTI_BSSequence__ColorNoiseEvent = (void *)0x05CB4180; const void * RTTI_BSSequence__ColorTriggerEvent = (void *)0x05CB4228; const void * RTTI_BSSequence__ConsoleScriptEvent = (void *)0x05A4E2C0; const void * RTTI_BSSequence__CullEvent = (void *)0x05A4F838; const void * RTTI_BSSequence__DissolveEvent = (void *)0x05A4F180; const void * RTTI_BSSequence__DissolveFrequencyScaleTrack = (void *)0x05A4F248; const void * RTTI_BSSequence__DissolveOffsetTrack = (void *)0x05A4F1B0; const void * RTTI_BSSequence__DissolveTrack = (void *)0x059D9F28; const void * RTTI_BSSequence__Event = (void *)0x05A4F978; const void * RTTI_BSSequence__ExplosionObjectSpawn = (void *)0x05A4E050; const void * RTTI_BSSequence__Float2CurveEvent = (void *)0x05CB4298; const void * RTTI_BSSequence__Float2LerpEvent = (void *)0x05CB42D0; const void * RTTI_BSSequence__Float2TriggerEvent = (void *)0x05CB9C78; const void * RTTI_BSSequence__FloatCurveEvent = (void *)0x05CB9BB8; const void * RTTI_BSSequence__FloatLerpEvent = (void *)0x05CB9CE8; const void * RTTI_BSSequence__FloatNoiseEvent = (void *)0x05CB9BF0; const void * RTTI_BSSequence__FloatTriggerEvent = (void *)0x05CB9CB0; const void * RTTI_BSSequence__ITimeMultiplierProvider = (void *)0x05A50200; const void * RTTI_BSSequence__ImageSpaceLifetimeEvent = (void *)0x05A4EC50; const void * RTTI_BSSequence__ImageSpaceStrengthTrack = (void *)0x05A4EC90; const void * RTTI_BSSequence__ImageSpaceTrack = (void *)0x05A4EBB8; const void * RTTI_BSSequence__ImpactEffectEvent = (void *)0x05A4EB48; const void * RTTI_BSSequence__ImpactEffectTrack = (void *)0x059DA0E8; const void * RTTI_BSSequence__LightColorTrack = (void *)0x05A4EE60; const void * RTTI_BSSequence__LightEffectDirectReferenceTrack = (void *)0x059D9940; const void * RTTI_BSSequence__LightEffectReferenceTrack = (void *)0x059D98D0; const void * RTTI_BSSequence__LightEffectTrack = (void *)0x05A4ED28; const void * RTTI_BSSequence__LightIntensityTrack = (void *)0x05A4EE28; const void * RTTI_BSSequence__LightLensFlareVisiblityTrack = (void *)0x05A4EE98; const void * RTTI_BSSequence__LightRadiusTrack = (void *)0x05A4ED98; const void * RTTI_BSSequence__LightSpawnEvent = (void *)0x05A4ED60; const void * RTTI_BSSequence__LightTrackBase = (void *)0x059D9910; const void * RTTI_BSSequence__LoopMarker = (void *)0x05CB4098; const void * RTTI_BSSequence__MaterialFlipbookIndexGeneratorEvent = (void *)0x05A4F100; const void * RTTI_BSSequence__MaterialFlipbookIndexTrack = (void *)0x05A4F058; const void * RTTI_BSSequence__MaterialPropertyTrack = (void *)0x05A4EFB8; const void * RTTI_BSSequence__MaterialTrack = (void *)0x05A4EF18; const void * RTTI_BSSequence__Mediator = (void *)0x059D95E8; const void * RTTI_BSSequence__NamedSequenceMap = (void *)0x059D9868; const void * RTTI_BSSequence__NodeTrackBase = (void *)0x059D98A0; const void * RTTI_BSSequence__NoteEvent = (void *)0x05CB9F10; const void * RTTI_BSSequence__NoteTrack = (void *)0x05CB9F70; const void * RTTI_BSSequence__Object = (void *)0x059D9A18; const void * RTTI_BSSequence__ObjectAttachmentSubnodeTrack = (void *)0x05A4F2F8; const void * RTTI_BSSequence__ObjectAttachmentTrack = (void *)0x05A4F288; const void * RTTI_BSSequence__ObjectSpawnEvent = (void *)0x05A4F2C0; const void * RTTI_BSSequence__ObjectSpawnTrack = (void *)0x059DA070; const void * RTTI_BSSequence__ParticleEffectReferenceTrack = (void *)0x05A4E100; const void * RTTI_BSSequence__ParticleEffectTrack = (void *)0x05A4E140; const void * RTTI_BSSequence__ParticleEvent = (void *)0x05A4E178; const void * RTTI_BSSequence__ParticleMaterialPropertyTrack = (void *)0x05A4E250; const void * RTTI_BSSequence__ParticleParameterTrack = (void *)0x05A4E1A8; const void * RTTI_BSSequence__PlaySubSequenceEvent = (void *)0x05A4EB10; const void * RTTI_BSSequence__PositionTrack = (void *)0x05A4F7A8; const void * RTTI_BSSequence__PositionTrack__TrackState = (void *)0x059DA188; const void * RTTI_BSSequence__ProjectedDecalAlphaTrack = (void *)0x05A4F668; const void * RTTI_BSSequence__ProjectedDecalSpawnEvent = (void *)0x05A4F628; const void * RTTI_BSSequence__ProjectedDecalTrack = (void *)0x059DA150; const void * RTTI_BSSequence__PropertyControllerBase = (void *)0x05CB9E20; const void * RTTI_BSSequence__PropertyControllerEvent = (void *)0x05CB9ED0; const void * RTTI_BSSequence__PropertyLerpControllerEvent = (void *)0x05CB9E90; const void * RTTI_BSSequence__ReferenceSpawnEvent = (void *)0x05A4E088; const void * RTTI_BSSequence__RevertMaterialOverrideEvent = (void *)0x05A4EED8; const void * RTTI_BSSequence__RotationTrack = (void *)0x05A4F7D8; const void * RTTI_BSSequence__RotationTrack__TrackState = (void *)0x059DA0A8; const void * RTTI_BSSequence__ScaleTrack = (void *)0x05A4F808; const void * RTTI_BSSequence__SceneNodeTrack = (void *)0x059DA120; const void * RTTI_BSSequence__ScriptTrack = (void *)0x05A4E290; const void * RTTI_BSSequence__SetPropertyEvent = (void *)0x05CB9E58; const void * RTTI_BSSequence__SoundEvent = (void *)0x05A4E328; const void * RTTI_BSSequence__SoundTrack = (void *)0x05A4E2F8; const void * RTTI_BSSequence__SubSequenceTrack = (void *)0x05A4F868; const void * RTTI_BSSequence__Track = (void *)0x059D9988; const void * RTTI_BSSequence__TrackGroup = (void *)0x059D99B0; const void * RTTI_BSSequence__TriggerMaterialSwap = (void *)0x05A4F148; const void * RTTI_BSSequence__VectorCurveEvent = (void *)0x05CB4260; const void * RTTI_BSSequence__VectorLerpEvent = (void *)0x05CB41F0; const void * RTTI_BSSequence__VectorNoiseEvent = (void *)0x05CB41B8; const void * RTTI_BSSequence__VectorTriggerEvent = (void *)0x05CB4348; const void * RTTI_BSSequence__VisibilityTrack = (void *)0x05A4F710; const void * RTTI_BSService__JobSite = (void *)0x05B8A6E8; const void * RTTI_BSShadowLight = (void *)0x059965B0; const void * RTTI_BSShapeConstructor = (void *)0x05AA63A0; const void * RTTI_BSSimpleScaleController = (void *)0x05BB0F58; const void * RTTI_BSSkin__BoneData = (void *)0x05D51EC8; const void * RTTI_BSSkin__Instance = (void *)0x05D51EF0; const void * RTTI_BSSpatialGraph = (void *)0x05A1CFB8; const void * RTTI_BSSpatialGraphInfo = (void *)0x05CED508; const void * RTTI_BSSpatialGraphManager = (void *)0x05A1DC98; const void * RTTI_BSSpatialGraphSearch = (void *)0x059C1DC0; const void * RTTI_BSSplatterExtraData = (void *)0x05A11660; const void * RTTI_BSSteamSysInfoSystemUtility = (void *)0x05D67A18; const void * RTTI_BSStorage = (void *)0x059E5300; const void * RTTI_BSStream = (void *)0x05A85920; const void * RTTI_BSStreamParserData = (void *)0x05CD40C0; const void * RTTI_BSStreaming__DataStorage = (void *)0x05D0D118; const void * RTTI_BSSubBehaviorGraphSingleton = (void *)0x05C9B7E0; const void * RTTI_BSSubBehaviorGraphSingletonData = (void *)0x05C9B818; const void * RTTI_BSSubBehaviorGraphSingletonDataAddToDeferredDeleterTask = (void *)0x05C9B930; const void * RTTI_BSSubSceneNode = (void *)0x05CBCFD8; const void * RTTI_BSSysInfoSystemUtility = (void *)0x05D67A50; const void * RTTI_BSSystemFileAsyncFunctor = (void *)0x05D00B58; const void * RTTI_BSSystemFileStorage = (void *)0x05D0D0E8; const void * RTTI_BSSystemFileStreamer__HeapData = (void *)0x05D0B508; const void * RTTI_BSSystemFileStreamer__PhysicalRequest = (void *)0x05D0B430; const void * RTTI_BSSystemFileStreamer__PinnedData = (void *)0x05D0B540; const void * RTTI_BSSystemFileStreamer__Streamer = (void *)0x05D0B3A0; const void * RTTI_BSSystemFileStreamer__Streamer__ControlThread = (void *)0x05D0B4C0; const void * RTTI_BSSystemFileStreamer__Streamer__StreamerThread = (void *)0x05D0B470; const void * RTTI_BSSystemUtilitiesStrings = (void *)0x05D68180; const void * RTTI_BSSystemUtility = (void *)0x05D67A80; const void * RTTI_BSTArrayBase__IAllocatorFunctor = (void *)0x059BF300; const void * RTTI_BSTEventDetail__SourceBase = (void *)0x059BDB90; const void * RTTI_BSTGlobalEvent = (void *)0x05C9CD78; const void * RTTI_BSTSmartPointerPrivate__HandleManagerBase = (void *)0x059D5A50; const void * RTTI_BSTableCurve = (void *)0x05D68540; const void * RTTI_BSTaskJobber = (void *)0x05CBE230; const void * RTTI_BSTaskJobber__Task = (void *)0x05A99340; const void * RTTI_BSTaskThread = (void *)0x059FA4C0; const void * RTTI_BSTaskletGroupData = (void *)0x05D0D1A0; const void * RTTI_BSTaskletManager = (void *)0x05D0D148; const void * RTTI_BSTempEffect = (void *)0x05A983D8; const void * RTTI_BSTempEffectDebris = (void *)0x05A985F8; const void * RTTI_BSTempEffectGeometryDecal = (void *)0x05A98688; const void * RTTI_BSTempEffectParticle = (void *)0x05A986F0; const void * RTTI_BSTempEffectSPG = (void *)0x05A98808; const void * RTTI_BSTempEffectScreenSpaceDecal = (void *)0x05A98720; const void * RTTI_BSTempEffectWeaponBlood = (void *)0x05A98830; const void * RTTI_BSTerrainEffect = (void *)0x05A989F0; const void * RTTI_BSTextureStreamer__ArchiveLayer = (void *)0x05CBC818; const void * RTTI_BSTextureStreamer__LoadQueueService = (void *)0x05CBCC00; const void * RTTI_BSTextureStreamer__Manager = (void *)0x05CBC888; const void * RTTI_BSTextureStreamer__ManagerBase = (void *)0x05CBC850; const void * RTTI_BSTextureStreamer__ManagerServiceFramework = (void *)0x05CBCC40; const void * RTTI_BSTextureStreamer__TextureArchiveIDConverter = (void *)0x05CBC490; const void * RTTI_BSTextureStreamer__TextureLoad = (void *)0x05CC0C38; const void * RTTI_BSThread = (void *)0x059FA4A0; const void * RTTI_BSThreadStagesManager = (void *)0x05D0C2F0; const void * RTTI_BSTransformExtra = (void *)0x05A82F10; const void * RTTI_BSTreadTransfInterpolator = (void *)0x05D51270; const void * RTTI_BSUIExternalTexture = (void *)0x05CD4D10; const void * RTTI_BSUserActivitiesSystemUtility = (void *)0x05D68050; const void * RTTI_BSVMFileFenceNode = (void *)0x05A03120; const void * RTTI_BSVMLoadNode = (void *)0x05A030F8; const void * RTTI_BSVMPostProcessNode = (void *)0x05A03090; const void * RTTI_BSValueNode = (void *)0x05CBD4A0; const void * RTTI_BSWArray = (void *)0x05CC0ED0; const void * RTTI_BSWeakReferenceNode = (void *)0x05CB25D0; const void * RTTI_BSWin32ExceptionHandler = (void *)0x05C9F0C8; const void * RTTI_BSWinPCAwardsSystemUtility = (void *)0x05D67E08; const void * RTTI_BSWinPCGameDataSystemUtility = (void *)0x05D67CC8; const void * RTTI_BSWinPCGameDataSystemUtility__CCallbackInternal_OnDLCInstalled = (void *)0x05D67D00; const void * RTTI_BSWinPCSaveDataSystemUtility = (void *)0x05D67C38; const void * RTTI_BSWinPCSystemUtility = (void *)0x05D67AA8; const void * RTTI_BSWinPCSystemUtility__ConnectionStatusManager = (void *)0x05D67AE0; const void * RTTI_BSXFlags = (void *)0x05CBB2E8; const void * RTTI_BShkbHkxDB__QueuedHandles = (void *)0x05A80830; const void * RTTI_BShkbUtils__GraphInspectionFunctor = (void *)0x05C8AEB8; const void * RTTI_BackgroundProcessNode = (void *)0x059FA8C8; const void * RTTI_BackgroundProcessThread = (void *)0x059FA578; const void * RTTI_BanishEffect = (void *)0x05B80C30; const void * RTTI_BarrierProjectile = (void *)0x05BD1538; const void * RTTI_BarterMenu = (void *)0x05B2E3F0; const void * RTTI_BarterMenu_BuyItem = (void *)0x05B2E768; const void * RTTI_BarterMenu_CloseMenu = (void *)0x05B2E7E8; const void * RTTI_BarterMenu_HideModel = (void *)0x05B2E868; const void * RTTI_BarterMenu_LoadModel = (void *)0x05B2E8E8; const void * RTTI_BarterMenu_SellItem = (void *)0x05B2E6F0; const void * RTTI_BarterMenu_SetMouseOverModel = (void *)0x05B2E458; const void * RTTI_BarterMenu_ShowFailureMessage = (void *)0x05B2E668; const void * RTTI_BarterMenu_ViewedItem = (void *)0x05B2E5E8; const void * RTTI_BarterMenu__BarterMenuEventShuttle = (void *)0x05B2E088; const void * RTTI_BaseFormComponent = (void *)0x059BDB68; const void * RTTI_BaseLightAnimData = (void *)0x059E6488; const void * RTTI_BeamProjectile = (void *)0x05BD1560; const void * RTTI_BedEnterHandler = (void *)0x05BCE490; const void * RTTI_BedFurnitureExitHandler = (void *)0x05BCE460; const void * RTTI_BleedoutCameraState = (void *)0x05C48970; const void * RTTI_BlendNode = (void *)0x05C996C0; const void * RTTI_BlendNodeInstance = (void *)0x05C996E0; const void * RTTI_BlendTree = (void *)0x05C8B468; const void * RTTI_BlendTreeInstance = (void *)0x05C988D8; const void * RTTI_Blueprints__Blueprint = (void *)0x059E5E18; const void * RTTI_Blueprints__BlueprintMainStatusHandler = (void *)0x059E5CF0; const void * RTTI_Blueprints__BlueprintVariant = (void *)0x05992408; const void * RTTI_BodyCollisionsTask = (void *)0x0598E380; const void * RTTI_BodyEffects__Effect = (void *)0x059C6CB0; const void * RTTI_BodyEffects__ResourceVisualizationEffect = (void *)0x059C6BC8; const void * RTTI_BodyEffects__ScanlinesEffect = (void *)0x059C6C08; const void * RTTI_BoneConstraint = (void *)0x05C990F0; const void * RTTI_BoneConstraintInstance = (void *)0x05C99118; const void * RTTI_BoneModifierData = (void *)0x059D6180; const void * RTTI_BoneModifierExtra = (void *)0x05A43220; const void * RTTI_BoneModifierInstance = (void *)0x059D6150; const void * RTTI_BookMenu = (void *)0x05C48BC0; const void * RTTI_BookMenu__BookData = (void *)0x05C48B58; const void * RTTI_BookMenu__BookMenuUIDataEventShuttle = (void *)0x05C48BE0; const void * RTTI_BoundaryMenu = (void *)0x05AE1DC8; const void * RTTI_BoundaryMenu_FastTravel = (void *)0x05AE1D98; const void * RTTI_BoundaryMenu_ShowMap = (void *)0x05AE1E38; const void * RTTI_BowZoomStartHandler = (void *)0x05BCE628; const void * RTTI_BowZoomStopHandler = (void *)0x05BCF448; const void * RTTI_ButtonEvent = (void *)0x05C9D6E8; const void * RTTI_CCallbackBase = (void *)0x05D67CA0; const void * RTTI_CPUCaptureHandler = (void *)0x05C53E10; const void * RTTI_CalcContainerWeight = (void *)0x05A6F9D0; const void * RTTI_Calendar = (void *)0x05B8D1C8; const void * RTTI_CalmEffect = (void *)0x05B80C08; const void * RTTI_CameraOverrideStartHandler = (void *)0x05BCE948; const void * RTTI_CameraOverrideStopHandler = (void *)0x05BCE5A0; const void * RTTI_CameraShakeHandler = (void *)0x05BCF270; const void * RTTI_CameraShake__ShakeData = (void *)0x05AA3928; const void * RTTI_CameraZoomHandler = (void *)0x05C53E60; const void * RTTI_Camera__DebugCinematicCamera = (void *)0x05AD2010; const void * RTTI_Camera__DebugFollowCamera = (void *)0x05AD20A8; const void * RTTI_Camera__DebugFreeCamera = (void *)0x05AD20D8; const void * RTTI_Camera__DebugModule = (void *)0x05AD2138; const void * RTTI_Camera__DebugOrbitalCamera = (void *)0x05AD2108; const void * RTTI_Camera__DebugTargetCamera = (void *)0x05AD2078; const void * RTTI_Camera__IBaseModule = (void *)0x05AD1F68; const void * RTTI_Camera__IDebugCamera = (void *)0x05AD2048; const void * RTTI_Camera__InteriorModule = (void *)0x05AD2168; const void * RTTI_Camera__Manager = (void *)0x05AD1F10; const void * RTTI_Camera__PlayerModule = (void *)0x05AD1F38; const void * RTTI_Camera__SpaceModule = (void *)0x05AD1EE0; const void * RTTI_CapacityValueModifierEffect = (void *)0x05B7EE20; const void * RTTI_CellHandleManager = (void *)0x059D5BD0; const void * RTTI_CellHfCollision = (void *)0x059EADE0; const void * RTTI_ChainExplosion = (void *)0x05B8D440; const void * RTTI_ChairEnterHandler = (void *)0x05BCE4E8; const void * RTTI_ChairFurnitureExitHandler = (void *)0x05BCE430; const void * RTTI_ChangeAnimArchetypeHandler = (void *)0x05BCEEB8; const void * RTTI_CharGen_BrowChange = (void *)0x05B576A8; const void * RTTI_CharGen_BrowColorChange = (void *)0x05B57538; const void * RTTI_CharGen_CancelTextEntry = (void *)0x05B57CD8; const void * RTTI_CharGen_CloseMenu = (void *)0x05B57FB8; const void * RTTI_CharGen_CyclePronoun = (void *)0x05B57238; const void * RTTI_CharGen_DirtScarsEtcChange = (void *)0x05B57838; const void * RTTI_CharGen_EndBodyChange = (void *)0x05B55AE0; const void * RTTI_CharGen_EndTextEntry = (void *)0x05B57C60; const void * RTTI_CharGen_EyeColorChange = (void *)0x05B57630; const void * RTTI_CharGen_FacialHairChange = (void *)0x05B57438; const void * RTTI_CharGen_FacialHairColorChange = (void *)0x05B574B8; const void * RTTI_CharGen_HairChange = (void *)0x05B57728; const void * RTTI_CharGen_HairColorChange = (void *)0x05B573B8; const void * RTTI_CharGen_HeadpartPlusSelectorChange = (void *)0x05B57B58; const void * RTTI_CharGen_HeadpartPresetChange = (void *)0x05B57E50; const void * RTTI_CharGen_JewelryChange = (void *)0x05B55D58; const void * RTTI_CharGen_JewelryColorChange = (void *)0x05B559D8; const void * RTTI_CharGen_MakeupChange = (void *)0x05B55578; const void * RTTI_CharGen_MarkingsChange = (void *)0x05B55600; const void * RTTI_CharGen_PostBlendColorOptionChange = (void *)0x05B558B0; const void * RTTI_CharGen_PostBlendFaceChange = (void *)0x05B55820; const void * RTTI_CharGen_PostBlendIntensityChange = (void *)0x05B55940; const void * RTTI_CharGen_PresetChange = (void *)0x05B57DD8; const void * RTTI_CharGen_RollOffLocomotion = (void *)0x05B55BD8; const void * RTTI_CharGen_RollOnLocomotion = (void *)0x05B55F58; const void * RTTI_CharGen_RotatePaperdoll = (void *)0x05B55ED8; const void * RTTI_CharGen_SetAdditionalSlider = (void *)0x05B55B58; const void * RTTI_CharGen_SetBackground = (void *)0x05B575C0; const void * RTTI_CharGen_SetBlockInputUnderPopup = (void *)0x05B55790; const void * RTTI_CharGen_SetBodyValues = (void *)0x05B57A50; const void * RTTI_CharGen_SetCameraPosition = (void *)0x05B57AD8; const void * RTTI_CharGen_SetPronoun = (void *)0x05B572B8; const void * RTTI_CharGen_SetSex = (void *)0x05B57ED8; const void * RTTI_CharGen_SetSlider = (void *)0x05B57F50; const void * RTTI_CharGen_SetTrait = (void *)0x05B57940; const void * RTTI_CharGen_ShowChooseBackgroundMessage = (void *)0x05B579B8; const void * RTTI_CharGen_ShowPlayerRenameMessage = (void *)0x05B57D58; const void * RTTI_CharGen_SkintoneChange = (void *)0x05B577A8; const void * RTTI_CharGen_StartBodyChange = (void *)0x05B55A58; const void * RTTI_CharGen_StartTextEntry = (void *)0x05B57BE8; const void * RTTI_CharGen_SwitchBodyType = (void *)0x05B55E60; const void * RTTI_CharGen_SwitchLocomotion = (void *)0x05B55DD8; const void * RTTI_CharGen_TeethChange = (void *)0x05B571C0; const void * RTTI_CharGen_TeethRollOff = (void *)0x05B55CD8; const void * RTTI_CharGen_TeethRollOn = (void *)0x05B55C58; const void * RTTI_CharGen_ToggleMarking = (void *)0x05B578B8; const void * RTTI_CharGen_TogglePreviewHabSuit = (void *)0x05B57338; const void * RTTI_CharacterCollisionHandler = (void *)0x05BB6B88; const void * RTTI_CharacterCollisionMessagePlayerAdapter = (void *)0x05B99130; const void * RTTI_CharacterEvent = (void *)0x05C9D4F8; const void * RTTI_ChargenMenu = (void *)0x05B55100; const void * RTTI_ChargenMenu__ChargenMenuEventShuttle = (void *)0x05B54738; const void * RTTI_CheckGoalReachedFunctor = (void *)0x05CF3738; const void * RTTI_CheckLineOfSightFilterMisc = (void *)0x05B808A0; const void * RTTI_CheckParameterReachedFunctor = (void *)0x05CF36D0; const void * RTTI_CheckStoppedMovingFunctor = (void *)0x05CF3768; const void * RTTI_ClientBIMetrics__CombatHitMetricsI = (void *)0x05B82868; const void * RTTI_ClientBIMetrics__HeartBeat__EventSink = (void *)0x059C5FE0; const void * RTTI_ClientBIMetrics__Performance__EventSink = (void *)0x059C66F8; const void * RTTI_ClientBIMetrics__ShipCombatHitMetricsBPSImp = (void *)0x05B827E0; const void * RTTI_ClientBIPrebuiltHTTPSPostPrivate__CurlHTTPSPost = (void *)0x059C6A60; const void * RTTI_CloakEffect = (void *)0x05B7EE58; const void * RTTI_ClonePoseNode = (void *)0x05C95E08; const void * RTTI_ClonePoseNodeInstance = (void *)0x05C95DB0; const void * RTTI_CloudSaveWriter = (void *)0x05B86D38; const void * RTTI_CombatAcquireSearchDebugData = (void *)0x05BF22A0; const void * RTTI_CombatAimController = (void *)0x05BD4F90; const void * RTTI_CombatAlignRollPathController = (void *)0x05AC4500; const void * RTTI_CombatAnimatedPath = (void *)0x05C2FBB8; const void * RTTI_CombatApproachTargetPathController = (void *)0x05AC4FF0; const void * RTTI_CombatAreaHoldPosition = (void *)0x05BD5958; const void * RTTI_CombatAreaReference = (void *)0x05BD5928; const void * RTTI_CombatAreaShape = (void *)0x05AC68C0; const void * RTTI_CombatAreaStandard = (void *)0x05BD5988; const void * RTTI_CombatBarrelRollPathController = (void *)0x05AC3BC0; const void * RTTI_CombatBehaviorAttackFromCover = (void *)0x05C2CD78; const void * RTTI_CombatBehaviorBlindFireFromCover = (void *)0x05C2CA00; const void * RTTI_CombatBehaviorContextCover = (void *)0x05C2C880; const void * RTTI_CombatBehaviorContextGrenade = (void *)0x05AB99A8; const void * RTTI_CombatBehaviorMoveInCover = (void *)0x05C2C800; const void * RTTI_CombatBehaviorProvideSuppressiveFire = (void *)0x05C1D1D0; const void * RTTI_CombatBehaviorResource = (void *)0x05BF1728; const void * RTTI_CombatBehaviorShipAcquire = (void *)0x05AC5860; const void * RTTI_CombatBehaviorShipAttackManeuver = (void *)0x05AC5990; const void * RTTI_CombatBehaviorShipBarrelRoll = (void *)0x05AC57C0; const void * RTTI_CombatBehaviorShipBoost = (void *)0x05AC5890; const void * RTTI_CombatBehaviorShipBreak = (void *)0x05AC57F8; const void * RTTI_CombatBehaviorShipBreakStalemate = (void *)0x05AC5A28; const void * RTTI_CombatBehaviorShipCut = (void *)0x05AC5790; const void * RTTI_CombatBehaviorShipDirectAttack = (void *)0x05AC5B38; const void * RTTI_CombatBehaviorShipDisengage = (void *)0x05AC5BE0; const void * RTTI_CombatBehaviorShipLeadTurn = (void *)0x05AC5920; const void * RTTI_CombatBehaviorShipLurk = (void *)0x05AC59F8; const void * RTTI_CombatBehaviorShipOrbitCombatArea = (void *)0x05AC5BA8; const void * RTTI_CombatBehaviorShipOrbitTarget = (void *)0x05AC5B70; const void * RTTI_CombatBehaviorShipPass = (void *)0x05AC59C8; const void * RTTI_CombatBehaviorShipPathDestinationRef = (void *)0x05AC5198; const void * RTTI_CombatBehaviorShipPursue = (void *)0x05AC5AD8; const void * RTTI_CombatBehaviorShipScissors = (void *)0x05AC5758; const void * RTTI_CombatBehaviorShipSliceback = (void *)0x05AC58C0; const void * RTTI_CombatBehaviorShipSlideDodge = (void *)0x05AC5A60; const void * RTTI_CombatBehaviorShipSlideTurn = (void *)0x05AC5958; const void * RTTI_CombatBehaviorShipStationaryTracking = (void *)0x05AC5A98; const void * RTTI_CombatBehaviorShipStrafe = (void *)0x05AC5C18; const void * RTTI_CombatBehaviorShipStrafeTurn = (void *)0x05AC5828; const void * RTTI_CombatBehaviorShipTargetingModeAutopilot = (void *)0x05AACEE8; const void * RTTI_CombatBehaviorShipTurn = (void *)0x05AC5B08; const void * RTTI_CombatBehaviorTree = (void *)0x05AA9C88; const void * RTTI_CombatBehaviorTreeAcquireObject = (void *)0x05BF18E8; const void * RTTI_CombatBehaviorTreeAction = (void *)0x05BF2578; const void * RTTI_CombatBehaviorTreeActionEquipmentSelector = (void *)0x05BF25B0; const void * RTTI_CombatBehaviorTreeAvoidThreat = (void *)0x05BF43D0; const void * RTTI_CombatBehaviorTreeBlock = (void *)0x05BF7030; const void * RTTI_CombatBehaviorTreeBow = (void *)0x05C1C688; const void * RTTI_CombatBehaviorTreeChargingCloseMovement = (void *)0x05AB6BD0; const void * RTTI_CombatBehaviorTreeChargingMovement = (void *)0x05AB6AB0; const void * RTTI_CombatBehaviorTreeCheckUnreachableTarget = (void *)0x05C1AA48; const void * RTTI_CombatBehaviorTreeCloseMovement = (void *)0x05BF9330; const void * RTTI_CombatBehaviorTreeCombat = (void *)0x05AC67F0; const void * RTTI_CombatBehaviorTreeCreateContextNodeBase = (void *)0x05AA9BB0; const void * RTTI_CombatBehaviorTreeFindAttackLocation = (void *)0x05BFE1E0; const void * RTTI_CombatBehaviorTreeFindValidLocation = (void *)0x05C18D40; const void * RTTI_CombatBehaviorTreeFlankingMovement = (void *)0x05C04EB0; const void * RTTI_CombatBehaviorTreeFlee = (void *)0x05C0F9B0; const void * RTTI_CombatBehaviorTreeFlight = (void *)0x05C11750; const void * RTTI_CombatBehaviorTreeGrenade = (void *)0x05AB94C0; const void * RTTI_CombatBehaviorTreeGun = (void *)0x05ABA058; const void * RTTI_CombatBehaviorTreeHide = (void *)0x05C09C80; const void * RTTI_CombatBehaviorTreeLinkNode = (void *)0x05BF1790; const void * RTTI_CombatBehaviorTreeLowCombat = (void *)0x05C120B0; const void * RTTI_CombatBehaviorTreeMagic = (void *)0x05C12688; const void * RTTI_CombatBehaviorTreeMelee = (void *)0x05C12E78; const void * RTTI_CombatBehaviorTreeMovement = (void *)0x05C1BE70; const void * RTTI_CombatBehaviorTreeMovementRequest = (void *)0x05AB90C8; const void * RTTI_CombatBehaviorTreeNode = (void *)0x05AA9BF0; const void * RTTI_CombatBehaviorTreePlayerShipCombat = (void *)0x05AC6858; const void * RTTI_CombatBehaviorTreeRangedMovement = (void *)0x05C1CEF0; const void * RTTI_CombatBehaviorTreeRetreatClose = (void *)0x05ABAD38; const void * RTTI_CombatBehaviorTreeRetreatRanged = (void *)0x05ABABD8; const void * RTTI_CombatBehaviorTreeReturnToCombatArea = (void *)0x05C1AA08; const void * RTTI_CombatBehaviorTreeRootNode = (void *)0x05BF1758; const void * RTTI_CombatBehaviorTreeSearch = (void *)0x05C28D50; const void * RTTI_CombatBehaviorTreeShipAction = (void *)0x05ABDD18; const void * RTTI_CombatBehaviorTreeShipActionEquipmentSelector = (void *)0x05ABDD50; const void * RTTI_CombatBehaviorTreeShipCombat = (void *)0x05AC6820; const void * RTTI_CombatBehaviorTreeShipDetection = (void *)0x05AA9CB8; const void * RTTI_CombatBehaviorTreeShipFlee = (void *)0x05ABE230; const void * RTTI_CombatBehaviorTreeShipManeuvers = (void *)0x05AC5490; const void * RTTI_CombatBehaviorTreeShipMovement = (void *)0x05AC5FB0; const void * RTTI_CombatBehaviorTreeShipPowerAllocation = (void *)0x05AC6508; const void * RTTI_CombatBehaviorTreeSpaceshipWeapon = (void *)0x05AADAD8; const void * RTTI_CombatBehaviorTreeTargetingMode = (void *)0x05AACEB0; const void * RTTI_CombatBehaviorTreeThrow = (void *)0x05ABAB30; const void * RTTI_CombatBehaviorTreeUseCover = (void *)0x05C2C490; const void * RTTI_CombatBehaviorTreeUsePotion = (void *)0x05C2F890; const void * RTTI_CombatBehaviorTreeWrapperNode = (void *)0x05AAD930; const void * RTTI_CombatBehaviorWaitBehindCover = (void *)0x05C2C9C8; const void * RTTI_CombatBlackboardMemberBase = (void *)0x05AAD8F8; const void * RTTI_CombatChangePositionPathController = (void *)0x05C2EB78; const void * RTTI_CombatChargingSearchData = (void *)0x05AB87D0; const void * RTTI_CombatCluster = (void *)0x05BD8D00; const void * RTTI_CombatCoverLocation = (void *)0x05BD74D0; const void * RTTI_CombatCoverMap = (void *)0x05BD5AA8; const void * RTTI_CombatCoverSearch = (void *)0x05BD7568; const void * RTTI_CombatCoverSearchDebugData = (void *)0x05BD7688; const void * RTTI_CombatCoverSearchResult = (void *)0x05BD7500; const void * RTTI_CombatCoveredPath = (void *)0x05AAC9D0; const void * RTTI_CombatCoveredPathDebugData = (void *)0x05AC9700; const void * RTTI_CombatDebugManager = (void *)0x05A803A0; const void * RTTI_CombatDialogueDebugData = (void *)0x05BD8750; const void * RTTI_CombatDialogueManager = (void *)0x05BEB0D0; const void * RTTI_CombatDisableActionController = (void *)0x05C18C18; const void * RTTI_CombatDisableAimController = (void *)0x05BD3F10; const void * RTTI_CombatDisableCollisionController = (void *)0x05C18C50; const void * RTTI_CombatEffectSite = (void *)0x05B9EE68; const void * RTTI_CombatEncounterBIEvents__CombatEnounterMetricsManager = (void *)0x05B828A0; const void * RTTI_CombatEncounterMetrics = (void *)0x05B82C10; const void * RTTI_CombatEnterCoverPathController = (void *)0x05BD75C8; const void * RTTI_CombatFlankingSearchData = (void *)0x05C04658; const void * RTTI_CombatFleeAimController = (void *)0x05C0F980; const void * RTTI_CombatFollowTargetPathController = (void *)0x05C451A0; const void * RTTI_CombatGroupDetectionListener = (void *)0x05BD8D28; const void * RTTI_CombatInceptionDebugData = (void *)0x05BD8720; const void * RTTI_CombatInterface = (void *)0x05AAD1F8; const void * RTTI_CombatInventoryItem = (void *)0x05BD9E08; const void * RTTI_CombatInventoryItemComposite = (void *)0x05BD9DD0; const void * RTTI_CombatInventoryItemGrenade = (void *)0x05BD9CE0; const void * RTTI_CombatInventoryItemMagic = (void *)0x05BD9EC8; const void * RTTI_CombatInventoryItemMelee = (void *)0x05BD9CB0; const void * RTTI_CombatInventoryItemOneHandedBlock = (void *)0x05BD9E60; const void * RTTI_CombatInventoryItemRanged = (void *)0x05BD9C80; const void * RTTI_CombatInventoryItemShield = (void *)0x05BD9E98; const void * RTTI_CombatInventoryItemThrown = (void *)0x05BD9D18; const void * RTTI_CombatInventoryItemTorch = (void *)0x05BD9EF8; const void * RTTI_CombatMagicCaster = (void *)0x05BEAD40; const void * RTTI_CombatMagicCasterArmor = (void *)0x05BEA7B0; const void * RTTI_CombatMagicCasterBoundItem = (void *)0x05BEA708; const void * RTTI_CombatMagicCasterChameleon = (void *)0x05BEA740; const void * RTTI_CombatMagicCasterCloak = (void *)0x05BEA7E0; const void * RTTI_CombatMagicCasterDash = (void *)0x05BEAB10; const void * RTTI_CombatMagicCasterDisarm = (void *)0x05BEA810; const void * RTTI_CombatMagicCasterInvisibility = (void *)0x05BEA840; const void * RTTI_CombatMagicCasterLight = (void *)0x05BEA878; const void * RTTI_CombatMagicCasterOffensive = (void *)0x05BEAA38; const void * RTTI_CombatMagicCasterParalyze = (void *)0x05BEAAA8; const void * RTTI_CombatMagicCasterReanimate = (void *)0x05BEAAD8; const void * RTTI_CombatMagicCasterRestore = (void *)0x05BEA8A8; const void * RTTI_CombatMagicCasterScript = (void *)0x05BEAB40; const void * RTTI_CombatMagicCasterStagger = (void *)0x05BEA908; const void * RTTI_CombatMagicCasterSummon = (void *)0x05BEA938; const void * RTTI_CombatMagicCasterTargetEffect = (void *)0x05BEA778; const void * RTTI_CombatMagicCasterWard = (void *)0x05BEA8D8; const void * RTTI_CombatMagicEffectDataManager = (void *)0x05BEAB70; const void * RTTI_CombatMagicItemData = (void *)0x05BEABA8; const void * RTTI_CombatMagicItemSkillChecker = (void *)0x05BEAA70; const void * RTTI_CombatMaintainDistancePathController = (void *)0x05AACAD8; const void * RTTI_CombatManager = (void *)0x05BEB1C8; const void * RTTI_CombatMantlePathController = (void *)0x05BD7530; const void * RTTI_CombatMatchTargetAimController = (void *)0x05BD3FB0; const void * RTTI_CombatMeleeAimController = (void *)0x05BD4FC0; const void * RTTI_CombatMeleeAttackController = (void *)0x05C12B20; const void * RTTI_CombatMeleeDebugData = (void *)0x05C12AF0; const void * RTTI_CombatMovementRequestActivateTarget = (void *)0x05AB91D0; const void * RTTI_CombatMovementRequestFollowActor = (void *)0x05AB9198; const void * RTTI_CombatNavmeshCoverLocation = (void *)0x05BD7650; const void * RTTI_CombatNavmeshPathingDebugData = (void *)0x05AC9928; const void * RTTI_CombatObjectGlobalSharedSaveLoadManager = (void *)0x05B8A470; const void * RTTI_CombatPath = (void *)0x05AAD220; const void * RTTI_CombatPathBuilder = (void *)0x05AACD10; const void * RTTI_CombatPathBuilderCovered = (void *)0x05AC96D0; const void * RTTI_CombatPathBuilderNavmeshOpen = (void *)0x05AB3610; const void * RTTI_CombatPathBuilderNavmeshStandard = (void *)0x05AAA0D8; const void * RTTI_CombatPathBuilderNavmeshUtilities__CheckNavmeshPathFilter = (void *)0x05AC9B60; const void * RTTI_CombatPathBuilderSpaceStandard = (void *)0x05AAA1B0; const void * RTTI_CombatPathBuilderSpatialGraphOpen = (void *)0x05AB2B60; const void * RTTI_CombatPathBuilderSpatialGraphStandard = (void *)0x05AAA2B8; const void * RTTI_CombatPathBuilderTrackInfo = (void *)0x05AADDC0; const void * RTTI_CombatPathBuilderTracker = (void *)0x05AADD90; const void * RTTI_CombatPathDestinationAcquire = (void *)0x05AC4AD0; const void * RTTI_CombatPathDestinationActor = (void *)0x05AB8800; const void * RTTI_CombatPathDestinationBarrelRoll = (void *)0x05AC3B10; const void * RTTI_CombatPathDestinationBreak = (void *)0x05AC5258; const void * RTTI_CombatPathDestinationDirectlyToTarget = (void *)0x05AACF28; const void * RTTI_CombatPathDestinationDisengage = (void *)0x05AC43D8; const void * RTTI_CombatPathDestinationEvade = (void *)0x05AC3630; const void * RTTI_CombatPathDestinationFlee = (void *)0x05ABE268; const void * RTTI_CombatPathDestinationFollowActor = (void *)0x05C2F9F0; const void * RTTI_CombatPathDestinationLeadTurn = (void *)0x05AC34D0; const void * RTTI_CombatPathDestinationOrbitRef = (void *)0x05AC0EF8; const void * RTTI_CombatPathDestinationPursue = (void *)0x05AC1148; const void * RTTI_CombatPathDestinationRef = (void *)0x05AAC9A0; const void * RTTI_CombatPathDestinationRefs = (void *)0x05C45638; const void * RTTI_CombatPathDestinationRemainNear = (void *)0x05AC15D0; const void * RTTI_CombatPathDestinationSlideDodge = (void *)0x05AC47F0; const void * RTTI_CombatPathDestinationSlideTurn = (void *)0x05AC2B88; const void * RTTI_CombatPathDestinationStrafe = (void *)0x05AC0DD8; const void * RTTI_CombatPathDestinationStrafeTurn = (void *)0x05AC4140; const void * RTTI_CombatPathManager = (void *)0x05C2FB90; const void * RTTI_CombatPathingDebugData = (void *)0x05AC98F8; const void * RTTI_CombatPathingDelayedTweener = (void *)0x05C45208; const void * RTTI_CombatPathingRequest = (void *)0x05AAC800; const void * RTTI_CombatPathingRequestAdapter = (void *)0x05C30F48; const void * RTTI_CombatPathingRequestCovered = (void *)0x05AC9698; const void * RTTI_CombatPathingRequestDebugData = (void *)0x05C30F80; const void * RTTI_CombatPathingRequestMultiGoal = (void *)0x05C30FB8; const void * RTTI_CombatPathingRequestStandard = (void *)0x05AAC798; const void * RTTI_CombatPathingSearch = (void *)0x05AAA030; const void * RTTI_CombatPathingSearchArea = (void *)0x05AC97B0; const void * RTTI_CombatPathingTweener = (void *)0x05C451D8; const void * RTTI_CombatPositionMap = (void *)0x05ACA030; const void * RTTI_CombatPositionReservation = (void *)0x05AC9F68; const void * RTTI_CombatPositionTracker = (void *)0x05ACA128; const void * RTTI_CombatProjectileAimController = (void *)0x05BD3F48; const void * RTTI_CombatProjectileDebugData = (void *)0x05BD3F80; const void * RTTI_CombatQueuedEvent = (void *)0x05BAE920; const void * RTTI_CombatRangedMovementPathSpeedController = (void *)0x05ABAB60; const void * RTTI_CombatReservation = (void *)0x05AC58F8; const void * RTTI_CombatReservationMap = (void *)0x05ACA1C0; const void * RTTI_CombatSearchLockData = (void *)0x05C27268; const void * RTTI_CombatSearchMap2D = (void *)0x05AAF1F0; const void * RTTI_CombatSearchMap3D = (void *)0x05AAF240; const void * RTTI_CombatShipGenericPathController = (void *)0x05AC54C8; const void * RTTI_CombatShipPursueTargetPathController = (void *)0x05AC48A0; const void * RTTI_CombatSoftCoverLocation = (void *)0x05BD76C0; const void * RTTI_CombatSpatialGraphPathingDebugData = (void *)0x05ACA408; const void * RTTI_CombatStandardCoverLocation = (void *)0x05BD7590; const void * RTTI_CombatSuppressiveFireBehavior = (void *)0x05ACA8D0; const void * RTTI_CombatTargetLocation = (void *)0x05BEE7E8; const void * RTTI_CombatTargetLocationSearch = (void *)0x05BEE650; const void * RTTI_CombatTargetLocationSearchResult = (void *)0x05BEE7B0; const void * RTTI_CombatTargetMap = (void *)0x05BEE688; const void * RTTI_CombatTargetSelector = (void *)0x05BF0958; const void * RTTI_CombatTargetSelectorFixed = (void *)0x05BF08F0; const void * RTTI_CombatTargetSelectorPreferred = (void *)0x05BF08B8; const void * RTTI_CombatTargetSelectorRandom = (void *)0x05BF0920; const void * RTTI_CombatTargetSelectorSpaceship = (void *)0x05BF0848; const void * RTTI_CombatTargetSelectorStandard = (void *)0x05BF0880; const void * RTTI_CombatTargetSelectorWorkshopObject = (void *)0x05BF0808; const void * RTTI_CombatTeleportPathController = (void *)0x05ACAF08; const void * RTTI_CombatThreat = (void *)0x05BF1250; const void * RTTI_CombatThreatExplosion = (void *)0x05BF11F0; const void * RTTI_CombatThreatLOF = (void *)0x05BF10E8; const void * RTTI_CombatThreatMap = (void *)0x05BF1278; const void * RTTI_CombatThreatMelee = (void *)0x05BF1110; const void * RTTI_CombatThreatProjectile = (void *)0x05BF1220; const void * RTTI_CombatTrackTargetAimController = (void *)0x05BD4FF0; const void * RTTI_CombatTunnelPathController = (void *)0x05ACAED0; const void * RTTI_CombatTunnelPathingRequestData = (void *)0x05ACAE98; const void * RTTI_CombatViewController = (void *)0x05ACB5D8; const void * RTTI_CombatViewControllerGlance = (void *)0x05ACB638; const void * RTTI_CombatViewControllerPath = (void *)0x05ACB608; const void * RTTI_CombatViewControllerStandard = (void *)0x05ACB5A0; const void * RTTI_CommandEffect = (void *)0x05B7EF00; const void * RTTI_CommandSummonedEffect = (void *)0x05B7EF28; const void * RTTI_CompactingStore__MoveCallback = (void *)0x05C9CB98; const void * RTTI_CompactingStore__NoopMoveCallback = (void *)0x05C9CB60; const void * RTTI_CompressedArchiveFile = (void *)0x05D0BF00; const void * RTTI_ConditionVariable = (void *)0x05C985A0; const void * RTTI_ConeProjectile = (void *)0x05AAFB00; const void * RTTI_ConfirmNewWithModsCallback = (void *)0x05B037B0; const void * RTTI_ConfirmResetCallback = (void *)0x05AE3C98; const void * RTTI_ConnectionTypeCallback = (void *)0x05B787F0; const void * RTTI_Console = (void *)0x05C49420; const void * RTTI_ConsoleEngine = (void *)0x05C49520; const void * RTTI_ConsoleLog = (void *)0x05C497B8; const void * RTTI_ConsoleNativeUIMenu = (void *)0x05C49888; const void * RTTI_ContainerMenu = (void *)0x05C4C828; const void * RTTI_ContainerMenuDataModel = (void *)0x05AF0F88; const void * RTTI_ContainerMenuDataModel__ContainerMenuEventShuttle = (void *)0x05AF0FC0; const void * RTTI_ContainerMenu_CloseMenu = (void *)0x05C4C728; const void * RTTI_ContainerMenu_HideModel = (void *)0x05C4CAA0; const void * RTTI_ContainerMenu_Jettison = (void *)0x05C4C7A8; const void * RTTI_ContainerMenu_LoadModel = (void *)0x05C4C920; const void * RTTI_ContainerMenu_OpenRefuelMenu = (void *)0x05C4CA18; const void * RTTI_ContainerMenu_SetMouseOverModel = (void *)0x05C4C898; const void * RTTI_ContainerMenu_TakeAll = (void *)0x05C4C998; const void * RTTI_ContainerMenu_ToggleEquip = (void *)0x05C4C6A8; const void * RTTI_ContainerMenu_TransferAllResources = (void *)0x05C4C610; const void * RTTI_ContainerMenu_TransferItem = (void *)0x05C4C580; const void * RTTI_ControlMap = (void *)0x05C9DAF0; const void * RTTI_ControlMapDataModel = (void *)0x05CD4F00; const void * RTTI_ControllerInternalState = (void *)0x05CF5C78; const void * RTTI_ConvertBoneToVar = (void *)0x05C98F90; const void * RTTI_ConvertBoneToVarInstance = (void *)0x05C98FB8; const void * RTTI_CopyBoneWeights = (void *)0x05C99970; const void * RTTI_CopyBoneWeightsInstance = (void *)0x05C99998; const void * RTTI_CraftingInfoCardDataModel = (void *)0x05AFEC78; const void * RTTI_CraftingInfoCardDataModel__CraftingItemInfoCardEventShuttle = (void *)0x05AFED80; const void * RTTI_CraftingMenuCommon = (void *)0x05AF3EE8; const void * RTTI_CraftingMenu_CraftItem = (void *)0x05AF4F40; const void * RTTI_CraftingMenu_ExitBench = (void *)0x05AF4D18; const void * RTTI_CraftingMenu_Highlight3D = (void *)0x05B75DD8; const void * RTTI_CraftingMenu_InstallMod = (void *)0x05AF4FB8; const void * RTTI_CraftingMenu_RenameItem = (void *)0x05AF3E70; const void * RTTI_CraftingMenu_RevertHighlight = (void *)0x05B75D50; const void * RTTI_CraftingMenu_RevertedModdedItem = (void *)0x05AF3DE8; const void * RTTI_CraftingMenu_SelectedMod = (void *)0x05AF51E0; const void * RTTI_CraftingMenu_SelectedModSlot = (void *)0x05AF5150; const void * RTTI_CraftingMenu_SelectedModdableItem = (void *)0x05AF50C0; const void * RTTI_CraftingMenu_SelectedRecipe = (void *)0x05AF4EB0; const void * RTTI_CraftingMenu_SetInspectControls = (void *)0x05AF4D98; const void * RTTI_CraftingMenu_ToggleTracking = (void *)0x05AF4E20; const void * RTTI_CraftingMenu_ViewingModdableItem = (void *)0x05AF5038; const void * RTTI_CraftingRecipesDataModel = (void *)0x05AFEFB0; const void * RTTI_CraftingRecipesDataModel__CraftingRecipesEventShuttle = (void *)0x05AFEF60; const void * RTTI_CraftingRequirementsDataModel = (void *)0x05AF4698; const void * RTTI_CraftingRequirementsDataModel__CraftingRequirementsEventShuttle = (void *)0x05AF46D0; const void * RTTI_CreateNavigationGridTask = (void *)0x05A13638; const void * RTTI_CreationData = (void *)0x05AD83E8; const void * RTTI_CreationRendererPrivate__AddProbeBorderRenderPass = (void *)0x05D34530; const void * RTTI_CreationRendererPrivate__AddScatteringOrderRenderPass = (void *)0x05D40AE0; const void * RTTI_CreationRendererPrivate__AllocateSkinningBuffersRenderPass = (void *)0x05D4D9D0; const void * RTTI_CreationRendererPrivate__ApiAbstractionLayer__BindlessArray = (void *)0x05D35AB0; const void * RTTI_CreationRendererPrivate__ApiAbstractionLayer__BindlessBufferArray = (void *)0x05D35B90; const void * RTTI_CreationRendererPrivate__ApiAbstractionLayer__BindlessTextureArray = (void *)0x05D359C0; const void * RTTI_CreationRendererPrivate__ApiAbstractionLayer__CmdPool = (void *)0x05D35970; const void * RTTI_CreationRendererPrivate__ApiAbstractionLayer__CmdPoolDx12 = (void *)0x05D35920; const void * RTTI_CreationRendererPrivate__ApiAbstractionLayer__IDynamicResolution = (void *)0x05D391E0; const void * RTTI_CreationRendererPrivate__ApiAbstractionLayer__PipelineDx12 = (void *)0x05D46C90; const void * RTTI_CreationRendererPrivate__ApiAbstractionLayer__ResourceUploader__Impl = (void *)0x05D357D0; const void * RTTI_CreationRendererPrivate__ArtValidationRenderPass = (void *)0x05D4A830; const void * RTTI_CreationRendererPrivate__AtmosphericScatteringRenderGraphBase = (void *)0x05D404E0; const void * RTTI_CreationRendererPrivate__AtmosphericScatteringRenderPass = (void *)0x05D40540; const void * RTTI_CreationRendererPrivate__BRDFIntegrationRenderPass = (void *)0x05D2AC10; const void * RTTI_CreationRendererPrivate__BakeSHBasisRenderPass = (void *)0x05D2ABC0; const void * RTTI_CreationRendererPrivate__BinkMovieDrawRenderPass = (void *)0x05D26A20; const void * RTTI_CreationRendererPrivate__BinkMovieSubgraphRenderPass = (void *)0x05D26A70; const void * RTTI_CreationRendererPrivate__BinkUpdatePlanesRenderPass = (void *)0x05D26AC0; const void * RTTI_CreationRendererPrivate__BlendAllReflectionProbesRenderPass = (void *)0x05D49F20; const void * RTTI_CreationRendererPrivate__BlendProbeRayRenderPass = (void *)0x05D34580; const void * RTTI_CreationRendererPrivate__BlendReflectionProbeRenderPass = (void *)0x05D49F80; const void * RTTI_CreationRendererPrivate__BlendedDecalRenderPass = (void *)0x05D4A920; const void * RTTI_CreationRendererPrivate__BlendedDecal_OptionalRenderPass = (void *)0x05D4A8D0; const void * RTTI_CreationRendererPrivate__BlendedDecal_OverwriteMaskRenderPass = (void *)0x05D4A970; const void * RTTI_CreationRendererPrivate__BlendedDecalsRenderPass = (void *)0x05D4A880; const void * RTTI_CreationRendererPrivate__BlurHeightfieldHorizontalRenderPass = (void *)0x05D3E1D0; const void * RTTI_CreationRendererPrivate__BlurHeightfieldVerticalRenderPass = (void *)0x05D3E180; const void * RTTI_CreationRendererPrivate__BlurSpaceGlareRenderPass = (void *)0x05D38950; const void * RTTI_CreationRendererPrivate__BlurTerrainHeightClipmapHorizontalRenderPass = (void *)0x05D4B900; const void * RTTI_CreationRendererPrivate__BlurTerrainHeightClipmapVerticalRenderPass = (void *)0x05D4B8A0; const void * RTTI_CreationRendererPrivate__BlurredMipChain_idTech7RenderPass = (void *)0x05D4A9D0; const void * RTTI_CreationRendererPrivate__BlurredMipchainSetup_idTech7RenderPass = (void *)0x05D4AAC0; const void * RTTI_CreationRendererPrivate__BruteForceRaymarchingRenderPass = (void *)0x05D40760; const void * RTTI_CreationRendererPrivate__BufferReadbackRenderPass = (void *)0x05D49800; const void * RTTI_CreationRendererPrivate__BuildAccelerationStructureRenderPass = (void *)0x05D4AC20; const void * RTTI_CreationRendererPrivate__CRScaleform__CRScaleformThreadCommandQueue = (void *)0x05D30930; const void * RTTI_CreationRendererPrivate__CelestialBodiesGeometryRenderPass = (void *)0x05D48E00; const void * RTTI_CreationRendererPrivate__CelestialBodiesLightingAndCompositeRenderPass = (void *)0x05D48CF0; const void * RTTI_CreationRendererPrivate__CelestialBodiesMultiLayerDecalRenderPass = (void *)0x05D48D50; const void * RTTI_CreationRendererPrivate__CelestialBodiesPrepareRenderPass = (void *)0x05D48E50; const void * RTTI_CreationRendererPrivate__CelestialBodiesRenderPass = (void *)0x05D48DB0; const void * RTTI_CreationRendererPrivate__ChargenMorphService = (void *)0x05D45720; const void * RTTI_CreationRendererPrivate__ClearCubemapCaptureArrayRenderPass = (void *)0x05D49C40; const void * RTTI_CreationRendererPrivate__ClearFallbackCubemapRenderPass = (void *)0x05D2AD00; const void * RTTI_CreationRendererPrivate__ClearRenderGraphOutputRenderPass = (void *)0x05D436C0; const void * RTTI_CreationRendererPrivate__ClearShadowMapGroupRenderPass = (void *)0x05D42FE0; const void * RTTI_CreationRendererPrivate__ClearShadowMapsRenderPass = (void *)0x05D42F90; const void * RTTI_CreationRendererPrivate__ClearSkyCubemapHistogramRenderPass = (void *)0x05D387F0; const void * RTTI_CreationRendererPrivate__ClearThinDeferredGBufferRenderPass = (void *)0x05D49CA0; const void * RTTI_CreationRendererPrivate__CloudCardsRenderPass = (void *)0x05D48EE0; const void * RTTI_CreationRendererPrivate__CloudLayersRenderPass = (void *)0x05D49090; const void * RTTI_CreationRendererPrivate__CloudsHalfResCompositeRenderPass = (void *)0x05D49040; const void * RTTI_CreationRendererPrivate__CloudsRenderPass = (void *)0x05D48F28; const void * RTTI_CreationRendererPrivate__ColorGradingMergeRenderPass = (void *)0x05D44580; const void * RTTI_CreationRendererPrivate__CompositeAdditiveHalfResOITParticlesRenderPass = (void *)0x05D34CF0; const void * RTTI_CreationRendererPrivate__CompositeHalfResOITParticlesRenderPass = (void *)0x05D34DA0; const void * RTTI_CreationRendererPrivate__CompositeMomentBasedOITRenderPass = (void *)0x05D34D50; const void * RTTI_CreationRendererPrivate__ComputeLightInfluenceRenderPass = (void *)0x05D4C540; const void * RTTI_CreationRendererPrivate__ComputeMinMaxShadowMapLevelRenderPass = (void *)0x05D40200; const void * RTTI_CreationRendererPrivate__ComputeMinMaxShadowMapRenderPass = (void *)0x05D40260; const void * RTTI_CreationRendererPrivate__ComputeSHCoefRenderPass = (void *)0x05D2AC60; const void * RTTI_CreationRendererPrivate__ComputeScatterRadianceRenderPass = (void *)0x05D40A40; const void * RTTI_CreationRendererPrivate__ComputeScatteringOrderRenderPass = (void *)0x05D40A90; const void * RTTI_CreationRendererPrivate__ComputeSkyCubemapHistogramRenderpass = (void *)0x05D384D0; const void * RTTI_CreationRendererPrivate__ComputeSkyCubemapLuminanceDataRenderpass = (void *)0x05D38590; const void * RTTI_CreationRendererPrivate__ContrastAdaptiveSharpeningRenderPass = (void *)0x05D28470; const void * RTTI_CreationRendererPrivate__CopyAtmosScatteringRenderPass = (void *)0x05D386A0; const void * RTTI_CreationRendererPrivate__CopyAtmosScatteringWithStarfieldRenderPass = (void *)0x05D38530; const void * RTTI_CreationRendererPrivate__CopyHighOrderScatteringLUTRenderPass = (void *)0x05D40920; const void * RTTI_CreationRendererPrivate__CopyIntegrationToTempLUTRenderPass = (void *)0x05D40B30; const void * RTTI_CreationRendererPrivate__CopyLightInfluenceRenderPass = (void *)0x05D4C4F0; const void * RTTI_CreationRendererPrivate__CopyRenderPass = (void *)0x05D43710; const void * RTTI_CreationRendererPrivate__CopyScreenSizeToReadBackRenderPass = (void *)0x05D4AF10; const void * RTTI_CreationRendererPrivate__CopySectorIntoHeightfieldRenderPass = (void *)0x05D47210; const void * RTTI_CreationRendererPrivate__CopyToColorWithoutHighlightRenderPass = (void *)0x05D43510; const void * RTTI_CreationRendererPrivate__CopyToRenderGraphOutputRenderPass = (void *)0x05D43750; const void * RTTI_CreationRendererPrivate__CopyWithShaderLetterboxedRenderPass = (void *)0x05D435D0; const void * RTTI_CreationRendererPrivate__CopyWithShaderRenderPass = (void *)0x05D437A0; const void * RTTI_CreationRendererPrivate__CubemapBackgroundRenderPass = (void *)0x05D4ACD0; const void * RTTI_CreationRendererPrivate__DLSSFrameGenerationRenderPass = (void *)0x05D4B1B0; const void * RTTI_CreationRendererPrivate__DLSSFrameGenerationUIRenderPass = (void *)0x05D4B200; const void * RTTI_CreationRendererPrivate__DLSSProduceInputsRenderPass = (void *)0x05D4B4C0; const void * RTTI_CreationRendererPrivate__DLSSUpscaleRenderPass = (void *)0x05D44620; const void * RTTI_CreationRendererPrivate__DeDitherRenderPass = (void *)0x05D4AD20; const void * RTTI_CreationRendererPrivate__DeferredCompositeRenderPass = (void *)0x05D4AD70; const void * RTTI_CreationRendererPrivate__DeferredGBufferOptionalRenderPass = (void *)0x05D4AE70; const void * RTTI_CreationRendererPrivate__DeferredGBufferRenderPass = (void *)0x05D4ADC0; const void * RTTI_CreationRendererPrivate__DeferredGBufferTranslucentRenderPass = (void *)0x05D4AE10; const void * RTTI_CreationRendererPrivate__DepthDownsampleAvgRenderPass = (void *)0x05D48370; const void * RTTI_CreationRendererPrivate__DepthDownsampleRenderPass = (void *)0x05D483C0; const void * RTTI_CreationRendererPrivate__DepthGraphRenderPass = (void *)0x05D4AEC0; const void * RTTI_CreationRendererPrivate__DepthMVFixupRenderPass = (void *)0x05D45BE0; const void * RTTI_CreationRendererPrivate__DepthMVFixupStandardRenderPass = (void *)0x05D45FF0; const void * RTTI_CreationRendererPrivate__DepthOfFieldBlurRenderPass = (void *)0x05D4F200; const void * RTTI_CreationRendererPrivate__DepthOfFieldCoCBlurRenderPass = (void *)0x05D4F1B0; const void * RTTI_CreationRendererPrivate__DepthOfFieldCoCRenderPass = (void *)0x05D4F300; const void * RTTI_CreationRendererPrivate__DepthOfFieldCompositeRenderPass = (void *)0x05D4F350; const void * RTTI_CreationRendererPrivate__DepthOfFieldDownsampleRenderPass = (void *)0x05D4F3A0; const void * RTTI_CreationRendererPrivate__DepthOfFieldFloodFillBlurRenderPass = (void *)0x05D4F250; const void * RTTI_CreationRendererPrivate__DepthOfFieldHTileMaskRenderPass = (void *)0x05D4F3F0; const void * RTTI_CreationRendererPrivate__DepthOfFieldSubGraph = (void *)0x05D4AF70; const void * RTTI_CreationRendererPrivate__DepthOfFieldTAARenderPass = (void *)0x05D4F440; const void * RTTI_CreationRendererPrivate__DepthOfFieldTapBlurRenderPass = (void *)0x05D4F2B0; const void * RTTI_CreationRendererPrivate__DepthPrepassRenderPass = (void *)0x05D4AFC0; const void * RTTI_CreationRendererPrivate__DistantAtmospheresRenderPass = (void *)0x05D34280; const void * RTTI_CreationRendererPrivate__DistortionBaseRenderPass = (void *)0x05D4B060; const void * RTTI_CreationRendererPrivate__DistortionCalculateColorRenderPass = (void *)0x05D4B100; const void * RTTI_CreationRendererPrivate__DistortionOutputRenderPass = (void *)0x05D4B0B0; const void * RTTI_CreationRendererPrivate__DistortionParticlesRenderPass = (void *)0x05D480C0; const void * RTTI_CreationRendererPrivate__DistortionRenderPass = (void *)0x05D4B160; const void * RTTI_CreationRendererPrivate__DoubleVisionRenderPass = (void *)0x05D4F860; const void * RTTI_CreationRendererPrivate__DownsampleHeightfieldRenderPass = (void *)0x05D3E040; const void * RTTI_CreationRendererPrivate__DownsampleSpaceGlareRenderPass = (void *)0x05D38850; const void * RTTI_CreationRendererPrivate__DrawDistantAtmospheresRenderPass = (void *)0x05D34330; const void * RTTI_CreationRendererPrivate__DrawDistantAtmospheresTransparencyRenderPass = (void *)0x05D342D0; const void * RTTI_CreationRendererPrivate__DrawGlobalDirtOverlayRenderPass = (void *)0x05D4BC00; const void * RTTI_CreationRendererPrivate__DrawProjectedDecalsRenderPass = (void *)0x05D4CA00; const void * RTTI_CreationRendererPrivate__DrawProjectedDecals_HighlightMaskRenderPass = (void *)0x05D4C920; const void * RTTI_CreationRendererPrivate__DrawProjectedDecals_OptionalRenderPass = (void *)0x05D4CA50; const void * RTTI_CreationRendererPrivate__DynamicResolution = (void *)0x05D39240; const void * RTTI_CreationRendererPrivate__DynamicShadowDepthPyramidRenderPass = (void *)0x05D4D470; const void * RTTI_CreationRendererPrivate__DynamicShadowDrawMeshInstanceSubGraph = (void *)0x05D4D7D0; const void * RTTI_CreationRendererPrivate__DynamicShadowDrawSubGraph = (void *)0x05D4D360; const void * RTTI_CreationRendererPrivate__DynamicShadowFalseNegativesDrawSubGraph = (void *)0x05D42F30; const void * RTTI_CreationRendererPrivate__DynamicShadowFilterFocusGeometriesRenderPass = (void *)0x05D4D6C0; const void * RTTI_CreationRendererPrivate__DynamicShadowFrustumMaskRenderPass = (void *)0x05D4D580; const void * RTTI_CreationRendererPrivate__DynamicShadowGeometryCullingRenderPass = (void *)0x05D4D4D0; const void * RTTI_CreationRendererPrivate__DynamicShadowGeometryOffsetsRenderPass = (void *)0x05D4D180; const void * RTTI_CreationRendererPrivate__DynamicShadowGraph = (void *)0x05D4D130; const void * RTTI_CreationRendererPrivate__DynamicShadowMapBarriersRenderPass = (void *)0x05D4D410; const void * RTTI_CreationRendererPrivate__DynamicShadowMaterialIndexOffsetsRenderPass = (void *)0x05D4D3B0; const void * RTTI_CreationRendererPrivate__DynamicShadowMeshletCullingFalseNegativesRenderPass = (void *)0x05D4D650; const void * RTTI_CreationRendererPrivate__DynamicShadowMeshletCullingRenderPass = (void *)0x05D4D240; const void * RTTI_CreationRendererPrivate__DynamicShadowMeshletListBuildFalseNegativesRenderPass = (void *)0x05D4D5E0; const void * RTTI_CreationRendererPrivate__DynamicShadowMeshletListBuildRenderPass = (void *)0x05D4D720; const void * RTTI_CreationRendererPrivate__DynamicShadowPrepareDrawParamsRenderPass = (void *)0x05D4D1E0; const void * RTTI_CreationRendererPrivate__DynamicShadowPrepareGroupedDrawsRenderPass = (void *)0x05D4D300; const void * RTTI_CreationRendererPrivate__DynamicShadowSceneSetupRenderPass = (void *)0x05D4D830; const void * RTTI_CreationRendererPrivate__DynamicShadowTriangleCullingRenderPass = (void *)0x05D4D2A0; const void * RTTI_CreationRendererPrivate__DynamicShadowWithFalseNegativesGraph = (void *)0x05D4D070; const void * RTTI_CreationRendererPrivate__DynamicShadowsMeshInstancePatchPrepareArgsRenderPass = (void *)0x05D43950; const void * RTTI_CreationRendererPrivate__EmptyRenderPass = (void *)0x05D43628; const void * RTTI_CreationRendererPrivate__EndMultiscatteringIntegrationRenderPass = (void *)0x05D408C0; const void * RTTI_CreationRendererPrivate__EpipolarSamplingRefineSampleLocationsRenderPass = (void *)0x05D407B0; const void * RTTI_CreationRendererPrivate__EpipolarSamplingRenderCoordinateTextureRenderPass = (void *)0x05D409E0; const void * RTTI_CreationRendererPrivate__EpipolarSamplingRenderPass = (void *)0x05D405F0; const void * RTTI_CreationRendererPrivate__EpipolarSamplingRenderSliceEndPointsRenderPass = (void *)0x05D40980; const void * RTTI_CreationRendererPrivate__FSR2ProduceInputsRenderPass = (void *)0x05D4B510; const void * RTTI_CreationRendererPrivate__FSR2UpscaleRenderPass = (void *)0x05D4B560; const void * RTTI_CreationRendererPrivate__FSR3FrameInterpolationRenderPass = (void *)0x05D44710; const void * RTTI_CreationRendererPrivate__FSR3ProduceUIInputRenderPass = (void *)0x05D446C0; const void * RTTI_CreationRendererPrivate__FSR3UpscaleRenderPass = (void *)0x05D4B5B0; const void * RTTI_CreationRendererPrivate__FaceCustomizationCopyMipChainToOutputRenderPass = (void *)0x05D4B2A0; const void * RTTI_CreationRendererPrivate__FaceCustomizationMipChainRenderPass = (void *)0x05D4B360; const void * RTTI_CreationRendererPrivate__FaceCustomizationMipChainRoughnessRenderPass = (void *)0x05D4B300; const void * RTTI_CreationRendererPrivate__FaceCustomizationProduceMipChainRenderPass = (void *)0x05D4B3C0; const void * RTTI_CreationRendererPrivate__FaceCustomizationRenderPass = (void *)0x05D4B250; const void * RTTI_CreationRendererPrivate__FillCullingDataRenderPass = (void *)0x05D4BD60; const void * RTTI_CreationRendererPrivate__FillHeightfieldCullingDataRenderPass = (void *)0x05D47310; const void * RTTI_CreationRendererPrivate__FilmGrainRenderPass = (void *)0x05D4FB90; const void * RTTI_CreationRendererPrivate__FilterCulledGeometriesRenderPass = (void *)0x05D4CDC0; const void * RTTI_CreationRendererPrivate__FilterHeightfieldRenderPass = (void *)0x05D3E130; const void * RTTI_CreationRendererPrivate__FirstPersonDepthRenderPass = (void *)0x05D4B010; const void * RTTI_CreationRendererPrivate__FixupIndirectArgsRenderPass = (void *)0x05D4D8D0; const void * RTTI_CreationRendererPrivate__FixupSkinningIndirectArgsRenderPass = (void *)0x05D4D970; const void * RTTI_CreationRendererPrivate__FlattenTextureScreensizeRenderPass = (void *)0x05D4BCA0; const void * RTTI_CreationRendererPrivate__ForwardBlendedAlphaOutputRenderPass = (void *)0x05D45B80; const void * RTTI_CreationRendererPrivate__ForwardBlendedCopyToDestRenderPass = (void *)0x05D45F90; const void * RTTI_CreationRendererPrivate__ForwardBlendedCorrectionRenderPass = (void *)0x05D45E70; const void * RTTI_CreationRendererPrivate__ForwardBlendedFullResAlwaysRenderPass = (void *)0x05D45A70; const void * RTTI_CreationRendererPrivate__ForwardBlendedMainFullResRenderPass = (void *)0x05D45A10; const void * RTTI_CreationRendererPrivate__ForwardBlendedMainHalfResRenderPass = (void *)0x05D45E10; const void * RTTI_CreationRendererPrivate__ForwardBlendedRenderPass = (void *)0x05D45B30; const void * RTTI_CreationRendererPrivate__ForwardRenderPass = (void *)0x05D45980; const void * RTTI_CreationRendererPrivate__FrameInitRenderPass = (void *)0x05D4B420; const void * RTTI_CreationRendererPrivate__FrameInterpolationSubGraph = (void *)0x05D43160; const void * RTTI_CreationRendererPrivate__FrameRenderGraph = (void *)0x05D4E5B0; const void * RTTI_CreationRendererPrivate__FrameSetupRenderPass = (void *)0x05D4B470; const void * RTTI_CreationRendererPrivate__FullScreenBlurCompositeRenderPass = (void *)0x05D4F8B0; const void * RTTI_CreationRendererPrivate__FullScreenBlurRenderPass = (void *)0x05D4F950; const void * RTTI_CreationRendererPrivate__FullScreenColorRenderPass = (void *)0x05D4FC30; const void * RTTI_CreationRendererPrivate__FullScreenColor_AlphaFillRenderPass = (void *)0x05D4FCD0; const void * RTTI_CreationRendererPrivate__FullScreenColor_BloomRenderPass = (void *)0x05D4FC80; const void * RTTI_CreationRendererPrivate__FullScreenColor_CubemapRenderPass = (void *)0x05D4FD90; const void * RTTI_CreationRendererPrivate__FullScreenColor_DefaultRenderPass = (void *)0x05D4FBE0; const void * RTTI_CreationRendererPrivate__FullScreenColor_MonochromeRenderPass = (void *)0x05D4FD30; const void * RTTI_CreationRendererPrivate__FullScreenColor_OverlayRenderPass = (void *)0x05D4FDE0; const void * RTTI_CreationRendererPrivate__FullScreenDownsampleRenderPass = (void *)0x05D4F9A0; const void * RTTI_CreationRendererPrivate__FullScreenScanlineRenderPass = (void *)0x05D4B650; const void * RTTI_CreationRendererPrivate__FullScreenTapBlurRenderPass = (void *)0x05D4F900; const void * RTTI_CreationRendererPrivate__GBufferOverviewRenderPass = (void *)0x05D43670; const void * RTTI_CreationRendererPrivate__GPUDataInspectorConvertValuesRenderPass = (void *)0x05D4BEA0; const void * RTTI_CreationRendererPrivate__GPUDataInspectorDrawQuadsRenderPass = (void *)0x05D4BF70; const void * RTTI_CreationRendererPrivate__GPUDataInspectorGenerateIndirectDispatchRenderPass = (void *)0x05D4BF00; const void * RTTI_CreationRendererPrivate__GPUDataInspectorGenerateIndirectDrawRenderPass = (void *)0x05D4BFD0; const void * RTTI_CreationRendererPrivate__GPUDataInspectorRenderPass = (void *)0x05D4BE50; const void * RTTI_CreationRendererPrivate__GPUDebugGeometryDrawLinesRenderPass = (void *)0x05D3F9F0; const void * RTTI_CreationRendererPrivate__GPUDebugGeometryPrepareLinesRenderPass = (void *)0x05D3FA50; const void * RTTI_CreationRendererPrivate__GPUDebugGeometryPrintfDraw3DRenderPass = (void *)0x05D3F8D0; const void * RTTI_CreationRendererPrivate__GPUDebugGeometryPrintfPrepareBuffersRenderPass = (void *)0x05D3F930; const void * RTTI_CreationRendererPrivate__GPUDebugGeometryRenderPass = (void *)0x05D3F880; const void * RTTI_CreationRendererPrivate__GPUDebugGeometryResetBuffersRenderPass = (void *)0x05D3F990; const void * RTTI_CreationRendererPrivate__GalaxyStateStarsRenderPass = (void *)0x05D4B6A0; const void * RTTI_CreationRendererPrivate__GatherGeometryInstancesRenderPass = (void *)0x05D37810; const void * RTTI_CreationRendererPrivate__GatherHighlightsRenderPass = (void *)0x05D43370; const void * RTTI_CreationRendererPrivate__GatherIndirectRenderPass = (void *)0x05D2AD50; const void * RTTI_CreationRendererPrivate__GatherLightsRenderPass = (void *)0x05D4B6F0; const void * RTTI_CreationRendererPrivate__GatherNodeExtraVisualDataRenderPass = (void *)0x05D4B740; const void * RTTI_CreationRendererPrivate__GatherTransformsRenderPass = (void *)0x05D3FAB0; const void * RTTI_CreationRendererPrivate__GenerateDepthPyramidBaseRenderPass = (void *)0x05D4B7A0; const void * RTTI_CreationRendererPrivate__GenerateDepthPyramidRenderPass = (void *)0x05D4B800; const void * RTTI_CreationRendererPrivate__GenerateFogMapRenderPass = (void *)0x05D4B850; const void * RTTI_CreationRendererPrivate__GenerateGeometryInstanceMaskRenderPass = (void *)0x05D4BD00; const void * RTTI_CreationRendererPrivate__GenerateShadowDepthPyramidRenderPass = (void *)0x05D4CF60; const void * RTTI_CreationRendererPrivate__GenerateShadowDepthPyramidWithMaskRenderPass = (void *)0x05D4D010; const void * RTTI_CreationRendererPrivate__GeometryCullingRenderPass = (void *)0x05D4BE00; const void * RTTI_CreationRendererPrivate__GeometryCullingShadowsRenderPass = (void *)0x05D4BDB0; const void * RTTI_CreationRendererPrivate__GeometryParticleBatchDepthRenderPass = (void *)0x05D434B0; const void * RTTI_CreationRendererPrivate__GeometryParticleBatchRenderPass = (void *)0x05D4B960; const void * RTTI_CreationRendererPrivate__GeometryRenderPass = (void *)0x05D459C0; const void * RTTI_CreationRendererPrivate__GlobalDirtOverlayRenderPass = (void *)0x05D4BC50; const void * RTTI_CreationRendererPrivate__GroupedDynamicShadowMapRenderPass = (void *)0x05D4D780; const void * RTTI_CreationRendererPrivate__HDRColorGradingMergeRenderPass = (void *)0x05D445D0; const void * RTTI_CreationRendererPrivate__HDRCompositeRenderPass = (void *)0x05D272A0; const void * RTTI_CreationRendererPrivate__HDRHistogramClearRenderPass = (void *)0x05D272F0; const void * RTTI_CreationRendererPrivate__HDRHistogramReadLightAdaptRenderPass = (void *)0x05D273E0; const void * RTTI_CreationRendererPrivate__HDRSubGraph = (void *)0x05D27438; const void * RTTI_CreationRendererPrivate__HeightFieldRenderPass = (void *)0x05D472C0; const void * RTTI_CreationRendererPrivate__HeightFieldSubGraphRenderPass = (void *)0x05D46EA0; const void * RTTI_CreationRendererPrivate__HeightfieldSystemRenderPass = (void *)0x05D46EF0; const void * RTTI_CreationRendererPrivate__HighlightMaskRenderPass = (void *)0x05D4C030; const void * RTTI_CreationRendererPrivate__HighlightPrepareRenderPass = (void *)0x05D4C0D0; const void * RTTI_CreationRendererPrivate__HighlightRenderPass = (void *)0x05D4C080; const void * RTTI_CreationRendererPrivate__ImGuiEventHandler = (void *)0x05D496D0; const void * RTTI_CreationRendererPrivate__ImageCaptureData = (void *)0x05D10DC0; const void * RTTI_CreationRendererPrivate__ImageCaptureHDR_CopyRenderTargetRenderPass = (void *)0x05D4C190; const void * RTTI_CreationRendererPrivate__ImageCapture_CopyRenderTargetRenderPass = (void *)0x05D4C1F0; const void * RTTI_CreationRendererPrivate__ImageCapture_CopyRenderTarget_UseDepthAsAlphaRenderPass = (void *)0x05D4C120; const void * RTTI_CreationRendererPrivate__ImageCapture_IconGenerationRenderPass = (void *)0x05D43570; const void * RTTI_CreationRendererPrivate__ImageProcessCreateResourceMapRenderPass = (void *)0x05D4C250; const void * RTTI_CreationRendererPrivate__ImageProcessEdgeDetectionRenderPass = (void *)0x05D4C2B0; const void * RTTI_CreationRendererPrivate__ImageProcessMedianBlurRenderPass = (void *)0x05D4C310; const void * RTTI_CreationRendererPrivate__ImageProcessNearestNeighborUpscaleRenderPass = (void *)0x05D4FB30; const void * RTTI_CreationRendererPrivate__ImageProcessRenderGraph = (void *)0x05D4E5F0; const void * RTTI_CreationRendererPrivate__IndirectRenderPass = (void *)0x05D2ADF0; const void * RTTI_CreationRendererPrivate__IndirectSetupRenderPass = (void *)0x05D2ADA0; const void * RTTI_CreationRendererPrivate__InitializeInscatterOrderRenderPass = (void *)0x05D40CA0; const void * RTTI_CreationRendererPrivate__InitializeMinMaxShadowMapRenderPass = (void *)0x05D40480; const void * RTTI_CreationRendererPrivate__InjectDistantAtmosphereLUTRenderPass = (void *)0x05D406A0; const void * RTTI_CreationRendererPrivate__InjectMotionVectorHistoryCurrentDynamicResolutionRenderPass = (void *)0x05D432A0; const void * RTTI_CreationRendererPrivate__InjectPreviousDepthBufferCurrentDynamicResolutionRenderPass = (void *)0x05D43090; const void * RTTI_CreationRendererPrivate__InjectSpaceGlareCurrentFrameRenderPass = (void *)0x05D388F0; const void * RTTI_CreationRendererPrivate__InjectTerrainShadowResourcesRenderPass = (void *)0x05D2A0F0; const void * RTTI_CreationRendererPrivate__InterpolateIrradianceRenderPass = (void *)0x05D402B0; const void * RTTI_CreationRendererPrivate__LensFlareComputeRenderPass = (void *)0x05D4C360; const void * RTTI_CreationRendererPrivate__LensFlareDrawRenderPass = (void *)0x05D43410; const void * RTTI_CreationRendererPrivate__LensFlareSystemRenderPass = (void *)0x05D433C0; const void * RTTI_CreationRendererPrivate__LensFlare_AlphaBlendRenderPass = (void *)0x05D4C400; const void * RTTI_CreationRendererPrivate__LensFlare_VisibilityRenderPass = (void *)0x05D4C3B0; const void * RTTI_CreationRendererPrivate__LightCoarseCullingCompactionRenderPass = (void *)0x05D4F490; const void * RTTI_CreationRendererPrivate__LightCoarseCullingRenderPass = (void *)0x05D4F4F0; const void * RTTI_CreationRendererPrivate__LightInfluenceDepthMinRenderPass = (void *)0x05D4C450; const void * RTTI_CreationRendererPrivate__LightInfluenceSubGraphRenderPass = (void *)0x05D4C4A0; const void * RTTI_CreationRendererPrivate__LightingRenderPass = (void *)0x05D4C590; const void * RTTI_CreationRendererPrivate__LoadMenuHiddenEventHandler = (void *)0x05D126B0; const void * RTTI_CreationRendererPrivate__LogicalCell = (void *)0x05D3E3D8; const void * RTTI_CreationRendererPrivate__MainRenderGraph = (void *)0x05D4E570; const void * RTTI_CreationRendererPrivate__MeshEventHandler = (void *)0x05D14760; const void * RTTI_CreationRendererPrivate__MeshInstancePatchCullingRenderPass = (void *)0x05D437F0; const void * RTTI_CreationRendererPrivate__MeshInstancePatchDepthRenderPass = (void *)0x05D43A80; const void * RTTI_CreationRendererPrivate__MeshInstancePatchOcclusionCullingRenderPass = (void *)0x05D43A20; const void * RTTI_CreationRendererPrivate__MeshInstancePatchPrepareArgsBaseRenderPass = (void *)0x05D439C0; const void * RTTI_CreationRendererPrivate__MeshInstancePatchPrepareArgsRenderPass = (void *)0x05D4C640; const void * RTTI_CreationRendererPrivate__MeshInstancePatchPrepareArgsShadowRenderPass = (void *)0x05D4C5E0; const void * RTTI_CreationRendererPrivate__MeshInstancePatchRenderPass = (void *)0x05D43B20; const void * RTTI_CreationRendererPrivate__MeshInstancePatchShadowRenderPass = (void *)0x05D43AD0; const void * RTTI_CreationRendererPrivate__MeshLODDB = (void *)0x05D2E5D0; const void * RTTI_CreationRendererPrivate__MeshletBuildIndexBufferRenderPass = (void *)0x05D4A530; const void * RTTI_CreationRendererPrivate__MeshletFrustumCullingRenderPass = (void *)0x05D4A6C0; const void * RTTI_CreationRendererPrivate__MeshletListBuildRenderPass = (void *)0x05D4A5D0; const void * RTTI_CreationRendererPrivate__MeshletMaterialOffsetsRenderPass = (void *)0x05D4A580; const void * RTTI_CreationRendererPrivate__MeshletOcclusionCullingRenderPass = (void *)0x05D4A670; const void * RTTI_CreationRendererPrivate__MeshletPrepareArgsRenderPass = (void *)0x05D4A710; const void * RTTI_CreationRendererPrivate__MeshletPrepareDrawParamsRenderPass = (void *)0x05D4A4D0; const void * RTTI_CreationRendererPrivate__MeshletProduceResourcesRenderPass = (void *)0x05D43B70; const void * RTTI_CreationRendererPrivate__MeshletProduceResourcesShadowsRenderPass = (void *)0x05D438F0; const void * RTTI_CreationRendererPrivate__MeshletReadbackIndexCountRenderPass = (void *)0x05D4A760; const void * RTTI_CreationRendererPrivate__MeshletTriangleCullingRenderPass = (void *)0x05D4A620; const void * RTTI_CreationRendererPrivate__Messaging__Dependency__GeneralDependencyNode = (void *)0x05D0E6C0; const void * RTTI_CreationRendererPrivate__Messaging__Dependency__InternalDependencyGraphHolder = (void *)0x05D11E30; const void * RTTI_CreationRendererPrivate__Messaging__Dependency__InternalProcessorType = (void *)0x05D11B50; const void * RTTI_CreationRendererPrivate__MomentBasedOITRenderAdditiveTransparencyRenderPass = (void *)0x05D45DA0; const void * RTTI_CreationRendererPrivate__MomentBasedOITRenderMomentsRenderPass = (void *)0x05D45CE0; const void * RTTI_CreationRendererPrivate__MomentBasedOITRenderPass = (void *)0x05D34CA0; const void * RTTI_CreationRendererPrivate__MomentBasedOITRenderTransparencyRenderPass = (void *)0x05D45D40; const void * RTTI_CreationRendererPrivate__MorphDB = (void *)0x05D47868; const void * RTTI_CreationRendererPrivate__MorphRenderPass = (void *)0x05D4C698; const void * RTTI_CreationRendererPrivate__MorphSystemEndFrameRenderPass = (void *)0x05D43850; const void * RTTI_CreationRendererPrivate__MotionBlurMaxTileVelocityRenderPass = (void *)0x05D4F800; const void * RTTI_CreationRendererPrivate__MotionBlurRenderPass = (void *)0x05D4E430; const void * RTTI_CreationRendererPrivate__MotionBlurSubGraph = (void *)0x05D4E3E0; const void * RTTI_CreationRendererPrivate__MotionVectorCompositeRenderPass = (void *)0x05D4C6E0; const void * RTTI_CreationRendererPrivate__MultiscatteringIntegrationStepRenderPass = (void *)0x05D40300; const void * RTTI_CreationRendererPrivate__NV_Streamline__StreamlineEventHandler = (void *)0x05D28010; const void * RTTI_CreationRendererPrivate__PartialClearColorBufferRenderPass = (void *)0x05D4AC80; const void * RTTI_CreationRendererPrivate__ParticleComputeLightingLevel0RenderPass = (void *)0x05D2EA80; const void * RTTI_CreationRendererPrivate__ParticleComputeLightingLevel1RenderPass = (void *)0x05D2EAE0; const void * RTTI_CreationRendererPrivate__ParticleComputeLightingLevel2RenderPass = (void *)0x05D2EB40; const void * RTTI_CreationRendererPrivate__ParticleComputeLightingLevel3RenderPass = (void *)0x05D2EBA0; const void * RTTI_CreationRendererPrivate__ParticleDataPreFilterRenderPass = (void *)0x05D2E970; const void * RTTI_CreationRendererPrivate__ParticleLightingClearBuffersRenderPass = (void *)0x05D2E9C0; const void * RTTI_CreationRendererPrivate__ParticleLightingGenerateIndirectBufferRenderPass = (void *)0x05D2F310; const void * RTTI_CreationRendererPrivate__ParticleLightingRenderPass = (void *)0x05D2F2C0; const void * RTTI_CreationRendererPrivate__ParticlesCopyToDestRenderPass = (void *)0x05D48070; const void * RTTI_CreationRendererPrivate__ParticlesCorrectionRenderPass = (void *)0x05D482D0; const void * RTTI_CreationRendererPrivate__ParticlesMainFullResRenderPass = (void *)0x05D48160; const void * RTTI_CreationRendererPrivate__ParticlesMainHalfResRenderPass = (void *)0x05D48320; const void * RTTI_CreationRendererPrivate__ParticlesMomentBasedOITRenderMomentsRenderPass = (void *)0x05D48270; const void * RTTI_CreationRendererPrivate__ParticlesMomentBasedOITRenderTransparencyRenderPass = (void *)0x05D48200; const void * RTTI_CreationRendererPrivate__ParticlesRenderPass = (void *)0x05D48110; const void * RTTI_CreationRendererPrivate__PauseMenuExitedEventHandler = (void *)0x05D34B70; const void * RTTI_CreationRendererPrivate__PointCloudCullingRenderPass = (void *)0x05D4C730; const void * RTTI_CreationRendererPrivate__PointCloudDrawRenderPass = (void *)0x05D4C780; const void * RTTI_CreationRendererPrivate__PointCloudEventHandler = (void *)0x05D30EE0; const void * RTTI_CreationRendererPrivate__PostEffectPreUpscaleRenderPass = (void *)0x05D4E480; const void * RTTI_CreationRendererPrivate__PostSharpenRenderPass = (void *)0x05D4FE30; const void * RTTI_CreationRendererPrivate__PostUpscaleImageSpaceSubGraph = (void *)0x05D4FA40; const void * RTTI_CreationRendererPrivate__PostUpscaleSubGraph = (void *)0x05D4FA90; const void * RTTI_CreationRendererPrivate__PreUpscaleImageSpaceSubGraph = (void *)0x05D4F9F0; const void * RTTI_CreationRendererPrivate__PrecomputeAtmosphericScatteringDataRenderPass = (void *)0x05D40700; const void * RTTI_CreationRendererPrivate__PrecomputeAtmosphericScatteringTransmittanceRenderPass = (void *)0x05D4A7C0; const void * RTTI_CreationRendererPrivate__PrecomputeNetDensityToAtmTopRenderPass = (void *)0x05D40BE0; const void * RTTI_CreationRendererPrivate__PrecomputePerlinNoise3DRenderPass = (void *)0x05D4E520; const void * RTTI_CreationRendererPrivate__PrecomputeSingleScatteringRenderPass = (void *)0x05D40C40; const void * RTTI_CreationRendererPrivate__PrefilterCubemapRenderPass = (void *)0x05D2ACB0; const void * RTTI_CreationRendererPrivate__PrepareAtmosphericScatteringRenderPass = (void *)0x05D43310; const void * RTTI_CreationRendererPrivate__PrepareEndFrameRenderPass = (void *)0x05D438A0; const void * RTTI_CreationRendererPrivate__PrepareFirstPersonSkinningRenderPass = (void *)0x05D42E80; const void * RTTI_CreationRendererPrivate__PrepareProjectedDecalsRenderPass = (void *)0x05D4C880; const void * RTTI_CreationRendererPrivate__PrepareReflectionProbeDataRenderPass = (void *)0x05D4A140; const void * RTTI_CreationRendererPrivate__PrepareSkinningRenderPass = (void *)0x05D431B0; const void * RTTI_CreationRendererPrivate__PrepareSkyCubemapCelestialBodiesRenderPass = (void *)0x05D38640; const void * RTTI_CreationRendererPrivate__PrepareSkyCubemapRenderPass = (void *)0x05D43250; const void * RTTI_CreationRendererPrivate__ProbeClassifyRenderPass = (void *)0x05D344E0; const void * RTTI_CreationRendererPrivate__ProbeCoarseLightCullingCompactionRenderPass = (void *)0x05D34430; const void * RTTI_CreationRendererPrivate__ProbeCoarseLightCullingRenderPass = (void *)0x05D34490; const void * RTTI_CreationRendererPrivate__ProbeFaceSceneSetupRenderPass = (void *)0x05D4A250; const void * RTTI_CreationRendererPrivate__ProbeGridGPUCullingRenderPass = (void *)0x05D45420; const void * RTTI_CreationRendererPrivate__ProbeLightCullingRenderPass = (void *)0x05D343E0; const void * RTTI_CreationRendererPrivate__ProbeRenderPass = (void *)0x05D346C8; const void * RTTI_CreationRendererPrivate__ProbeSystemRenderPass = (void *)0x05D34680; const void * RTTI_CreationRendererPrivate__ProduceAndClearHeightfieldRenderPass = (void *)0x05D471B0; const void * RTTI_CreationRendererPrivate__ProduceDynamicShadowMapDataRenderPass = (void *)0x05D4D0D0; const void * RTTI_CreationRendererPrivate__ProduceMomentBasedOITForwardHalfResTargetRenderPass = (void *)0x05D34E70; const void * RTTI_CreationRendererPrivate__ProduceMomentBasedOITParticleTargetsHalfResRenderPass = (void *)0x05D34E00; const void * RTTI_CreationRendererPrivate__ProduceMomentBasedOITTargetsAlwaysFullResRenderPass = (void *)0x05D34FA0; const void * RTTI_CreationRendererPrivate__ProduceMomentBasedOITTargetsHalfResRenderPass = (void *)0x05D34F40; const void * RTTI_CreationRendererPrivate__ProduceMomentBasedOITTargetsRenderPass = (void *)0x05D34EE0; const void * RTTI_CreationRendererPrivate__ProduceSceneDebugBuffersSubGraphRenderPass = (void *)0x05D42E20; const void * RTTI_CreationRendererPrivate__ProduceShadingRateImageRenderPass = (void *)0x05D4C7D0; const void * RTTI_CreationRendererPrivate__ProduceShadowMapCullingResourcesRenderPass = (void *)0x05D4A470; const void * RTTI_CreationRendererPrivate__ProduceShadowMaskFrustumRenderPass = (void *)0x05D4F700; const void * RTTI_CreationRendererPrivate__ProduceThinGBufferResourcesRenderPass = (void *)0x05D49D00; const void * RTTI_CreationRendererPrivate__ProjectedDecalRenderPass = (void *)0x05D4C8D0; const void * RTTI_CreationRendererPrivate__RadialBlurRenderPass = (void *)0x05D4CB90; const void * RTTI_CreationRendererPrivate__RayTraceProbeComputeRenderPass = (void *)0x05D34630; const void * RTTI_CreationRendererPrivate__RayTraceProbeNonRandomRaysComputeRenderPass = (void *)0x05D345D0; const void * RTTI_CreationRendererPrivate__RaymarchSampleLocationsRenderPass = (void *)0x05D40870; const void * RTTI_CreationRendererPrivate__RaymarchShadowedSampleLocationsRenderPass = (void *)0x05D40360; const void * RTTI_CreationRendererPrivate__RaymarchUsingMinMaxShadowMapRenderPass = (void *)0x05D403C0; const void * RTTI_CreationRendererPrivate__ReflectionProbeBlendingSubGraphRenderPass = (void *)0x05D49EC0; const void * RTTI_CreationRendererPrivate__ReflectionProbeClearThinDeferredGBufferRenderPass = (void *)0x05D49AC0; const void * RTTI_CreationRendererPrivate__ReflectionProbeComputeSHRenderPass = (void *)0x05D4A030; const void * RTTI_CreationRendererPrivate__ReflectionProbeCopyDepth = (void *)0x05D499C0; const void * RTTI_CreationRendererPrivate__ReflectionProbeCopySky = (void *)0x05D49970; const void * RTTI_CreationRendererPrivate__ReflectionProbeFaceSubGraphRenderPass = (void *)0x05D49FD0; const void * RTTI_CreationRendererPrivate__ReflectionProbeGeometryCullingRenderPass = (void *)0x05D4A410; const void * RTTI_CreationRendererPrivate__ReflectionProbeGeometryOffsetsRenderPass = (void *)0x05D49BE0; const void * RTTI_CreationRendererPrivate__ReflectionProbeLightCoarseCullingCompactionRenderPass = (void *)0x05D498A0; const void * RTTI_CreationRendererPrivate__ReflectionProbeLightCoarseCullingRenderPass = (void *)0x05D49910; const void * RTTI_CreationRendererPrivate__ReflectionProbeMaterialIndexOffsetsRenderPass = (void *)0x05D49B20; const void * RTTI_CreationRendererPrivate__ReflectionProbeMeshletCullingRenderPass = (void *)0x05D4A350; const void * RTTI_CreationRendererPrivate__ReflectionProbeMeshletListBuildRenderPass = (void *)0x05D4A3B0; const void * RTTI_CreationRendererPrivate__ReflectionProbeMipChainRenderPass = (void *)0x05D49E70; const void * RTTI_CreationRendererPrivate__ReflectionProbeOcclusionCullingRenderPass = (void *)0x05D4F150; const void * RTTI_CreationRendererPrivate__ReflectionProbePrefilterCubemapRenderPass = (void *)0x05D4A0E0; const void * RTTI_CreationRendererPrivate__ReflectionProbePrepareDrawParamsRenderPass = (void *)0x05D49B80; const void * RTTI_CreationRendererPrivate__ReflectionProbePrepareGroupedDrawsRenderPass = (void *)0x05D49D60; const void * RTTI_CreationRendererPrivate__ReflectionProbeRenderPass = (void *)0x05D4A1A0; const void * RTTI_CreationRendererPrivate__ReflectionProbeSceneSetupRenderPass = (void *)0x05D4A1F0; const void * RTTI_CreationRendererPrivate__ReflectionProbeShadowMapSceneSetupRenderPass = (void *)0x05D49DC0; const void * RTTI_CreationRendererPrivate__ReflectionProbeSubGraphRenderPass = (void *)0x05D49E20; const void * RTTI_CreationRendererPrivate__ReflectionProbeTerrainRenderPass = (void *)0x05D4A090; const void * RTTI_CreationRendererPrivate__ReflectionProbeTriangleCullingRenderPass = (void *)0x05D4A2F0; const void * RTTI_CreationRendererPrivate__RefractionBlurRenderPass = (void *)0x05D4AB20; const void * RTTI_CreationRendererPrivate__RefractionDownsample0RenderPass = (void *)0x05D4ABD0; const void * RTTI_CreationRendererPrivate__RefractionDownsampleMipChainRenderPass = (void *)0x05D4AB70; const void * RTTI_CreationRendererPrivate__RefractionMaskDilationRenderPass = (void *)0x05D4AA20; const void * RTTI_CreationRendererPrivate__RefractionMaskGenRenderPass = (void *)0x05D4AA70; const void * RTTI_CreationRendererPrivate__RefractionMaskRenderPass = (void *)0x05D45C30; const void * RTTI_CreationRendererPrivate__RenderCoarseUnshadowedInscatteringRenderPass = (void *)0x05D40810; const void * RTTI_CreationRendererPrivate__RenderGraph = (void *)0x05D26B10; const void * RTTI_CreationRendererPrivate__RenderGraphEventHandler = (void *)0x05D27740; const void * RTTI_CreationRendererPrivate__RenderPass = (void *)0x05D12B00; const void * RTTI_CreationRendererPrivate__RenderSceneSubGraph = (void *)0x05D4FAE0; const void * RTTI_CreationRendererPrivate__RenderSliceUVDirAndOriginRenderPass = (void *)0x05D40420; const void * RTTI_CreationRendererPrivate__RenderViewSubGraph = (void *)0x05D4E4D0; const void * RTTI_CreationRendererPrivate__ReprojectShadingRateImageRenderPass = (void *)0x05D4C820; const void * RTTI_CreationRendererPrivate__ResetCullingMemoryRequestHandler = (void *)0x05D3E420; const void * RTTI_CreationRendererPrivate__ResourceLifecycleJobSite = (void *)0x05D38F70; const void * RTTI_CreationRendererPrivate__SAOEmptyRenderPass = (void *)0x05D2E920; const void * RTTI_CreationRendererPrivate__SAORenderPass = (void *)0x05D2E7D0; const void * RTTI_CreationRendererPrivate__ScaleformCompositeRenderPass = (void *)0x05D4CBE0; const void * RTTI_CreationRendererPrivate__ScaleformEventHandler = (void *)0x05D30990; const void * RTTI_CreationRendererPrivate__ScaleformRenderPass = (void *)0x05D4F7B0; const void * RTTI_CreationRendererPrivate__ScaleformText2DRenderPass = (void *)0x05D37770; const void * RTTI_CreationRendererPrivate__ScaleformTextRenderPass = (void *)0x05D377C0; const void * RTTI_CreationRendererPrivate__ScaleformToTextureRenderPass = (void *)0x05D4F760; const void * RTTI_CreationRendererPrivate__SceneSetupRenderPass = (void *)0x05D12BA0; const void * RTTI_CreationRendererPrivate__ScreenSpaceShadowsRenderPass = (void *)0x05D2B6E0; const void * RTTI_CreationRendererPrivate__SeparableSSS_HorizontalRenderPass = (void *)0x05D4CCD0; const void * RTTI_CreationRendererPrivate__SeparableSSS_VerticalRenderPass = (void *)0x05D4CC30; const void * RTTI_CreationRendererPrivate__ServiceLocator = (void *)0x05D38BF0; const void * RTTI_CreationRendererPrivate__SetupAtmosphericScatteringBuffersRenderPass = (void *)0x05D40640; const void * RTTI_CreationRendererPrivate__SetupDynamicShadowRenderPass = (void *)0x05D4D530; const void * RTTI_CreationRendererPrivate__ShadowInstanceBarriersRenderPass = (void *)0x05D4CEB0; const void * RTTI_CreationRendererPrivate__ShadowManagerEventHandler = (void *)0x05D2F870; const void * RTTI_CreationRendererPrivate__ShadowMapInstanceRenderPass = (void *)0x05D4CD70; const void * RTTI_CreationRendererPrivate__ShadowMapRenderPass = (void *)0x05D4CD20; const void * RTTI_CreationRendererPrivate__ShadowMapSceneSetupRenderPass = (void *)0x05D4CFC0; const void * RTTI_CreationRendererPrivate__ShadowMapSubGraphRenderPass = (void *)0x05D4CE10; const void * RTTI_CreationRendererPrivate__ShadowMaskRenderPass = (void *)0x05D4F6B0; const void * RTTI_CreationRendererPrivate__ShadowSubGraphRenderPass = (void *)0x05D4CE60; const void * RTTI_CreationRendererPrivate__SharedIndexBuffer = (void *)0x05D41A20; const void * RTTI_CreationRendererPrivate__SharedMeshResourcesRegistry = (void *)0x05D426C0; const void * RTTI_CreationRendererPrivate__SharedMeshletCullingDataBuffer = (void *)0x05D42130; const void * RTTI_CreationRendererPrivate__SiteLocator = (void *)0x05D10D80; const void * RTTI_CreationRendererPrivate__SkinnedDecalPrepareRenderPass = (void *)0x05D4D880; const void * RTTI_CreationRendererPrivate__SkinningRenderPass = (void *)0x05D4D920; const void * RTTI_CreationRendererPrivate__SkinningSystemEndFrameRenderPass = (void *)0x05D37F20; const void * RTTI_CreationRendererPrivate__SkinningSystemRenderPass = (void *)0x05D37F70; const void * RTTI_CreationRendererPrivate__SkyCubemapCelestialBodiesLightingRenderPass = (void *)0x05D38790; const void * RTTI_CreationRendererPrivate__SkyCubemapRenderPass = (void *)0x05D38480; const void * RTTI_CreationRendererPrivate__SkyCubemapSystemRenderPass = (void *)0x05D43200; const void * RTTI_CreationRendererPrivate__SkyLightingRenderPass = (void *)0x05D4DA20; const void * RTTI_CreationRendererPrivate__SkyOcclusionGenerateSHRenderPass = (void *)0x05D3E090; const void * RTTI_CreationRendererPrivate__SkyOcclusionMaskRenderPass = (void *)0x05D3E0E0; const void * RTTI_CreationRendererPrivate__SkyOcclusionRenderPass = (void *)0x05D3DFA0; const void * RTTI_CreationRendererPrivate__SkyOcclusionSystemRenderPass = (void *)0x05D3DFF0; const void * RTTI_CreationRendererPrivate__SobelSpaceGlareRenderPass = (void *)0x05D389A0; const void * RTTI_CreationRendererPrivate__SpaceGlareApplyRenderPass = (void *)0x05D38A40; const void * RTTI_CreationRendererPrivate__SpaceGlareCopyRenderPass = (void *)0x05D389F0; const void * RTTI_CreationRendererPrivate__SpaceGlareRenderPass = (void *)0x05D388A0; const void * RTTI_CreationRendererPrivate__SparseGridCell = (void *)0x05D3E320; const void * RTTI_CreationRendererPrivate__SporadicRenderGraphRenderPass = (void *)0x05D4DA70; const void * RTTI_CreationRendererPrivate__StarfieldCoarseCullingRenderPass = (void *)0x05D4DC00; const void * RTTI_CreationRendererPrivate__StarfieldEventHandler = (void *)0x05D2AFE0; const void * RTTI_CreationRendererPrivate__StarfieldProcessStarsRenderPass = (void *)0x05D4DB10; const void * RTTI_CreationRendererPrivate__StarfieldRenderPass = (void *)0x05D4DB60; const void * RTTI_CreationRendererPrivate__StarfieldRenderPassBase = (void *)0x05D4DAC0; const void * RTTI_CreationRendererPrivate__StarfieldTiledCullingRenderPass = (void *)0x05D4DC50; const void * RTTI_CreationRendererPrivate__StarfieldTiledRenderRenderPass = (void *)0x05D4DBB0; const void * RTTI_CreationRendererPrivate__StarmapGravityWavesEventHandler = (void *)0x05D33D00; const void * RTTI_CreationRendererPrivate__StarmapGravityWavesRenderPass = (void *)0x05D33760; const void * RTTI_CreationRendererPrivate__StarmapOrbitsEventHandler = (void *)0x05D32E50; const void * RTTI_CreationRendererPrivate__StarmapOrbitsRenderPass = (void *)0x05D32AF0; const void * RTTI_CreationRendererPrivate__SubmitAndPresentThread = (void *)0x05D35EF0; const void * RTTI_CreationRendererPrivate__SunDiskRenderPass = (void *)0x05D48EA0; const void * RTTI_CreationRendererPrivate__SunDiskSkyCubemapRenderPass = (void *)0x05D385F0; const void * RTTI_CreationRendererPrivate__SwapChainEventHandler = (void *)0x05D2AB70; const void * RTTI_CreationRendererPrivate__TemporalAA_idTech7RenderPass = (void *)0x05D4FE80; const void * RTTI_CreationRendererPrivate__TerrainClipmapAndMIMRenderPass = (void *)0x05D2A0A0; const void * RTTI_CreationRendererPrivate__TerrainClipmapUpdateRenderPass = (void *)0x05D29E90; const void * RTTI_CreationRendererPrivate__TerrainDensityUpdateRenderPass = (void *)0x05D29F30; const void * RTTI_CreationRendererPrivate__TerrainDepthAndShadowsSubGraph = (void *)0x05D2A150; const void * RTTI_CreationRendererPrivate__TerrainDepthDrawRenderPass = (void *)0x05D29EE0; const void * RTTI_CreationRendererPrivate__TerrainHeightFieldRenderPass = (void *)0x05D47270; const void * RTTI_CreationRendererPrivate__TerrainMIMUpdateRenderPass = (void *)0x05D29E40; const void * RTTI_CreationRendererPrivate__TerrainRenderPass = (void *)0x05D2A200; const void * RTTI_CreationRendererPrivate__TerrainShadowsRenderPass = (void *)0x05D2A050; const void * RTTI_CreationRendererPrivate__TerrainTileDescriptionUpdateRenderPass = (void *)0x05D2A1A0; const void * RTTI_CreationRendererPrivate__ThinDeferredExteriorPixelCountRenderPass = (void *)0x05D49A60; const void * RTTI_CreationRendererPrivate__ThinDeferredGBufferRenderPass = (void *)0x05D49850; const void * RTTI_CreationRendererPrivate__ThinDeferredLightingRenderPass = (void *)0x05D49A10; const void * RTTI_CreationRendererPrivate__ThinDeferredPrepareRenderPass = (void *)0x05D4A2A0; const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7BinLightsRenderPass = (void *)0x05D3F6E0; const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7CacheIndirectLightingRenderPass = (void *)0x05D3F7A0; const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7ClipLightsRenderPass = (void *)0x05D3F430; const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7CoarseBinLightsRenderPass = (void *)0x05D3F500; const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7CoarseIndirectArgsLightsRenderPass = (void *)0x05D3F560; const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7IndirectArgsLightsRenderPass = (void *)0x05D3F740; const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7InitBuffersRenderPass = (void *)0x05D3F5D0; const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7RenderPass = (void *)0x05D3F630; const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7ResolveLightBinsRenderPass = (void *)0x05D3F680; const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7SampleIndirectLightingRenderPass = (void *)0x05D3F810; const void * RTTI_CreationRendererPrivate__TiledBinning_idTech7TransformVerticesLightsRenderPass = (void *)0x05D3F490; const void * RTTI_CreationRendererPrivate__TiledCullingRenderPass = (void *)0x05D4DCA0; const void * RTTI_CreationRendererPrivate__TiledDeferredContactShadowsBlurXRenderPass = (void *)0x05D2B790; const void * RTTI_CreationRendererPrivate__TiledDeferredContactShadowsBlurYRenderPass = (void *)0x05D2B730; const void * RTTI_CreationRendererPrivate__TiledDeferredContactShadowsRenderPass = (void *)0x05D2B680; const void * RTTI_CreationRendererPrivate__TiledDeferredLightingDebugVisualizationRenderPass = (void *)0x05D4DDB0; const void * RTTI_CreationRendererPrivate__TiledDeferredLightingPrepareRenderPass = (void *)0x05D4DCF0; const void * RTTI_CreationRendererPrivate__TiledDeferredLightingProcessLightsRenderPass = (void *)0x05D4DE10; const void * RTTI_CreationRendererPrivate__TiledDeferredLightingRecordIndirectArgsRenderPass = (void *)0x05D4DD50; const void * RTTI_CreationRendererPrivate__TiledDepthRangeRenderPass = (void *)0x05D4DE70; const void * RTTI_CreationRendererPrivate__TransparencyAwareShadowedScatteringRenderPass = (void *)0x05D40590; const void * RTTI_CreationRendererPrivate__UIRenderPass = (void *)0x05D4DF78; const void * RTTI_CreationRendererPrivate__UnsortedForwardBlendedPostMBOITRenderPass = (void *)0x05D45C80; const void * RTTI_CreationRendererPrivate__UnsortedForwardBlendedPreCloudsRenderPass = (void *)0x05D45ED0; const void * RTTI_CreationRendererPrivate__UnsortedForwardBlendedPreMBOITRenderPass = (void *)0x05D45F30; const void * RTTI_CreationRendererPrivate__UnwarpEpipolarSamplingRenderPass = (void *)0x05D40B90; const void * RTTI_CreationRendererPrivate__UpdateMotionVectorHistoryRenderPass = (void *)0x05D43030; const void * RTTI_CreationRendererPrivate__UpdatePreviousDepthBufferRenderPass = (void *)0x05D43100; const void * RTTI_CreationRendererPrivate__UpdateSharedIndexBufferRenderPass = (void *)0x05D4DFC0; const void * RTTI_CreationRendererPrivate__UpscaleSubGraph = (void *)0x05D28430; const void * RTTI_CreationRendererPrivate__VignetteRenderPass = (void *)0x05D4FED0; const void * RTTI_CreationRendererPrivate__VolumetricLightingApplyRenderPass = (void *)0x05D2F370; const void * RTTI_CreationRendererPrivate__VolumetricLightingCullingRenderPass = (void *)0x05D4E010; const void * RTTI_CreationRendererPrivate__VolumetricLightingDistantRaymarchRenderPass = (void *)0x05D4E070; const void * RTTI_CreationRendererPrivate__VolumetricLightingDistantTemporalFilteringRenderPass = (void *)0x05D4E0D0; const void * RTTI_CreationRendererPrivate__VolumetricLightingDownsampleDepthRenderPass = (void *)0x05D460B0; const void * RTTI_CreationRendererPrivate__VolumetricLightingGenerateMaterialVolumeRenderPass = (void *)0x05D46040; const void * RTTI_CreationRendererPrivate__VolumetricLightingIntegrateRenderPass = (void *)0x05D4E140; const void * RTTI_CreationRendererPrivate__VolumetricLightingNearSpatialFilteringRenderPass = (void *)0x05D4E1A0; const void * RTTI_CreationRendererPrivate__VolumetricLightingNearTemporalFilteringRenderPass = (void *)0x05D4E200; const void * RTTI_CreationRendererPrivate__VolumetricLightingProcessLightsRenderPass = (void *)0x05D4E260; const void * RTTI_CreationRendererPrivate__WaterDisplacementRenderPass = (void *)0x05D2E610; const void * RTTI_CreationRendererPrivate__WaterDisplacement_ConvertNormalsRenderPass = (void *)0x05D2E770; const void * RTTI_CreationRendererPrivate__WaterDisplacement_InjectionRenderPass = (void *)0x05D2E660; const void * RTTI_CreationRendererPrivate__WaterDisplacement_MainRenderPass = (void *)0x05D2E720; const void * RTTI_CreationRendererPrivate__WaterDisplacement_PlaceRipplesRenderPass = (void *)0x05D2E6C0; const void * RTTI_CreationRendererPrivate__WaterMVRenderPass = (void *)0x05D4E350; const void * RTTI_CreationRendererPrivate__WaterPrepareRenderPass = (void *)0x05D4E300; const void * RTTI_CreationRendererPrivate__WaterRenderGraphRenderPass = (void *)0x05D4E390; const void * RTTI_CreationRendererPrivate__WaterRenderPass = (void *)0x05D4E2B8; const void * RTTI_CreationRendererPrivate__WetnessOcclusionMaskRenderPass = (void *)0x05D3E230; const void * RTTI_CreationRendererPrivate__WindowEventHandler = (void *)0x05D28E40; const void * RTTI_CreationRendererPrivate__WorldCell = (void *)0x05D3E280; const void * RTTI_CreationRendererPrivate__XeSSProduceInputsRenderPass = (void *)0x05D4B600; const void * RTTI_CreationRendererPrivate__XeSSUpscaleRenderPass = (void *)0x05D44670; const void * RTTI_CreationRenderer__ImageCaptureExportToFileNode = (void *)0x05B3D740; const void * RTTI_CreationRenderer__MaterialInstance__TextureVisitor = (void *)0x05A0E8D0; const void * RTTI_CreationRenderer__Messaging__MessageProcessor = (void *)0x05D10FC0; const void * RTTI_CreationRenderer__Messaging__StreamedResourceNode = (void *)0x05CB04E0; const void * RTTI_CreationRenderer__RendererQualityPref = (void *)0x05D12248; const void * RTTI_CreationRenderer__RendererQualitySetting = (void *)0x059D74F8; const void * RTTI_CreationRenderer__RendererQualitySettingCollection = (void *)0x05D12290; const void * RTTI_CreationUninstalledEventListener = (void *)0x05AE3790; const void * RTTI_CreationsLibraryData = (void *)0x05AD78D0; const void * RTTI_CreationsLibraryDataModel = (void *)0x05AD7CE8; const void * RTTI_CreationsLibraryDataModel__CreationsLibraryModelEventShuttle = (void *)0x05AD7BD0; const void * RTTI_CreationsLibraryEntryData = (void *)0x05AD7AA8; const void * RTTI_CreditsDataModel = (void *)0x05AD83C0; const void * RTTI_CreditsDataModel__CreditsDataModelEventShuttle = (void *)0x05AD8270; const void * RTTI_CreditsMenu = (void *)0x05C4CB18; const void * RTTI_CrewExtraData = (void *)0x059DA220; const void * RTTI_CriticallyDampenVariable = (void *)0x05C98EC0; const void * RTTI_CriticallyDampenVariableInstance = (void *)0x05C98EF0; const void * RTTI_CrowdInhibitNullStrategy = (void *)0x05ACC650; const void * RTTI_CrowdInhibitStrategyDefault = (void *)0x05ACC6B8; const void * RTTI_CrowdInhibitStrategyDisable = (void *)0x05ACC680; const void * RTTI_CrowdManager = (void *)0x05ACC5A0; const void * RTTI_CrowdWallaBubble = (void *)0x05AD1D08; const void * RTTI_CullFurnitureBoneHandler = (void *)0x05BCF018; const void * RTTI_CullWeaponsHandler = (void *)0x05BCEFB0; const void * RTTI_CumulativeAnimation = (void *)0x05C98E28; const void * RTTI_CumulativeAnimationInstance = (void *)0x05C98DF0; const void * RTTI_CureEffect = (void *)0x05B7EF58; const void * RTTI_CursorMenu = (void *)0x05CD59D0; const void * RTTI_CursorMenu__CursorGameEventShuttle = (void *)0x05CD59F8; const void * RTTI_CursorMoveEvent = (void *)0x05C9D548; const void * RTTI_CurvedPathBlender = (void *)0x05C95DE0; const void * RTTI_CurvedPathBlenderInstance = (void *)0x05C989B0; const void * RTTI_CustomActorPackageData = (void *)0x05BB8910; const void * RTTI_CustomUtils__HasForceGreetVisitor = (void *)0x05A98318; const void * RTTI_D3D12MA__BlockMetadata = (void *)0x05D46BA0; const void * RTTI_D3D12MA__BlockMetadata_Generic = (void *)0x05D46C00; const void * RTTI_D3D12MA__MemoryBlock = (void *)0x05D46BD0; const void * RTTI_D3D12MA__NormalBlock = (void *)0x05D46B70; const void * RTTI_DamageEffect = (void *)0x05B7EF80; const void * RTTI_DampenVariable = (void *)0x05C99400; const void * RTTI_DampenVariableInstance = (void *)0x05C993D0; const void * RTTI_DarknessEffect = (void *)0x05B7EFA8; const void * RTTI_DataMenu = (void *)0x05B5AEC8; const void * RTTI_DataMenuDataModel = (void *)0x05AF6680; const void * RTTI_DataMenuDataModel__DataMenuEventShuttle = (void *)0x05AF6A50; const void * RTTI_DataMenuInventoryItem = (void *)0x05AF6438; const void * RTTI_DataMenuPersistentDataModel = (void *)0x05AF6500; const void * RTTI_DataMenuPersistentDataModel__DataMenuPersistentDataEventShuttle = (void *)0x05AF6590; const void * RTTI_DataMenu_CloseMenu = (void *)0x05B5B268; const void * RTTI_DataMenu_ClosedForSubMenu = (void *)0x05B5B1E8; const void * RTTI_DataMenu_Missions = (void *)0x05B5AFD0; const void * RTTI_DataMenu_OpenPauseMenu = (void *)0x05B5ADB8; const void * RTTI_DataMenu_PlotToLocation = (void *)0x05B5B168; const void * RTTI_DataMenu_Reopened = (void *)0x05B5B2E0; const void * RTTI_DataMenu_SelectedAlmanacMenu = (void *)0x05B5AE40; const void * RTTI_DataMenu_SelectedAttributesMenu = (void *)0x05B5B610; const void * RTTI_DataMenu_SelectedInventoryMenu = (void *)0x05B5B3F0; const void * RTTI_DataMenu_SelectedMapMenu = (void *)0x05B5B478; const void * RTTI_DataMenu_SelectedPowersMenu = (void *)0x05B5B0E0; const void * RTTI_DataMenu_SelectedShipMenu = (void *)0x05B5B4F8; const void * RTTI_DataMenu_SelectedStatusMenu = (void *)0x05B5B580; const void * RTTI_DataMenu_SetMenuForQuickEntry = (void *)0x05B5B050; const void * RTTI_DataMenu_SetPaperDollActive = (void *)0x05B5B360; const void * RTTI_DataMenu_StartCloseAnim = (void *)0x05AF7400; const void * RTTI_DataSlateButtons = (void *)0x05B31190; const void * RTTI_DataSlateButtons_acceptClicked = (void *)0x05B32618; const void * RTTI_DataSlateButtons_cancelClicked = (void *)0x05B323E8; const void * RTTI_DataSlateMenu = (void *)0x05B32378; const void * RTTI_DataSlateMenu__DataSlateData = (void *)0x05B322F8; const void * RTTI_DataSlateMenu__DataSlateEventShuttle = (void *)0x05B321D0; const void * RTTI_DataSlateMenu_playSFX = (void *)0x05B326A0; const void * RTTI_DataSlateMenu_toggleAudio = (void *)0x05B32598; const void * RTTI_DeathEmoteHandler = (void *)0x05BCF248; const void * RTTI_DeathStopHandler = (void *)0x05BCF328; const void * RTTI_DefaultCollection = (void *)0x05CB2878; const void * RTTI_DefaultMessageBoxCallback = (void *)0x05A7E5A0; const void * RTTI_DeferredDeletion__IDeferredDeleter = (void *)0x05B8E618; const void * RTTI_DeferredDeletion__IGCService = (void *)0x05B92198; const void * RTTI_DemoralizeEffect = (void *)0x05B80BE0; const void * RTTI_DependentAnimationGraphManagerHolder = (void *)0x059C42D8; const void * RTTI_DescriptionBox = (void *)0x05D55378; const void * RTTI_DesyncInteractionHandler = (void *)0x05BCB5E0; const void * RTTI_DetectLifeEffect = (void *)0x05B7EFD0; const void * RTTI_DetectionCollector = (void *)0x05B7F0D0; const void * RTTI_DetectionDebugData = (void *)0x05BB8AD8; const void * RTTI_DetectionState = (void *)0x05BB8AB0; const void * RTTI_DeviceChangeEvent = (void *)0x05C9D4A0; const void * RTTI_DeviceChangeHandler = (void *)0x05C540A8; const void * RTTI_DeviceConnectEvent = (void *)0x05C9D4C8; const void * RTTI_DialogueCameraState = (void *)0x05AA9228; const void * RTTI_DialogueMenu = (void *)0x05C4D238; const void * RTTI_DialogueMenu_CompleteExit = (void *)0x05B22C48; const void * RTTI_DialogueMenu_OnDialogueSelect = (void *)0x05C4E338; const void * RTTI_DialogueMenu_OnListVisibilityChange = (void *)0x05C4E078; const void * RTTI_DialogueMenu_OnPersuasionAutoWin = (void *)0x05C4E248; const void * RTTI_DialogueMenu_RequestExit = (void *)0x05C4D180; const void * RTTI_DialogueMenu_RequestSkipDialogue = (void *)0x05C4D1B0; const void * RTTI_DialoguePackage = (void *)0x05A98240; const void * RTTI_DialogueUIDataModel = (void *)0x05B22B78; const void * RTTI_DialogueUIDataModel__DialogueData = (void *)0x05B22490; const void * RTTI_DialogueUIDataModel__DialogueEntryData = (void *)0x05B22AA8; const void * RTTI_DialogueUIDataModel__DialogueListData = (void *)0x05B228B0; const void * RTTI_DialogueUIDataModel__DialogueUIDataEventShuttle = (void *)0x05B22A60; const void * RTTI_DialogueUIDataModel__PersuasionEntryData = (void *)0x05B22AE8; const void * RTTI_DialogueUIDataModel__PersuasionListData = (void *)0x05B22808; const void * RTTI_DialogueUIDataModel__PersuasionPointsData = (void *)0x05B22450; const void * RTTI_DirectAtNode = (void *)0x05C99918; const void * RTTI_DirectAtNodeInstance = (void *)0x05C99940; const void * RTTI_DisableCharacterBumperHandler = (void *)0x05BCF5A0; const void * RTTI_DisableCharacterControllerHandler = (void *)0x05BCA2B0; const void * RTTI_DisableCharacterPitchHandler = (void *)0x05BCED00; const void * RTTI_DisableCollisionHandler = (void *)0x05BCF538; const void * RTTI_DisarmEffect = (void *)0x05B7EFF8; const void * RTTI_DisconnectHandler = (void *)0x05C54000; const void * RTTI_DisguiseEffect = (void *)0x05B7F048; const void * RTTI_DisguiseEffect__DetectionChecker = (void *)0x05B7F098; const void * RTTI_DispelEffect = (void *)0x05B7F100; const void * RTTI_DiveBombPathController = (void *)0x05C11720; const void * RTTI_DoNotInterruptAnimationHandler = (void *)0x05BCF3B0; const void * RTTI_DocAcceptDataModel = (void *)0x05B02A58; const void * RTTI_DocAcceptDataModel__DocAcceptEventShuttle = (void *)0x05B029A0; const void * RTTI_DocAcceptMenu = (void *)0x05AE2088; const void * RTTI_DocAcceptMenu_Accept = (void *)0x05AE20F8; const void * RTTI_DoorObstacleAdapter = (void *)0x05B99258; const void * RTTI_DownloadAll = (void *)0x05C81750; const void * RTTI_DownloadProgressBar = (void *)0x05D53B60; const void * RTTI_DownloadableContent = (void *)0x05C81248; const void * RTTI_DownloadingPopUp = (void *)0x05D54A28; const void * RTTI_DropResourcesEffect = (void *)0x05B7FF00; const void * RTTI_DrugsCraftingMenu = (void *)0x05B5C518; const void * RTTI_DualDirectAtNode = (void *)0x05C998C0; const void * RTTI_DualDirectAtNodeInstance = (void *)0x05C998E8; const void * RTTI_DualValueModifierEffect = (void *)0x05B7F128; const void * RTTI_DynamicAnimationNode = (void *)0x05C99598; const void * RTTI_DynamicAnimationNodeInstance = (void *)0x05C995C8; const void * RTTI_DynamicGraphReference = (void *)0x05C987F8; const void * RTTI_DynamicGraphReferenceInstance = (void *)0x05C987C0; const void * RTTI_DynamicIdleDataSingletonHelper = (void *)0x059C45D8; const void * RTTI_DynamicNavMeshTask = (void *)0x059D0858; const void * RTTI_DynamicNavMeshTaskCellRemap = (void *)0x059D0820; const void * RTTI_DynamicNavMeshTaskStitching = (void *)0x059D07E8; const void * RTTI_DynamicNavmesh = (void *)0x05A13F68; const void * RTTI_DynamicNavmeshService = (void *)0x059D5958; const void * RTTI_EffectArchetypes__MainStatusHandler = (void *)0x059F5B90; const void * RTTI_EffectSequenceMap = (void *)0x059D96A8; const void * RTTI_EffectSequenceNode = (void *)0x05C95E30; const void * RTTI_EffectSequenceNodeInstance = (void *)0x05C989E0; const void * RTTI_EffectSequence__EffectSequenceManager = (void *)0x059D9378; const void * RTTI_EffectSequence__IFormInitialized = (void *)0x059D99E0; const void * RTTI_EffectSetting = (void *)0x05992A78; const void * RTTI_EjectShellCasingHandler = (void *)0x05BCB148; const void * RTTI_EmittanceManagerAgent = (void *)0x059C46B8; const void * RTTI_EmitterProjectile = (void *)0x05AAFBF0; const void * RTTI_EmptyDependencyFormPointerMapValue = (void *)0x05A60440; const void * RTTI_EnableCharacterBumperHandler = (void *)0x05BCF568; const void * RTTI_EnableCharacterControllerHandler = (void *)0x05BCA1A8; const void * RTTI_EnableCharacterPitchHandler = (void *)0x05BCEDA0; const void * RTTI_EnableCollisionHandler = (void *)0x05BCF508; const void * RTTI_EnchantmentItem = (void *)0x059F5D48; const void * RTTI_EndGameCreditsMenu = (void *)0x05AE2528; const void * RTTI_EndSecurityMinigameHandler = (void *)0x05BCB3D0; const void * RTTI_EndSummonAnimationHandler = (void *)0x05BCF3E8; const void * RTTI_EnhanceWeaponEffect = (void *)0x05B8D630; const void * RTTI_EnsureAliasCanBePickpocketedFunc = (void *)0x05AFA0A0; const void * RTTI_EquippedItemData = (void *)0x05ACC970; const void * RTTI_EquippedSpell__Data = (void *)0x05ACC940; const void * RTTI_EquippedWeapon__AimModule = (void *)0x05ACC9C8; const void * RTTI_EquippedWeapon__AmmunitionModule = (void *)0x05ACCA28; const void * RTTI_EquippedWeapon__AudioModule = (void *)0x05ACCB58; const void * RTTI_EquippedWeapon__Data = (void *)0x05ACC998; const void * RTTI_EquippedWeapon__IModule = (void *)0x05ACC9F8; const void * RTTI_EquippedWeapon__MeleeAttackModule = (void *)0x05ACCA98; const void * RTTI_EquippedWeapon__PowerModule = (void *)0x05ACCAD0; const void * RTTI_EquippedWeapon__RangedAttackModule = (void *)0x05ACCC68; const void * RTTI_EquippedWeapon__VariableRangeModule = (void *)0x05ACCCA0; const void * RTTI_EquippedWeapon__VisualModule = (void *)0x05ACCCE0; const void * RTTI_EtherealizationEffect = (void *)0x05B7F158; const void * RTTI_EvaluateConditionVariable = (void *)0x05C98E90; const void * RTTI_EvaluateConditionVariableInstance = (void *)0x05C98E58; const void * RTTI_EventController = (void *)0x05C99490; const void * RTTI_EventControllerInstance = (void *)0x05C994B8; const void * RTTI_EventDispatcherBackend = (void *)0x05CD5960; const void * RTTI_EventFromRange = (void *)0x05C991A0; const void * RTTI_EventFromRangeInstance = (void *)0x05C991C8; const void * RTTI_EveryNEvents = (void *)0x05C99310; const void * RTTI_EveryNEventsInstance = (void *)0x05C99338; const void * RTTI_ExecuteOnAliasedRefFunc = (void *)0x059F6FE8; const void * RTTI_ExitChargen_ConfirmCallback = (void *)0x05B536A8; const void * RTTI_ExitVehicleEvent = (void *)0x05AD87C8; const void * RTTI_Explosion = (void *)0x05B8D420; const void * RTTI_ExplosionClosestHitCollector = (void *)0x05BD1ED8; const void * RTTI_Explosion__Manager = (void *)0x05B9E800; const void * RTTI_ExplosiveIndicatorDataModel = (void *)0x05AF7880; const void * RTTI_ExplosiveIndicatorDataModel__ExplosiveIndicatorEventShuttle = (void *)0x05AF78C0; const void * RTTI_ExternalDataSourceMainStatusHandler = (void *)0x059E0AA0; const void * RTTI_ExtraAcousticParent = (void *)0x059F8CB8; const void * RTTI_ExtraAction = (void *)0x059F9558; const void * RTTI_ExtraActivateRef = (void *)0x059F9778; const void * RTTI_ExtraActivateText = (void *)0x059F7250; const void * RTTI_ExtraActorCause = (void *)0x059F79E8; const void * RTTI_ExtraActorValueStorage = (void *)0x059F7220; const void * RTTI_ExtraAliasInstanceArray = (void *)0x059F9240; const void * RTTI_ExtraAmmo = (void *)0x059F77B8; const void * RTTI_ExtraAnimGraphManager = (void *)0x059F9580; const void * RTTI_ExtraAnimGraphPreload = (void *)0x059F8B68; const void * RTTI_ExtraAnimSounds = (void *)0x059F71C8; const void * RTTI_ExtraAshPileRef = (void *)0x059F8D68; const void * RTTI_ExtraAttachRef = (void *)0x059F7600; const void * RTTI_ExtraAttachRefChildren = (void *)0x059F75D0; const void * RTTI_ExtraAttachedArrows3D = (void *)0x059F6E58; const void * RTTI_ExtraBadPosition = (void *)0x059F7D90; const void * RTTI_ExtraBendableSplineParams = (void *)0x059DA248; const void * RTTI_ExtraBlueprintPartOriginData = (void *)0x059F7800; const void * RTTI_ExtraBody = (void *)0x059F90E8; const void * RTTI_ExtraBoneScaleMap = (void *)0x059F7168; const void * RTTI_ExtraBountyCrimeList = (void *)0x059F97A0; const void * RTTI_ExtraCachedScale = (void *)0x059F7360; const void * RTTI_ExtraCalcedPackIn = (void *)0x059F6CE8; const void * RTTI_ExtraCanTalkToPlayer = (void *)0x059F91A8; const void * RTTI_ExtraCannotWear = (void *)0x059F9698; const void * RTTI_ExtraCell3D = (void *)0x059F6448; const void * RTTI_ExtraCellAcousticSpace = (void *)0x059F64A0; const void * RTTI_ExtraCellEnvMap = (void *)0x059F6EB8; const void * RTTI_ExtraCellGlobalDirtLayer = (void *)0x059F64D0; const void * RTTI_ExtraCellImageSpace = (void *)0x059F63F0; const void * RTTI_ExtraCellMusicType = (void *)0x059F6560; const void * RTTI_ExtraCellSkyRegion = (void *)0x059F6370; const void * RTTI_ExtraCellWaterEnvMap = (void *)0x059F6E88; const void * RTTI_ExtraCellWaterType = (void *)0x059F6470; const void * RTTI_ExtraCharge = (void *)0x059F7C10; const void * RTTI_ExtraCollisionData = (void *)0x059F7018; const void * RTTI_ExtraCombatStyle = (void *)0x059F6FC0; const void * RTTI_ExtraConstrainedDecalData = (void *)0x059F7278; const void * RTTI_ExtraCount = (void *)0x059F7FE8; const void * RTTI_ExtraCreatureAwakeSound = (void *)0x059F7AC0; const void * RTTI_ExtraCulledBone = (void *)0x059F7EA0; const void * RTTI_ExtraCulledSubsegment = (void *)0x059F73B0; const void * RTTI_ExtraDirectAtTarget = (void *)0x059F8E18; const void * RTTI_ExtraDroppedItemList = (void *)0x059F95D8; const void * RTTI_ExtraEditorID = (void *)0x059F78F8; const void * RTTI_ExtraEditorRefMoveData = (void *)0x059F8F90; const void * RTTI_ExtraEmittanceSource = (void *)0x059F8BF8; const void * RTTI_ExtraEnableStateChildren = (void *)0x059F9828; const void * RTTI_ExtraEnableStateParent = (void *)0x059F97F8; const void * RTTI_ExtraEnchantment = (void *)0x059F7D68; const void * RTTI_ExtraEncounterZone = (void *)0x059F92C8; const void * RTTI_ExtraEssentialProtected = (void *)0x059F7048; const void * RTTI_ExtraExteriorReflectionProbeAdjustmentVolume = (void *)0x059F9160; const void * RTTI_ExtraExternalEmittanceData = (void *)0x059F6BC0; const void * RTTI_ExtraFXPickNodes = (void *)0x059F7078; const void * RTTI_ExtraFactionChanges = (void *)0x059F93A8; const void * RTTI_ExtraFavorCost = (void *)0x059F7DE0; const void * RTTI_ExtraFavorite = (void *)0x059F78D0; const void * RTTI_ExtraFlags = (void *)0x059F7C38; const void * RTTI_ExtraFogVolume = (void *)0x059F9270; const void * RTTI_ExtraFollower = (void *)0x059F7B20; const void * RTTI_ExtraFollowerSwimBreadcrumbs = (void *)0x059F9208; const void * RTTI_ExtraForcedLandingMarker = (void *)0x059F6E28; const void * RTTI_ExtraForcedTarget = (void *)0x059F7D40; const void * RTTI_ExtraFriendHits = (void *)0x059F8BD0; const void * RTTI_ExtraFromAlias = (void *)0x059F7410; const void * RTTI_ExtraFurnitureEntryData = (void *)0x059F8A78; const void * RTTI_ExtraGeometryDirtynessScale = (void *)0x059F7898; const void * RTTI_ExtraGhost = (void *)0x059F96F0; const void * RTTI_ExtraGlobal = (void *)0x059F80B0; const void * RTTI_ExtraGroupedPackin = (void *)0x059F6AD0; const void * RTTI_ExtraGuardedRefData = (void *)0x059F8FC0; const void * RTTI_ExtraHasNoRumors = (void *)0x059F7460; const void * RTTI_ExtraHavok = (void *)0x059F6420; const void * RTTI_ExtraHeadTrackingWeight = (void *)0x059F7E08; const void * RTTI_ExtraHeadingTarget = (void *)0x059F7A40; const void * RTTI_ExtraHealth = (void *)0x059F7BC0; const void * RTTI_ExtraHorse = (void *)0x059F7CE8; const void * RTTI_ExtraIgnoredAttractKeywords = (void *)0x059F7190; const void * RTTI_ExtraIgnoredBySandbox = (void *)0x059F8FF0; const void * RTTI_ExtraInitActions = (void *)0x059DA278; const void * RTTI_ExtraInputEnableLayer = (void *)0x059F8DE8; const void * RTTI_ExtraInstanceData = (void *)0x059F8EA8; const void * RTTI_ExtraInteraction = (void *)0x059F9020; const void * RTTI_ExtraInvestedGold = (void *)0x059F70C8; const void * RTTI_ExtraItemDropper = (void *)0x059F95B0; const void * RTTI_ExtraKeywords = (void *)0x059F6D78; const void * RTTI_ExtraLargeRefOwnerCells = (void *)0x059F6F08; const void * RTTI_ExtraLastFinishedSequence = (void *)0x059F96C0; const void * RTTI_ExtraLegendary = (void *)0x059F7680; const void * RTTI_ExtraLevCreaModifier = (void *)0x059F8C58; const void * RTTI_ExtraLeveledBaseObject = (void *)0x059F8C28; const void * RTTI_ExtraLeveledCreature = (void *)0x059F9500; const void * RTTI_ExtraLeveledItem = (void *)0x059F8058; const void * RTTI_ExtraLight = (void *)0x059F94D8; const void * RTTI_ExtraLightAreaData = (void *)0x059F81D8; const void * RTTI_ExtraLightBarndoorData = (void *)0x059F7EF8; const void * RTTI_ExtraLightColorData = (void *)0x059F8208; const void * RTTI_ExtraLightData = (void *)0x059F6EE0; const void * RTTI_ExtraLightFlickerData = (void *)0x059F81A8; const void * RTTI_ExtraLightGoboData = (void *)0x059F8238; const void * RTTI_ExtraLightLayerData = (void *)0x059F8130; const void * RTTI_ExtraLightRoundnessData = (void *)0x059F7EC8; const void * RTTI_ExtraLightStaticShadowMapData = (void *)0x059F6F60; const void * RTTI_ExtraLightVolumetricData = (void *)0x059F8100; const void * RTTI_ExtraLinkedChildrenAliasInstanceArray = (void *)0x059F8ED0; const void * RTTI_ExtraLinkedRef = (void *)0x059F7B70; const void * RTTI_ExtraLinkedRefChildren = (void *)0x059F9718; const void * RTTI_ExtraLitWaterRefs = (void *)0x059F7548; const void * RTTI_ExtraLocation = (void *)0x059F7628; const void * RTTI_ExtraLocationRefType = (void *)0x059F9748; const void * RTTI_ExtraLock = (void *)0x059F8188; const void * RTTI_ExtraLockList = (void *)0x059F7388; const void * RTTI_ExtraMagicCaster = (void *)0x059F6AA8; const void * RTTI_ExtraMapMarker = (void *)0x059F9530; const void * RTTI_ExtraMaterialSwap = (void *)0x059F6DD0; const void * RTTI_ExtraMissingRefIDs = (void *)0x059F7C88; const void * RTTI_ExtraModIndex = (void *)0x059F6C98; const void * RTTI_ExtraModRank = (void *)0x059F6F38; const void * RTTI_ExtraModelSwap = (void *)0x059F7438; const void * RTTI_ExtraNavMeshPortal = (void *)0x059F7E70; const void * RTTI_ExtraNorthRotation = (void *)0x059F6530; const void * RTTI_ExtraObjectBreakable = (void *)0x059F71F0; const void * RTTI_ExtraObjectSavedDynamicIdles = (void *)0x059F7130; const void * RTTI_ExtraObjectSavedUnrecoverableSubgraphs = (void *)0x059F70F0; const void * RTTI_ExtraOcclusionPlaneRefData = (void *)0x059F7E38; const void * RTTI_ExtraOpenCloseActivateRef = (void *)0x059F73E0; const void * RTTI_ExtraOriginalBaseObject = (void *)0x059F7308; const void * RTTI_ExtraOriginalReference = (void *)0x059F7AF0; const void * RTTI_ExtraOutfitItem = (void *)0x059F8030; const void * RTTI_ExtraOwnership = (void *)0x059F80D8; const void * RTTI_ExtraOwningInstance = (void *)0x059F75A0; const void * RTTI_ExtraPackage = (void *)0x059F9480; const void * RTTI_ExtraPackageData = (void *)0x059F6F98; const void * RTTI_ExtraPackageStartLocation = (void *)0x059F9128; const void * RTTI_ExtraPatrolRefData = (void *)0x059F7A10; const void * RTTI_ExtraPatrolRefInUseData = (void *)0x059F9320; const void * RTTI_ExtraPersistentCell = (void *)0x059F9048; const void * RTTI_ExtraPlacedPlanetContent = (void *)0x059F6788; const void * RTTI_ExtraPlayerCrimeList = (void *)0x059F94A8; const void * RTTI_ExtraPoison = (void *)0x059F7A70; const void * RTTI_ExtraPowerArmor = (void *)0x059F8D90; const void * RTTI_ExtraPowerArmorPreload = (void *)0x059F8DB8; const void * RTTI_ExtraPowerLinks = (void *)0x059F7B48; const void * RTTI_ExtraPrimitive = (void *)0x059F77D8; const void * RTTI_ExtraProceduralInstanceData = (void *)0x059F6B58; const void * RTTI_ExtraProcessMiddleLow = (void *)0x059F6500; const void * RTTI_ExtraProjectedDecalData = (void *)0x059F7868; const void * RTTI_ExtraPromotedRef = (void *)0x059F8F10; const void * RTTI_ExtraPropertySheet = (void *)0x059F6C68; const void * RTTI_ExtraRadioData = (void *)0x059F79C0; const void * RTTI_ExtraRadioReceiver = (void *)0x059F72D8; const void * RTTI_ExtraRadioRepeater = (void *)0x059F72A8; const void * RTTI_ExtraRadius = (void *)0x059F74C0; const void * RTTI_ExtraRadiusFalloffExponent = (void *)0x059F7488; const void * RTTI_ExtraRagDollData = (void *)0x059F8CE8; const void * RTTI_ExtraRandomAnimStartTime = (void *)0x059F6B90; const void * RTTI_ExtraRandomTeleportMarker = (void *)0x059F9668; const void * RTTI_ExtraRangedDistOverride = (void *)0x059F7920; const void * RTTI_ExtraRank = (void *)0x059F8010; const void * RTTI_ExtraRefWeaponSounds = (void *)0x059F8B38; const void * RTTI_ExtraReferenceGroup = (void *)0x059F6DF8; const void * RTTI_ExtraReferenceHandles = (void *)0x059F7650; const void * RTTI_ExtraReflectedRefs = (void *)0x059F7518; const void * RTTI_ExtraReflectorRefs = (void *)0x059F74E8; const void * RTTI_ExtraRefrPath = (void *)0x059F8F38; const void * RTTI_ExtraRefractionProperty = (void *)0x059F9350; const void * RTTI_ExtraRegionList = (void *)0x059F63A0; const void * RTTI_ExtraReservedMarkers = (void *)0x059F8D38; const void * RTTI_ExtraRoomRefData = (void *)0x059F92F8; const void * RTTI_ExtraRunOncePacks = (void *)0x059F97D0; const void * RTTI_ExtraSavedAnimation = (void *)0x059F9608; const void * RTTI_ExtraSavedHavokData = (void *)0x059F9638; const void * RTTI_ExtraSayToTopicInfo = (void *)0x059F91D8; const void * RTTI_ExtraSayTopicInfoOnceADay = (void *)0x059F9298; const void * RTTI_ExtraScale = (void *)0x059F7BE8; const void * RTTI_ExtraSceneData = (void *)0x059F7DB8; const void * RTTI_ExtraScriptedAnimDependence = (void *)0x059F8E70; const void * RTTI_ExtraSeed = (void *)0x059F9460; const void * RTTI_ExtraSeenData = (void *)0x059F63C8; const void * RTTI_ExtraShipArrivalData = (void *)0x059F7838; const void * RTTI_ExtraShipBlueprintSnapData = (void *)0x059F90B0; const void * RTTI_ExtraShouldWear = (void *)0x059F9438; const void * RTTI_ExtraSnapLinks = (void *)0x059F6B00; const void * RTTI_ExtraSoul = (void *)0x059F9108; const void * RTTI_ExtraSound = (void *)0x059F9380; const void * RTTI_ExtraSoundHook = (void *)0x059F7A98; const void * RTTI_ExtraSourcePackIn = (void *)0x059F6CC0; const void * RTTI_ExtraSpawnContainer = (void *)0x059F8C88; const void * RTTI_ExtraStartingPosition = (void *)0x059F8080; const void * RTTI_ExtraStartingWorldOrCell = (void *)0x059F8F60; const void * RTTI_ExtraTeleport = (void *)0x059F8160; const void * RTTI_ExtraTeleportName = (void *)0x059F7338; const void * RTTI_ExtraTempLocationWorldSpace = (void *)0x059F9078; const void * RTTI_ExtraTerminalMenuBodyTextItems = (void *)0x059F6C30; const void * RTTI_ExtraTerminalMenuItems = (void *)0x059F6D48; const void * RTTI_ExtraTerminalMenuMenuItems = (void *)0x059F6D10; const void * RTTI_ExtraTerminalMenuUnlockedItems = (void *)0x059F6BF8; const void * RTTI_ExtraTextDisplayData = (void *)0x059F7D10; const void * RTTI_ExtraTimeLeft = (void *)0x059F7B98; const void * RTTI_ExtraTimeOfDayData = (void *)0x059F6B28; const void * RTTI_ExtraTransitionCellCount = (void *)0x059F76D8; const void * RTTI_ExtraTraversalData = (void *)0x059F8AA8; const void * RTTI_ExtraTresPassPackage = (void *)0x059F76A8; const void * RTTI_ExtraUniqueID = (void *)0x059F7C60; const void * RTTI_ExtraUsedMarkers = (void *)0x059F8D10; const void * RTTI_ExtraVoiceType = (void *)0x059F70A0; const void * RTTI_ExtraVolumeData = (void *)0x059F7998; const void * RTTI_ExtraVolumeReflectionProbe_OffsetIntensity = (void *)0x059F7950; const void * RTTI_ExtraWaterCurrentZoneData = (void *)0x059F7CB8; const void * RTTI_ExtraWaterData = (void *)0x059F8E48; const void * RTTI_ExtraWaterLightRefs = (void *)0x059F7570; const void * RTTI_ExtraWaterReflectionData = (void *)0x059F6DA0; const void * RTTI_ExtraWorkshopSnapping = (void *)0x05A50808; const void * RTTI_ExtraWwiseSwitchData = (void *)0x05A7A760; const void * RTTI_EyeTrackingOffHandler = (void *)0x05BCE340; const void * RTTI_EyeTrackingOnHandler = (void *)0x05BCE310; const void * RTTI_FACEFX_ACTOR = (void *)0x059DA7A8; const void * RTTI_FACEFX_BONESET = (void *)0x059DAE98; const void * RTTI_FOCollisionListener = (void *)0x05A85340; const void * RTTI_FaceEmotionalIdleHandler = (void *)0x05BCB328; const void * RTTI_FaderMenu = (void *)0x05C4E928; const void * RTTI_FanfareData = (void *)0x05AE26F0; const void * RTTI_FanfareMenu = (void *)0x05AE27D8; const void * RTTI_FanfareMenu__FanfareEventShuttle = (void *)0x05AE27A0; const void * RTTI_FarTravel__Arrival = (void *)0x05B83BB0; const void * RTTI_FarTravel__Cruise = (void *)0x05B83C80; const void * RTTI_FarTravel__Departure = (void *)0x05B83C50; const void * RTTI_FarTravel__FarTravelOrbitalUpdateFadeDone = (void *)0x05B83BD8; const void * RTTI_FarTravel__FarTravelUnloadNode = (void *)0x05A59598; const void * RTTI_FarTravel__UpdateGalacticPositions = (void *)0x05B83C18; const void * RTTI_FavoritesManager = (void *)0x05C4FE10; const void * RTTI_FavoritesManager__FavoritesData = (void *)0x05C50288; const void * RTTI_FavoritesManager__FavoritesEntryData = (void *)0x05C501A0; const void * RTTI_FavoritesManager__FavoritesUIDataEventShuttle = (void *)0x05C501E0; const void * RTTI_FavoritesMenu = (void *)0x05C500C0; const void * RTTI_FavoritesMenu_AssignQuickkey = (void *)0x05C4FAF0; const void * RTTI_FavoritesMenu_UseQuickkey = (void *)0x05C4FCA8; const void * RTTI_FilterSideBar = (void *)0x05D54E20; const void * RTTI_FindConnectedNavmeshInfosVisitor = (void *)0x05A99908; const void * RTTI_FindDynamicNeighborsTask = (void *)0x0598E2D0; const void * RTTI_FindEffectKeywordOnTargetFunctor = (void *)0x05B7F8D8; const void * RTTI_FindTriangleForLocationFilter = (void *)0x059BFF50; const void * RTTI_FindTriangleForLocationFilterCheckDeltaZ = (void *)0x059BFE78; const void * RTTI_FindTriangleForLocationTraversableFilter = (void *)0x05CEC178; const void * RTTI_FindTriangleForLocationWaterFilter = (void *)0x05CEBE70; const void * RTTI_FireForgetModel = (void *)0x05AF79C0; const void * RTTI_FireForgetModel__FireForgetEventShuttle = (void *)0x05AF7A30; const void * RTTI_FireParticlesCollidedWithBodiesCallbackTask = (void *)0x0598E400; const void * RTTI_FireParticlesCollidedWithParticlesCallbackTask = (void *)0x0598E3B0; const void * RTTI_FireParticlesExitedSafeRegionCallbackTask = (void *)0x0598E450; const void * RTTI_FirstPersonState = (void *)0x05C48418; const void * RTTI_FlameProjectile = (void *)0x05BD1F58; const void * RTTI_FleePackage = (void *)0x05998230; const void * RTTI_FlightActionEndHandler = (void *)0x05BCE6F8; const void * RTTI_FlightActionEntryEndHandler = (void *)0x05BCE6C0; const void * RTTI_FlightActionHandler = (void *)0x05BCE758; const void * RTTI_FlightCameraState = (void *)0x05C48720; const void * RTTI_FlightCrashLandStartHandler = (void *)0x05BCE658; const void * RTTI_FlightCruisingHandler = (void *)0x05BCE870; const void * RTTI_FlightHoveringHandler = (void *)0x05BCE7E0; const void * RTTI_FlightLandEndHandler = (void *)0x05BCE728; const void * RTTI_FlightLandHandler = (void *)0x05BCE7B8; const void * RTTI_FlightLandingHandler = (void *)0x05BCE810; const void * RTTI_FlightPerchingHandler = (void *)0x05BCE788; const void * RTTI_FlightTakeOffHandler = (void *)0x05BCE840; const void * RTTI_Float3LightAnimData = (void *)0x059E64B0; const void * RTTI_Float4LightAnimData = (void *)0x059E64E0; const void * RTTI_FloatLightAnimData = (void *)0x059E6458; const void * RTTI_FoodCraftingMenu = (void *)0x05B32718; const void * RTTI_FootIKNode = (void *)0x05C95E60; const void * RTTI_FootIKNodeInstance = (void *)0x05C98B10; const void * RTTI_ForceWeaponFireHandler = (void *)0x05BCF190; const void * RTTI_FormStreamerLoadStorageWrapper = (void *)0x05B8C1F8; const void * RTTI_FormStreamerSaveStorageWrapper = (void *)0x05B8C1C0; const void * RTTI_FrameInterpolationSwapChainDX12 = (void *)0x059BD1D0; const void * RTTI_FreeAdvancedCameraState = (void *)0x05C486F0; const void * RTTI_FreeFlyCameraState = (void *)0x05C48780; const void * RTTI_FreeTetheredCameraState = (void *)0x05C487B0; const void * RTTI_FreeWalkCameraState = (void *)0x05C486C0; const void * RTTI_FrenzyEffect = (void *)0x05B80B90; const void * RTTI_FurnitureCameraState = (void *)0x05C48440; const void * RTTI_FurnitureMarkerNavmeshPositionCache = (void *)0x05A0BB00; const void * RTTI_GPUCaptureHandler = (void *)0x05C53E38; const void * RTTI_Gallery_Entry = (void *)0x05D55460; const void * RTTI_GameBIEvents__ClientSettingsBIEvents = (void *)0x05B82ED8; const void * RTTI_GameBIEvents__PlayerBIEvents = (void *)0x05B83428; const void * RTTI_GameMenuBase = (void *)0x05ADAAD8; const void * RTTI_GameScript__ActorValueEventHandler = (void *)0x05C5AE48; const void * RTTI_GameScript__AffinityEventHandler = (void *)0x05C5B500; const void * RTTI_GameScript__AnimCallbackMgr = (void *)0x05C70710; const void * RTTI_GameScript__BasicEventHandler = (void *)0x05C75750; const void * RTTI_GameScript__BuilderEventHandler = (void *)0x05C5BAD8; const void * RTTI_GameScript__ChallengeEventHandler = (void *)0x05AEB458; const void * RTTI_GameScript__CombatEventHandler = (void *)0x05C5CB10; const void * RTTI_GameScript__CustomEventHandler = (void *)0x05C5DC80; const void * RTTI_GameScript__DataFileHandleReaderWriter = (void *)0x05C5B850; const void * RTTI_GameScript__DebuggerMessages__ContinueRequest = (void *)0x05C58590; const void * RTTI_GameScript__DebuggerMessages__DisconnectRequest = (void *)0x05C588A0; const void * RTTI_GameScript__DebuggerMessages__Event = (void *)0x05C587D8; const void * RTTI_GameScript__DebuggerMessages__NextRequest = (void *)0x05C58758; const void * RTTI_GameScript__DebuggerMessages__OutputEvent = (void *)0x05C581A8; const void * RTTI_GameScript__DebuggerMessages__PauseRequest = (void *)0x05C585D8; const void * RTTI_GameScript__DebuggerMessages__ProtocolMessage = (void *)0x05C58850; const void * RTTI_GameScript__DebuggerMessages__Request = (void *)0x05C58810; const void * RTTI_GameScript__DebuggerMessages__Response = (void *)0x05C588E8; const void * RTTI_GameScript__DebuggerMessages__SetBreakpointsRequest = (void *)0x05C58710; const void * RTTI_GameScript__DebuggerMessages__SetBreakpointsResponse = (void *)0x05C58280; const void * RTTI_GameScript__DebuggerMessages__StackTraceRequest = (void *)0x05C58620; const void * RTTI_GameScript__DebuggerMessages__StackTraceResponse = (void *)0x05C582D0; const void * RTTI_GameScript__DebuggerMessages__StepInRequest = (void *)0x05C584F0; const void * RTTI_GameScript__DebuggerMessages__StepOutRequest = (void *)0x05C584A0; const void * RTTI_GameScript__DebuggerMessages__StoppedEvent = (void *)0x05C58168; const void * RTTI_GameScript__DebuggerMessages__ThreadEvent = (void *)0x05C58238; const void * RTTI_GameScript__DebuggerMessages__ThreadsRequest = (void *)0x05C58670; const void * RTTI_GameScript__DebuggerMessages__ThreadsResponse = (void *)0x05C581F0; const void * RTTI_GameScript__DebuggerMessages__ValueRequest = (void *)0x05C58798; const void * RTTI_GameScript__DebuggerMessages__ValueResponse = (void *)0x05C58320; const void * RTTI_GameScript__DebuggerMessages__VariablesRequest = (void *)0x05C586C0; const void * RTTI_GameScript__DebuggerMessages__VariablesResponse = (void *)0x05C58360; const void * RTTI_GameScript__DebuggerMessages__VersionEvent = (void *)0x05C583A8; const void * RTTI_GameScript__DelayFunctor = (void *)0x05C59490; const void * RTTI_GameScript__DelayFunctorFactory = (void *)0x05C594C0; const void * RTTI_GameScript__DistanceEventHandler = (void *)0x05C787C0; const void * RTTI_GameScript__FragmentEventHandler = (void *)0x05C5D978; const void * RTTI_GameScript__HandlePolicy = (void *)0x05C64250; const void * RTTI_GameScript__Internal__AnimationCallbacks = (void *)0x05C5B810; const void * RTTI_GameScript__Internal__LOSDetectionEventData = (void *)0x05C5EFE0; const void * RTTI_GameScript__Internal__LOSDirectEventData = (void *)0x05C5F020; const void * RTTI_GameScript__Internal__LOSEventData = (void *)0x05C5F698; const void * RTTI_GameScript__InventoryEventHandler = (void *)0x05C5EC90; const void * RTTI_GameScript__LOSEventHandler = (void *)0x05C5F6D0; const void * RTTI_GameScript__Logger = (void *)0x05C5E288; const void * RTTI_GameScript__MenuEventHandler = (void *)0x05C5FE78; const void * RTTI_GameScript__ObjectBindPolicy = (void *)0x05C64218; const void * RTTI_GameScript__PathingCallbackMgr = (void *)0x05C600E0; const void * RTTI_GameScript__Profiler = (void *)0x05C603F8; const void * RTTI_GameScript__QuestCallbackMgr = (void *)0x05C605E0; const void * RTTI_GameScript__RemoteDebugger = (void *)0x05C58560; const void * RTTI_GameScript__SaveFileHandleReaderWriter = (void *)0x05C5B890; const void * RTTI_GameScript__SavePatcher = (void *)0x05C60760; const void * RTTI_GameScript__ScriptSpaceCellCreateComplete = (void *)0x05C5BA20; const void * RTTI_GameScript__ScriptSpaceshipCreateComplete = (void *)0x05C5BA60; const void * RTTI_GameScript__SleepEventHandler = (void *)0x05C60960; const void * RTTI_GameScript__SoundCallbackMgr = (void *)0x05C60DA0; const void * RTTI_GameScript__SpaceshipEventHandler = (void *)0x05C76FC8; const void * RTTI_GameScript__Store = (void *)0x05C60E00; const void * RTTI_GameScript__TeleportEventHandler = (void *)0x05C77328; const void * RTTI_GameScript__TimerEventHandler = (void *)0x05C77C70; const void * RTTI_GameScript__TrackedStatsEventHandler = (void *)0x05C78020; const void * RTTI_GameScript__WaitEventHandler = (void *)0x05C787F8; const void * RTTI_GameSettingCollection = (void *)0x059C2520; const void * RTTI_GameUIGlobalFunc = (void *)0x05B26398; const void * RTTI_GameUIModel = (void *)0x05B26118; const void * RTTI_GameVM = (void *)0x05C641F8; const void * RTTI_GamebryoSequence = (void *)0x05C95EB8; const void * RTTI_GamebryoSequenceInstance = (void *)0x05C98B40; const void * RTTI_GenerateMappingToPointsBufferTask = (void *)0x0598E1E0; const void * RTTI_GenerateObstacleTask = (void *)0x05A1CFE0; const void * RTTI_GenericFrameUpdateOperationsService = (void *)0x059D3958; const void * RTTI_GetBestAmmoFunctor = (void *)0x05A6F668; const void * RTTI_GetBestCutterFunctor = (void *)0x05A6F698; const void * RTTI_GetBestLightFunctor = (void *)0x05A6F6C8; const void * RTTI_GetBestWeaponFunctor = (void *)0x05A6FA40; const void * RTTI_GetMagicItemDescriptionFunctor = (void *)0x059F5FD8; const void * RTTI_GetUpEndHandler = (void *)0x05BCF6B0; const void * RTTI_GetUpStartHandler = (void *)0x05BCF688; const void * RTTI_GlobalDirtOverlayManager = (void *)0x05CBD218; const void * RTTI_GlobalFunc_CloseAllMenus = (void *)0x05B25B78; const void * RTTI_GlobalFunc_CloseMenu = (void *)0x05B25D18; const void * RTTI_GlobalFunc_PlayMenuSound = (void *)0x05B26090; const void * RTTI_GlobalFunc_StartGameRender = (void *)0x05B26058; const void * RTTI_GlobalFunc_UserEvent = (void *)0x05B25EC0; const void * RTTI_GraphReferenceNode = (void *)0x05C8B540; const void * RTTI_GraphReferenceNodeInstance = (void *)0x05C8B508; const void * RTTI_GraphicsInfoDataModel = (void *)0x05AFB668; const void * RTTI_GravJumpInitiateCompleteHandler = (void *)0x05BCB4E8; const void * RTTI_GravJumpSearch = (void *)0x05A18688; const void * RTTI_GravityWielderEffect = (void *)0x05B7F188; const void * RTTI_GrenadeProjectile = (void *)0x05BD1F80; const void * RTTI_GridArray = (void *)0x05A0E9D0; const void * RTTI_GridCellArray = (void *)0x05A0EE90; const void * RTTI_GroundPathPathingNodeGenerator = (void *)0x05CFA4A8; const void * RTTI_GroundPathRayValidator = (void *)0x05CFA5A8; const void * RTTI_GuardActorPackageData = (void *)0x05BB8940; const void * RTTI_GuideEffect = (void *)0x05B7F368; const void * RTTI_HUDAmmoCountModel = (void *)0x05B265C0; const void * RTTI_HUDAmmoCountModel__HUDAmmoCountModelShuttle = (void *)0x05B26680; const void * RTTI_HUDCommandIconData = (void *)0x05B26B58; const void * RTTI_HUDCompassDataModel = (void *)0x05AFB9B0; const void * RTTI_HUDCrewBuffDataModel = (void *)0x05AF0C88; const void * RTTI_HUDCrosshairDataModel = (void *)0x05AFC3E0; const void * RTTI_HUDCrosshairDataModel__HUDCrosshairEventShuttle = (void *)0x05AFC2B0; const void * RTTI_HUDDataModel = (void *)0x05B295F8; const void * RTTI_HUDDataModel__HUDDataEventShuttle = (void *)0x05B29580; const void * RTTI_HUDDirectionalHitIndicatorDataModel = (void *)0x05B26F48; const void * RTTI_HUDEnemyDataModel = (void *)0x05AFC6B8; const void * RTTI_HUDEnemyDataModel__HUDEnemyEventShuttle = (void *)0x05AFC5D8; const void * RTTI_HUDExperienceMeterDataModel = (void *)0x05B280C8; const void * RTTI_HUDExperienceMeterDataModel__HUDExperienceMeterEventShuttle = (void *)0x05B27D10; const void * RTTI_HUDJetpackDataModel = (void *)0x05AFC878; const void * RTTI_HUDLocationDataModel = (void *)0x05AFC9D0; const void * RTTI_HUDMenu = (void *)0x05C50378; const void * RTTI_HUDMessageDataModel = (void *)0x05AFCEA0; const void * RTTI_HUDMessagesMenu = (void *)0x05B32740; const void * RTTI_HUDNotification_MissionActiveWidgetUpdate = (void *)0x05B2B220; const void * RTTI_HUDNotification_OpenDataMenu = (void *)0x05B2AFD0; const void * RTTI_HUDNotification_OpenMissionMenu = (void *)0x05B2B180; const void * RTTI_HUDNotification_SetMissionActive = (void *)0x05B2B060; const void * RTTI_HUDNotificationsModel = (void *)0x05B2ABB8; const void * RTTI_HUDNotificationsModel__HUDNotificationsEventShuttle = (void *)0x05B2A880; const void * RTTI_HUDOpacityModel = (void *)0x05B2B260; const void * RTTI_HUDOpacityModel__HUDOpacityEventShuttle = (void *)0x05B2B318; const void * RTTI_HUDRolloverActivationButtonEvent = (void *)0x05AFAC50; const void * RTTI_HUDRolloverActivationCompanionListener = (void *)0x05AFB300; const void * RTTI_HUDRolloverActivationCorpseListener = (void *)0x05AFB340; const void * RTTI_HUDRolloverActivationDisplayCaseListener = (void *)0x05AF9FB0; const void * RTTI_HUDRolloverActivationDoorListener = (void *)0x05AFB380; const void * RTTI_HUDRolloverActivationFallbackListener = (void *)0x05AF7FA8; const void * RTTI_HUDRolloverActivationLootListener = (void *)0x05AFB3F8; const void * RTTI_HUDRolloverActivationNPCListener = (void *)0x05AFB430; const void * RTTI_HUDRolloverActivationOutpostItemListener = (void *)0x05AF80A8; const void * RTTI_HUDRolloverActivationOutpostListener = (void *)0x05AF83E0; const void * RTTI_HUDRolloverActivationOutpostQCListener = (void *)0x05AF8468; const void * RTTI_HUDRolloverActivationQCItemPressEvent = (void *)0x05AFABB8; const void * RTTI_HUDRolloverActivationQuickContainerListener = (void *)0x05AF8420; const void * RTTI_HUDRolloverActivationShipContainerListener = (void *)0x05AFB520; const void * RTTI_HUDRolloverActivationTeammateListener = (void *)0x05AFB568; const void * RTTI_HUDRolloverActivationTerminalListener = (void *)0x05AFB5A8; const void * RTTI_HUDRolloverDataModel = (void *)0x05AFAB28; const void * RTTI_HUDSocialCommandData = (void *)0x05B26B28; const void * RTTI_HUDSocialCommandDataModel = (void *)0x05B26A60; const void * RTTI_HUDSocialCommandDataModel__HUDSocialCommandDataEventShuttle = (void *)0x05B269B0; const void * RTTI_HUDStarbornPowersDataModel = (void *)0x05AFD4A0; const void * RTTI_HUDStarbornPowersDataModel__HUDStarbornPowersEventShuttle = (void *)0x05AFD410; const void * RTTI_HUDStealthDataModel = (void *)0x05AFD840; const void * RTTI_HUDStealthDataModel__HUDStealthEventShuttle = (void *)0x05AFD720; const void * RTTI_HUDSubtitleDataModel = (void *)0x05AFDD50; const void * RTTI_HUDSubtitleDataModel__HUDSubtitleEventShuttle = (void *)0x05AFDBE0; const void * RTTI_HUDVehicleData = (void *)0x05AD86E0; const void * RTTI_HUDWatchEffectsModel = (void *)0x05AFE5F8; const void * RTTI_HUDWatchEffectsModel__HUDWatchEffectsModelShuttle = (void *)0x05AFE3D0; const void * RTTI_HangarShipSelection_ChangeSystemDisplay = (void *)0x05AE7F80; const void * RTTI_HangarShipSelection_RepairShip = (void *)0x05AE7B30; const void * RTTI_HangarShipSelection_UpgradeSystem = (void *)0x05AE7EF0; const void * RTTI_HasSpellVisitor = (void *)0x05BAF3E8; const void * RTTI_HavokErrorCRTestApp = (void *)0x05CA2AE0; const void * RTTI_HavokFileStreambufWriter = (void *)0x05A858C8; const void * RTTI_HavokParticleDef__BaseShape = (void *)0x05CAD870; const void * RTTI_HavokParticleDef__BoxShape = (void *)0x05CAD728; const void * RTTI_HavokParticleDef__CapsuleShape = (void *)0x05CAD7C8; const void * RTTI_HavokParticleDef__ConvexShape = (void *)0x05CAD590; const void * RTTI_HavokParticleDef__CubeShape = (void *)0x05CAD758; const void * RTTI_HavokParticleDef__CylinderShape = (void *)0x05CAD790; const void * RTTI_HavokParticleDef__SphereShape = (void *)0x05CAD838; const void * RTTI_HavokStreambufFactory = (void *)0x05A85628; const void * RTTI_Hazard = (void *)0x05997B68; const void * RTTI_HazardTargetFinderHavok = (void *)0x05AAF818; const void * RTTI_HeadTrackingOffHandler = (void *)0x05BCE3A0; const void * RTTI_HeadTrackingOnHandler = (void *)0x05BCE370; const void * RTTI_HeadTrackingRotationOffHandler = (void *)0x05BCE8D8; const void * RTTI_HeadTrackingRotationOnHandler = (void *)0x05BCE8A0; const void * RTTI_HealthDamageFunctor = (void *)0x05BD38F0; const void * RTTI_HeapAllocator = (void *)0x05C9C900; const void * RTTI_HelpData = (void *)0x05AEE950; const void * RTTI_HelpDataModel = (void *)0x05AEEAF0; const void * RTTI_HelpDataModel__HelpDataModelEventShuttle = (void *)0x05AEEB18; const void * RTTI_HelpTopicData = (void *)0x05AEE928; const void * RTTI_HerdManager = (void *)0x05ACCEC0; const void * RTTI_HideSubsegmentHandler = (void *)0x05BCB5B0; const void * RTTI_HighlightManager = (void *)0x05A0C710; const void * RTTI_HitFrameHandler = (void *)0x05BCE5D0; const void * RTTI_HorseCameraState = (void *)0x05C48470; const void * RTTI_HudModeDataModel = (void *)0x05AFD1B8; const void * RTTI_HudModeDataModel__HUDModeEventShuttle = (void *)0x05AFD0D0; const void * RTTI_IAIWorldLocation = (void *)0x059BFC20; const void * RTTI_IAIWorldLocationHandle = (void *)0x05A89200; const void * RTTI_IAimAssistImpl = (void *)0x05AA9B88; const void * RTTI_IAnimationEventDataForEachFunctor = (void *)0x059C3EC8; const void * RTTI_IAnimationGraphManagerLoadingTask = (void *)0x05A7FD90; const void * RTTI_IAnimationStanceData = (void *)0x05C9AE08; const void * RTTI_IAnimationStreamWrite = (void *)0x05A71000; const void * RTTI_IBGSBaseFormData = (void *)0x059BD958; const void * RTTI_ICheckEndReachedFunctor = (void *)0x05CF3708; const void * RTTI_ICheckEndReachedFunctorMapper = (void *)0x05CF39B8; const void * RTTI_ICommandLineHandler = (void *)0x05B99010; const void * RTTI_IConvexOverlapImpl = (void *)0x059888C0; const void * RTTI_IConvexOverlapImpl__ShapeInterface = (void *)0x059888F0; const void * RTTI_IDEvent = (void *)0x05C9D598; const void * RTTI_IDataModel = (void *)0x059CE0A8; const void * RTTI_IExplosionFactory = (void *)0x05B8D3F8; const void * RTTI_IFadeDoneCallback = (void *)0x05A66740; const void * RTTI_IFormComponentFactoryCreator = (void *)0x059CB3B0; const void * RTTI_IFormComponentFactoryCreator__ReserveControl = (void *)0x059CB420; const void * RTTI_IFormFactory = (void *)0x059D3F30; const void * RTTI_IFormFactory__IFactoryVisitor = (void *)0x05A033C8; const void * RTTI_IHUDRolloverActivationListener = (void *)0x05AF8028; const void * RTTI_IMemoryManagerFile = (void *)0x05BA0CF8; const void * RTTI_IMemoryManagerFileFactory = (void *)0x05BA0CC8; const void * RTTI_IMemoryStore = (void *)0x05B8C630; const void * RTTI_IMemoryStoreBase = (void *)0x05B8C608; const void * RTTI_IMenu = (void *)0x059EBB90; const void * RTTI_IMessageBoxCallback = (void *)0x05A64A30; const void * RTTI_IMovementAvoidanceManager = (void *)0x05BB7030; const void * RTTI_IMovementControllerNPCFunctor = (void *)0x05B9AF58; const void * RTTI_IMovementDirectControl = (void *)0x05BB7318; const void * RTTI_IMovementFormIDManager = (void *)0x05BB6020; const void * RTTI_IMovementPDControllerAccess = (void *)0x05CF3E90; const void * RTTI_IMovementParameters = (void *)0x059C23F0; const void * RTTI_IMovementPlannerDirectControl = (void *)0x05BB72E0; const void * RTTI_IMovementPlannerSetArbitration = (void *)0x05CF2458; const void * RTTI_IMovementPlayIdleResult = (void *)0x05CF35B8; const void * RTTI_IMovementQueryFlight = (void *)0x05CFA198; const void * RTTI_IMovementQueryPathFollowing = (void *)0x05CF3950; const void * RTTI_IMovementQueryState = (void *)0x05BB7FF8; const void * RTTI_IMovementQueryStaticAvoider = (void *)0x05CF4648; const void * RTTI_IMovementQueryTweener = (void *)0x05CF2FB0; const void * RTTI_IMovementQueryTweenerState = (void *)0x05CF49F0; const void * RTTI_IMovementSetCorrectionData = (void *)0x05CF49B8; const void * RTTI_IMovementSetGoal = (void *)0x05CF1E40; const void * RTTI_IMovementSetPathFollowing = (void *)0x05CF3988; const void * RTTI_IMovementSetRollTarget = (void *)0x05CF3E60; const void * RTTI_IMovementSetSprinting = (void *)0x05A12A20; const void * RTTI_IMovementSetState = (void *)0x05CF39F0; const void * RTTI_IMovementSetStaticAvoider = (void *)0x05CF4618; const void * RTTI_IMovementSetWarp = (void *)0x05BB8268; const void * RTTI_INIPrefSetting = (void *)0x059CD430; const void * RTTI_INIPrefSettingCollection = (void *)0x059CD3C0; const void * RTTI_INISettingCollection = (void *)0x059C3110; const void * RTTI_INavmeshSearchFilterSet = (void *)0x05A9B6F8; const void * RTTI_IOControlNode = (void *)0x059DBD20; const void * RTTI_IOManager = (void *)0x05CB1988; const void * RTTI_IOManagerThread = (void *)0x05CB1D20; const void * RTTI_IOManager__SystemTaskService = (void *)0x05CB1D48; const void * RTTI_IOPostProcessTaskNode = (void *)0x05CB1CF0; const void * RTTI_IOSystemTask = (void *)0x059DD7B8; const void * RTTI_IOTask = (void *)0x059EC8D8; const void * RTTI_IOTaskNode = (void *)0x05CB1D80; const void * RTTI_IPackageData = (void *)0x059920E8; const void * RTTI_IPackageDataTypeCheck = (void *)0x059C1D30; const void * RTTI_IPathBuilder = (void *)0x059C2020; const void * RTTI_IPathBuilderFactoryBase = (void *)0x059C2308; const void * RTTI_IPathBuilderTracker = (void *)0x05AADDF8; const void * RTTI_IPathFollowerState = (void *)0x05CFA710; const void * RTTI_IPathSmootherRayCast = (void *)0x05CEC148; const void * RTTI_IPathingNodeGenerator = (void *)0x05CFA548; const void * RTTI_IPostAnimationChannelUpdateFunctor = (void *)0x05A70C78; const void * RTTI_IProcedure = (void *)0x059C05C8; const void * RTTI_IProcedureTreeExecState = (void *)0x059C0598; const void * RTTI_IProcedureTreeItem = (void *)0x05A8F378; const void * RTTI_IRaceSubGraphDataFunctor = (void *)0x059C3FC0; const void * RTTI_ISelectIdleFilter = (void *)0x05CF5E68; const void * RTTI_ISmoothingRayValidator = (void *)0x05CFA578; const void * RTTI_ISpecialPurposeComponentHandler = (void *)0x059E6058; const void * RTTI_IStaticAvoidNodeManager = (void *)0x05BB8808; const void * RTTI_IStringForwarder = (void *)0x05C494F8; const void * RTTI_ITempEffectFactory = (void *)0x05A983A8; const void * RTTI_ITextRenderer = (void *)0x05A0B0C8; const void * RTTI_ITrianglePathSplitter = (void *)0x05CEC118; const void * RTTI_ITweenerNodeFollowerSetup = (void *)0x05BB8518; const void * RTTI_IUIValue = (void *)0x059CE0D0; const void * RTTI_IValidateGoalFunctor = (void *)0x05BD3EE0; const void * RTTI_IVisitProcedures = (void *)0x05A7DC00; const void * RTTI_IdleDialogueEnterHandler = (void *)0x05BCECA0; const void * RTTI_IdleDialogueExitHandler = (void *)0x05BCECD0; const void * RTTI_IdleFlavorHandler = (void *)0x05BCEF50; const void * RTTI_ImageCreationThread = (void *)0x05AE3988; const void * RTTI_ImageFixtureEvent_RequestImage = (void *)0x05CD4CD8; const void * RTTI_ImageFixtureEvent_UnregisterImage = (void *)0x05CD4B60; const void * RTTI_ImageFixtureManager = (void *)0x05CD4AE0; const void * RTTI_ImageSpaceManagerAgent = (void *)0x059EAE08; const void * RTTI_ImageSpaceModifierInstance = (void *)0x05A6A2D8; const void * RTTI_ImageSpaceModifierInstanceCinematic = (void *)0x05A6A310; const void * RTTI_ImageSpaceModifierInstanceDOF = (void *)0x05A6A350; const void * RTTI_ImageSpaceModifierInstanceForm = (void *)0x05A6A2A0; const void * RTTI_ImageSpaceModifierInstanceRB = (void *)0x05A6A388; const void * RTTI_ImmunityEffect = (void *)0x05B7F390; const void * RTTI_IndustrialCraftingMenu = (void *)0x05B32768; const void * RTTI_InfiniteList = (void *)0x05D54040; const void * RTTI_IngredientItem = (void *)0x059F5D70; const void * RTTI_InitActionI = (void *)0x059EAB88; const void * RTTI_InitializeTraversalSubgraphDataFunctor = (void *)0x05A19B80; const void * RTTI_InputMemoryStreamBuffer = (void *)0x05D0B340; const void * RTTI_InstalledContent = (void *)0x05C81D60; const void * RTTI_InstalledContentData = (void *)0x05AD8548; const void * RTTI_InstalledContentDataModel = (void *)0x05AD84B8; const void * RTTI_InstalledContentDataModel__InstalledContentModelEventShuttle = (void *)0x05AD84F0; const void * RTTI_IntSeenData = (void *)0x05995098; const void * RTTI_InteractionCombatDataCollectFunctor = (void *)0x05A0BB40; const void * RTTI_InterfaceArchiveListener = (void *)0x05B992F8; const void * RTTI_InterfacedClass = (void *)0x05AE3AC0; const void * RTTI_InterruptCastHandler = (void *)0x05BCF478; const void * RTTI_InventoryDataModelNS__InventoryItem = (void *)0x05AE2C20; const void * RTTI_InventoryDataModelNS__LootItem = (void *)0x05AFA5D0; const void * RTTI_InventoryMenu = (void *)0x05B35D88; const void * RTTI_InventoryMenu_Change3DView = (void *)0x05B35FA0; const void * RTTI_InventoryMenu_DropItem = (void *)0x05B355F0; const void * RTTI_InventoryMenu_HideModel = (void *)0x05B35868; const void * RTTI_InventoryMenu_LoadModel = (void *)0x05B35768; const void * RTTI_InventoryMenu_OnEnterCategory = (void *)0x05B361C0; const void * RTTI_InventoryMenu_OpenAlmanac = (void *)0x05B356F0; const void * RTTI_InventoryMenu_OpenCargoHold = (void *)0x05B36130; const void * RTTI_InventoryMenu_PaperDollTryOn = (void *)0x05B36250; const void * RTTI_InventoryMenu_ResetPaperDollInv = (void *)0x05B35F18; const void * RTTI_InventoryMenu_SelectItem = (void *)0x05B357E8; const void * RTTI_InventoryMenu_SetMouseOverModel = (void *)0x05B35668; const void * RTTI_InventoryMenu_StartCloseAnim = (void *)0x05B362E0; const void * RTTI_InventoryMenu_ToggleFavorite = (void *)0x05B35568; const void * RTTI_InventoryMenu_ToggleHelmet = (void *)0x05B360A8; const void * RTTI_InventoryMenu_ToggleSuit = (void *)0x05B36030; const void * RTTI_Inventory_SetSort = (void *)0x05AFE9C8; const void * RTTI_InvisibilityEffect = (void *)0x05B7F3B8; const void * RTTI_IronSightsState = (void *)0x05C48498; const void * RTTI_ItemCraftingBase = (void *)0x05AF40E8; const void * RTTI_ItemModInfoCardDataModel = (void *)0x05AFF2B8; const void * RTTI_ItemModInfoCardDataModel__ItemModInfoCardEventShuttle = (void *)0x05AFF3C0; const void * RTTI_ItemModdingBase = (void *)0x05AF4238; const void * RTTI_ItemModsDataModel = (void *)0x05AFFBF8; const void * RTTI_ItemModsDataModel__ItemModsEventShuttle = (void *)0x05AFFC70; const void * RTTI_JetpackEffect = (void *)0x05B7F420; const void * RTTI_JetpackUtils__TESCellReferenceAttachDetachEventSink = (void *)0x05B7F700; const void * RTTI_Json__BuiltStyledStreamWriter = (void *)0x0598F0D0; const void * RTTI_Json__CharReader = (void *)0x0598EF90; const void * RTTI_Json__CharReaderBuilder = (void *)0x0598EFE8; const void * RTTI_Json__CharReader__Factory = (void *)0x0598EFB8; const void * RTTI_Json__OurCharReader = (void *)0x0598F0A0; const void * RTTI_Json__StreamWriter = (void *)0x0598F018; const void * RTTI_Json__StreamWriterBuilder = (void *)0x0598F070; const void * RTTI_Json__StreamWriter__Factory = (void *)0x0598F040; const void * RTTI_JumpAnimEventHandler = (void *)0x05BCED38; const void * RTTI_KillActorHandler = (void *)0x05BCE408; const void * RTTI_KillMoveEndHandler = (void *)0x05BCF218; const void * RTTI_KillMoveStartHandler = (void *)0x05BCF2A0; const void * RTTI_KnockdownHandler = (void *)0x05BCB0F0; const void * RTTI_KnockdownTargetHandler = (void *)0x05BCB060; const void * RTTI_LODData = (void *)0x059E1690; const void * RTTI_LeftHandSpellCastHandler = (void *)0x05BCEA38; const void * RTTI_LeftHandSpellFireHandler = (void *)0x05BCEA98; const void * RTTI_LegacyNif__BSEffectShaderProperty = (void *)0x05D52918; const void * RTTI_LegacyNif__BSLightingShaderProperty = (void *)0x05D52868; const void * RTTI_LegacyNif__BSMasterParticleSystem = (void *)0x05D52388; const void * RTTI_LegacyNif__BSMultiBound = (void *)0x05D529B8; const void * RTTI_LegacyNif__BSMultiBoundNode = (void *)0x05D529E8; const void * RTTI_LegacyNif__BSMultiBoundOBB = (void *)0x05D52328; const void * RTTI_LegacyNif__BSPSysInheritVelocityModifier = (void *)0x05D52728; const void * RTTI_LegacyNif__BSPSysLODModifier = (void *)0x05D52198; const void * RTTI_LegacyNif__BSPSysScaleModifier = (void *)0x05D52640; const void * RTTI_LegacyNif__BSPSysSimpleColorModifier = (void *)0x05D52240; const void * RTTI_LegacyNif__BSPSysSubTexModifier = (void *)0x05D52208; const void * RTTI_LegacyNif__BSPositionData = (void *)0x05D52358; const void * RTTI_LegacyNif__BSShaderTextureSet = (void *)0x05D52800; const void * RTTI_LegacyNif__BSSubIndexTriShape = (void *)0x05D522F0; const void * RTTI_LegacyNif__BSWaterShaderProperty = (void *)0x05D52950; const void * RTTI_LegacyNif__BSWindModifier = (void *)0x05D527D0; const void * RTTI_LegacyNif__NiAlphaProperty = (void *)0x05D52838; const void * RTTI_LegacyNif__NiPSysAgeDeathModifier = (void *)0x05D52130; const void * RTTI_LegacyNif__NiPSysBombModifier = (void *)0x05D526F0; const void * RTTI_LegacyNif__NiPSysBoundUpdateModifier = (void *)0x05D52678; const void * RTTI_LegacyNif__NiPSysBoxEmitter = (void *)0x05D52530; const void * RTTI_LegacyNif__NiPSysColliderManager = (void *)0x05D52568; const void * RTTI_LegacyNif__NiPSysCylinderEmitter = (void *)0x05D524F8; const void * RTTI_LegacyNif__NiPSysData = (void *)0x05D523C0; const void * RTTI_LegacyNif__NiPSysDragModifier = (void *)0x05D522B8; const void * RTTI_LegacyNif__NiPSysGravityModifier = (void *)0x05D52768; const void * RTTI_LegacyNif__NiPSysMeshEmitter = (void *)0x05D525A0; const void * RTTI_LegacyNif__NiPSysPlanarCollider = (void *)0x05D525D8; const void * RTTI_LegacyNif__NiPSysPositionModifier = (void *)0x05D52280; const void * RTTI_LegacyNif__NiPSysRotationModifier = (void *)0x05D526B8; const void * RTTI_LegacyNif__NiPSysSpawnModifier = (void *)0x05D521D0; const void * RTTI_LegacyNif__NiPSysSphereEmitter = (void *)0x05D52488; const void * RTTI_LegacyNif__NiParticleSystem = (void *)0x05D52420; const void * RTTI_LegacyNif__SkyShaderProperty = (void *)0x05D528E0; const void * RTTI_LensFlareAttachmentComponent = (void *)0x059CD388; const void * RTTI_LevelUp_AnimFinished = (void *)0x05B28D88; const void * RTTI_LevelUp_OnWidgetShown = (void *)0x05B28248; const void * RTTI_LevelUp_OpenDataMenu = (void *)0x05B28DB8; const void * RTTI_LevelUp_ShowSkills = (void *)0x05B28E38; const void * RTTI_LightAnimFormComponent = (void *)0x059928D8; const void * RTTI_LightAttachmentFormComponent = (void *)0x059E6800; const void * RTTI_LightAttachmentRuntimeComponentUpdateService = (void *)0x05B9DA90; const void * RTTI_LightEffect = (void *)0x05997B88; const void * RTTI_LinearVariable = (void *)0x05C992E8; const void * RTTI_LinearVariableInstance = (void *)0x05C992B8; const void * RTTI_LinkedBNETLogin__BNetInitializedEventListener = (void *)0x05C81E20; const void * RTTI_LinkedCellProcessHelper = (void *)0x05A54530; const void * RTTI_LoadBufferStorageWrapper = (void *)0x05B8C460; const void * RTTI_LoadFileStorageWrapper = (void *)0x05B8C430; const void * RTTI_LoadGameMagicCasterVisitor = (void *)0x05BABCA0; const void * RTTI_LoadOrder = (void *)0x05D551A0; const void * RTTI_LoadOrderArchive = (void *)0x05D54988; const void * RTTI_LoadOrderBox = (void *)0x05D559E0; const void * RTTI_LoadOrderEntry = (void *)0x05D559B8; const void * RTTI_LoadOrder_SSB = (void *)0x05D556B8; const void * RTTI_LoadSavePanelDataModel = (void *)0x05B010B8; const void * RTTI_LoadSavePanelDataModel__LoadSavePanelEventShuttle = (void *)0x05B010F0; const void * RTTI_LoadScreenRenderingEventHandler = (void *)0x05AEDEA0; const void * RTTI_LoadTraversalSubgraphDataFunctor = (void *)0x05A19990; const void * RTTI_LoadedAreaBound = (void *)0x05A85A08; const void * RTTI_LoadedCellDB__IStateControl = (void *)0x059DDC90; const void * RTTI_LoadedCellDB__LoadCell = (void *)0x059DDA00; const void * RTTI_LoadedCellDB__ModuleState = (void *)0x059DD788; const void * RTTI_LoadedCellDB__PostProcessCell = (void *)0x059DD808; const void * RTTI_LoadedCellDB__SignalDoneTask = (void *)0x059DD638; const void * RTTI_LoadingMenu = (void *)0x05C504C8; const void * RTTI_LoadingMenuDataModel = (void *)0x05B00648; const void * RTTI_LoadingMenuDataModel__LoadingMenuEventShuttle = (void *)0x05AFFCF0; const void * RTTI_LoadingMenu_RefreshText = (void *)0x05C50498; const void * RTTI_LocalEnvData = (void *)0x05B01640; const void * RTTI_LocalEnvData_Frequent = (void *)0x05B01610; const void * RTTI_LocalEnvironmentDataModel = (void *)0x05B016A0; const void * RTTI_LocationTextWidget_FinishedQueue = (void *)0x05B281C8; const void * RTTI_LockEffect = (void *)0x05B7F878; const void * RTTI_LocomotionBlend = (void *)0x05C99A88; const void * RTTI_LocomotionBlendInstance = (void *)0x05C99AB0; const void * RTTI_LoginDialog = (void *)0x05AE2D70; const void * RTTI_LookAtChainData = (void *)0x059D6128; const void * RTTI_LookAtChainInstance = (void *)0x059D60F8; const void * RTTI_LookAtNode = (void *)0x05C99868; const void * RTTI_LookAtNodeInstance = (void *)0x05C99890; const void * RTTI_LoopingActivateHandler = (void *)0x05BCF078; const void * RTTI_MagicCaster = (void *)0x059F6A50; const void * RTTI_MagicCaster__PostCreationCallback = (void *)0x05B7F8A0; const void * RTTI_MagicItem = (void *)0x059F5A48; const void * RTTI_MagicItemDataCollector = (void *)0x05B7ECB8; const void * RTTI_MagicItemFindKeywordFunctor = (void *)0x059F5F08; const void * RTTI_MagicItemTraversalFunctor = (void *)0x059F5FA8; const void * RTTI_MagicTarget = (void *)0x05B2BF58; const void * RTTI_MagicTarget__IPostCreationModification = (void *)0x05B7EE80; const void * RTTI_Main = (void *)0x05B9CA38; const void * RTTI_MainMenu = (void *)0x05C535C8; const void * RTTI_MainMenuConfirmationDataModel = (void *)0x05B02D08; const void * RTTI_MainMenuConfirmationDataModel__MainMenuConfirmationEventShuttle = (void *)0x05B02CB0; const void * RTTI_MainMenuGamerInfoDataModel = (void *)0x05B02688; const void * RTTI_MainMenuGamerInfoDataModel__MainMenuGamerInfoEventShuttle = (void *)0x05B02770; const void * RTTI_MainMenuListDataModel = (void *)0x05B02E58; const void * RTTI_MainMenuListDataModel__MainMenuListEventShuttle = (void *)0x05B02E10; const void * RTTI_MainMenuMOTDDataModel = (void *)0x05B027C0; const void * RTTI_MainMenuMOTDDataModel__MOTDDataModelEventShuttle = (void *)0x05B02880; const void * RTTI_MainMenuPipelineProgressDataModel = (void *)0x05B02500; const void * RTTI_MainMenuPipelineProgressDataModel__MainMenuPipelineProgressDataEventShuttle = (void *)0x05B02620; const void * RTTI_MainMenuStateDataModel = (void *)0x05B03218; const void * RTTI_MainMenuStateDataModel__MainMenuStateEventShuttle = (void *)0x05B02FD0; const void * RTTI_MainMenu_ActionCanceled = (void *)0x05C53148; const void * RTTI_MainMenu_ActionConfirmed = (void *)0x05C530C8; const void * RTTI_MainMenu_CloseAdBanner = (void *)0x05C534D8; const void * RTTI_MainMenu_ConfirmLoad = (void *)0x05C53638; const void * RTTI_MainMenu_DeleteSave = (void *)0x05C536B8; const void * RTTI_MainMenu_LegalScreenComplete = (void *)0x05C53450; const void * RTTI_MainMenu_OpenStorePage = (void *)0x05C53558; const void * RTTI_MainMenu_SetCharacter = (void *)0x05C53738; const void * RTTI_MainMenu_StartAction = (void *)0x05C53048; const void * RTTI_MainMenu_StartLoad = (void *)0x05C531C8; const void * RTTI_MainMenu_UploadSave = (void *)0x05C537B8; const void * RTTI_MarketplaceBundleContent = (void *)0x05AE3928; const void * RTTI_MarketplaceCommerce__redeemableListener = (void *)0x05AE3578; const void * RTTI_MarketplaceContent = (void *)0x05996A98; const void * RTTI_MarketplaceContentCollection = (void *)0x05996A60; const void * RTTI_MarketplaceDataProducer = (void *)0x05AE3958; const void * RTTI_MarketplaceGameState__gameActiveListener = (void *)0x05AE3B30; const void * RTTI_MarketplaceMenu = (void *)0x05AE3D08; const void * RTTI_MarketplaceMenu__errorCallback = (void *)0x05AE3D30; const void * RTTI_MarketplaceMessages__OkMessageCallback = (void *)0x05AE3D68; const void * RTTI_MarketplaceMessages__yesNoMessageCallback = (void *)0x05AE3DA8; const void * RTTI_MarketplaceObjectPool = (void *)0x05D55708; const void * RTTI_MassSpringDampenVariable = (void *)0x05C98F28; const void * RTTI_MassSpringDampenVariableInstance = (void *)0x05C98F58; const void * RTTI_MaterialLayerInterface = (void *)0x059FD1C0; const void * RTTI_MaterialLayerSequence = (void *)0x05C95E88; const void * RTTI_MaterialLayerSequenceInstance = (void *)0x05C98B70; const void * RTTI_MeleeAimAssistData = (void *)0x05A418F0; const void * RTTI_MeleeAimAssistImpl = (void *)0x05AA9B58; const void * RTTI_MemoryManagement__PMPEventSink = (void *)0x05D0A938; const void * RTTI_MemoryManagerFile = (void *)0x05BA0D28; const void * RTTI_MenuActor = (void *)0x05B2BE00; const void * RTTI_MenuControls = (void *)0x05C53EE8; const void * RTTI_MenuCursor = (void *)0x05CD3D68; const void * RTTI_MenuOpenHandler = (void *)0x05C53DE8; const void * RTTI_MenuPaperDoll = (void *)0x05B2BD20; const void * RTTI_MenuTopicManager = (void *)0x05B81768; const void * RTTI_MergeNode = (void *)0x05C99AE0; const void * RTTI_MergeNodeInstance = (void *)0x05C99B00; const void * RTTI_MeshLODDistanceOverride = (void *)0x059E15F0; const void * RTTI_MessageBoxMenu = (void *)0x05C54618; const void * RTTI_MessageBoxMenu_OnBackOut = (void *)0x05C542E8; const void * RTTI_MessageBoxMenu_OnButtonPress = (void *)0x05C54260; const void * RTTI_MessageBoxMenu__MessageBoxMenuEventShuttle = (void *)0x05C54780; const void * RTTI_MessageMenuManager = (void *)0x05C543B0; const void * RTTI_MigrateSharedStateFromPreviousView = (void *)0x05B894A8; const void * RTTI_MirrorModifier = (void *)0x05C95230; const void * RTTI_MirrorModifierInstance = (void *)0x05C98BA8; const void * RTTI_MiscStatManager__FindStatByCRC = (void *)0x05A7DBC8; const void * RTTI_MissileProjectile = (void *)0x05BD14E8; const void * RTTI_MissingContent = (void *)0x05D55760; const void * RTTI_MissionBoardMenu = (void *)0x05B36928; const void * RTTI_MissionBoardMenu__MissionBoardMenuEventShuttle = (void *)0x05B364A0; const void * RTTI_MissionBoard_MissionEntryChanged = (void *)0x05B36A40; const void * RTTI_MissionBoard_MissionEntryPressed = (void *)0x05B36BC8; const void * RTTI_MissionMenu_ClearState = (void *)0x05B30F50; const void * RTTI_MissionMenu_PlotToLocation = (void *)0x05B31120; const void * RTTI_MissionMenu_RejectQuest = (void *)0x05B30ED0; const void * RTTI_MissionMenu_SaveCategoryIndex = (void *)0x05B30FC8; const void * RTTI_MissionMenu_SaveOpenedId = (void *)0x05B30E48; const void * RTTI_MissionMenu_ShowItemLocation = (void *)0x05B31000; const void * RTTI_MissionMenu_ToggleQTDisplay = (void *)0x05B30C98; const void * RTTI_MissionMenu_ToggleTrackingQuest = (void *)0x05B31090; const void * RTTI_MobIterOperator = (void *)0x05A801B8; const void * RTTI_ModelLoader = (void *)0x059FA740; const void * RTTI_ModelReferenceEffect = (void *)0x05995680; const void * RTTI_MomentumAnimation = (void *)0x05C99260; const void * RTTI_MomentumAnimationInstance = (void *)0x05C99288; const void * RTTI_MomentumSwitchback = (void *)0x05C991F8; const void * RTTI_MomentumSwitchbackInstance = (void *)0x05C99228; const void * RTTI_MonocleMenu = (void *)0x05B3BB30; const void * RTTI_MonocleMenu_Bioscan = (void *)0x05B3B568; const void * RTTI_MonocleMenu_FastTravel = (void *)0x05B3A840; const void * RTTI_MonocleMenu_Harvest = (void *)0x05B3BA48; const void * RTTI_MonocleMenu_Initialize = (void *)0x05B3A038; const void * RTTI_MonocleMenu_OpenDoor = (void *)0x05B3A4D8; const void * RTTI_MonocleMenu_Outpost = (void *)0x05B3B8A8; const void * RTTI_MonocleMenu_PhotoMode = (void *)0x05B3B228; const void * RTTI_MonocleMenu_Shutdown = (void *)0x05B3A128; const void * RTTI_MonocleMenu_SocialSpell = (void *)0x05B3B708; const void * RTTI_MonocleMenu_StartContainerView = (void *)0x05B3AB88; const void * RTTI_MonocleMenu_StopContainerView = (void *)0x05B3AD30; const void * RTTI_MonocleMenu_SurfaceMap = (void *)0x05B3B088; const void * RTTI_MonocleMenu_UseListScrollControls = (void *)0x05B3A9E8; const void * RTTI_MonocleMenu_ZoomIn = (void *)0x05B3B3C8; const void * RTTI_MonocleMenu_ZoomOut = (void *)0x05B3AEE8; const void * RTTI_MonocleUIDataModel = (void *)0x05B24988; const void * RTTI_MonocleUIDataModel__EventData = (void *)0x05B23C10; const void * RTTI_MonocleUIDataModel__LegendaryModData = (void *)0x05B24340; const void * RTTI_MonocleUIDataModel__MenuData = (void *)0x05B24380; const void * RTTI_MonocleUIDataModel__MenuFreqData = (void *)0x05B24030; const void * RTTI_MonocleUIDataModel__MonocleUIDataEventShuttle = (void *)0x05B24590; const void * RTTI_MonocleUIDataModel__PickRefData = (void *)0x05B23FB8; const void * RTTI_MonocleUIDataModel__ResourceArcData = (void *)0x05B24650; const void * RTTI_MonocleUIDataModel__ResourceData = (void *)0x05B24618; const void * RTTI_MonocleUIDataModel__ScannableMapMarkerData = (void *)0x05B23FF0; const void * RTTI_MonocleUIDataModel__SocialSpellData = (void *)0x05B245D8; const void * RTTI_MorphDriverData = (void *)0x05A43128; const void * RTTI_MorphDriverInstance = (void *)0x05A43248; const void * RTTI_MotionDrivenHandler = (void *)0x05BCF1E8; const void * RTTI_MotionDrivenHandlerReference = (void *)0x05BCA438; const void * RTTI_MountDismountEndHandler = (void *)0x05BCF658; const void * RTTI_MountInteraction = (void *)0x05BB0F88; const void * RTTI_MouseMoveEvent = (void *)0x05C9D570; const void * RTTI_MovementAgent = (void *)0x05A129B8; const void * RTTI_MovementAgentActorAvoider = (void *)0x05CF1730; const void * RTTI_MovementAgentActorState = (void *)0x05CF3A18; const void * RTTI_MovementAgentFlightController = (void *)0x05CF3EC8; const void * RTTI_MovementAgentFlightControllerDetached = (void *)0x05CF5838; const void * RTTI_MovementAgentPathFollowerFlight = (void *)0x05CFA160; const void * RTTI_MovementAgentPathFollowerStandard = (void *)0x05CF3798; const void * RTTI_MovementAgentPathFollowerVirtual = (void *)0x05CF53A8; const void * RTTI_MovementArbiter = (void *)0x05CF2320; const void * RTTI_MovementArbitrationAverageFloat = (void *)0x05CF58B0; const void * RTTI_MovementArbitrationMaxWeightParameters = (void *)0x05CF5A08; const void * RTTI_MovementArbitrationMaxWeightPoint = (void *)0x05CF5AD8; const void * RTTI_MovementArbitrationVectorAdd = (void *)0x05CFAA50; const void * RTTI_MovementAvoidBoxEventAdapter = (void *)0x05B990A0; const void * RTTI_MovementAvoidBoxManager = (void *)0x05CF8B88; const void * RTTI_MovementAvoidanceManager = (void *)0x05BB7248; const void * RTTI_MovementComponentEventHandler = (void *)0x05A11A40; const void * RTTI_MovementComponentSetDescriptions = (void *)0x05A11D78; const void * RTTI_MovementControllerAI = (void *)0x05A123D8; const void * RTTI_MovementControllerComponent = (void *)0x05A12408; const void * RTTI_MovementControllerComponentData = (void *)0x05A12440; const void * RTTI_MovementControllerNPC = (void *)0x05BB72B0; const void * RTTI_MovementControllerNullDataTracker = (void *)0x05CF5D48; const void * RTTI_MovementControllerRegisterInterface = (void *)0x05CF5CA8; const void * RTTI_MovementControllerSetDescriptions = (void *)0x05B9E3F0; const void * RTTI_MovementHandlerAgentAngleGain = (void *)0x05CFA3E0; const void * RTTI_MovementHandlerAgentDirectControl = (void *)0x05BB75A0; const void * RTTI_MovementHandlerAgentDirectionPassThrough = (void *)0x05CF9EF8; const void * RTTI_MovementHandlerAgentFlightBoostTrigger = (void *)0x05A129E0; const void * RTTI_MovementHandlerAgentGraphDrivenAnimationDriven = (void *)0x05A12CA0; const void * RTTI_MovementHandlerAgentPlayerControls = (void *)0x05A12CE8; const void * RTTI_MovementHandlerAgentPlayerControlsActionTrigger = (void *)0x05A13250; const void * RTTI_MovementHandlerAgentPlayerFlightControls = (void *)0x05A134F0; const void * RTTI_MovementHandlerAgentSprintActionTrigger = (void *)0x05BB7818; const void * RTTI_MovementHandlerAgentStairsHelper = (void *)0x05BB7920; const void * RTTI_MovementHandlerAgentStandard = (void *)0x05CF5370; const void * RTTI_MovementHandlerAgentStorePlannerOutput = (void *)0x05CF4ED8; const void * RTTI_MovementHandlerArbiter = (void *)0x05CF29D0; const void * RTTI_MovementLargeDelta__IEnumVisitor = (void *)0x05A7DEB8; const void * RTTI_MovementMessage = (void *)0x05A18720; const void * RTTI_MovementMessageActivateDoor = (void *)0x05CF7300; const void * RTTI_MovementMessageActorCollision = (void *)0x05BB7D00; const void * RTTI_MovementMessageApproachingDoor = (void *)0x05CF7338; const void * RTTI_MovementMessageBeginLandingApproach = (void *)0x05A186B0; const void * RTTI_MovementMessageBlocked = (void *)0x05CF92A8; const void * RTTI_MovementMessageDoor = (void *)0x05CF7370; const void * RTTI_MovementMessageGravJump = (void *)0x05A1C200; const void * RTTI_MovementMessageJump = (void *)0x05CF99F8; const void * RTTI_MovementMessageLand = (void *)0x05A1C198; const void * RTTI_MovementMessageNewPath = (void *)0x05CF20B0; const void * RTTI_MovementMessagePathCleared = (void *)0x05CF6BC8; const void * RTTI_MovementMessagePathComplete = (void *)0x05CF7020; const void * RTTI_MovementMessagePathEvent = (void *)0x05CF20E0; const void * RTTI_MovementMessagePathFailed = (void *)0x05CF6FF0; const void * RTTI_MovementMessagePlayIdle = (void *)0x05CF9518; const void * RTTI_MovementMessageSetStaticPath = (void *)0x05CF9790; const void * RTTI_MovementMessageTakeOff = (void *)0x05A186F0; const void * RTTI_MovementMessageTraversal = (void *)0x05CF72A0; const void * RTTI_MovementMessageUpdateRequestImmediate = (void *)0x05CF2110; const void * RTTI_MovementMessageWarpToLocation = (void *)0x05CF9040; const void * RTTI_MovementMessageWarpToMultiple = (void *)0x05CF9C70; const void * RTTI_MovementNavmeshBoundsManager = (void *)0x05CF8DC0; const void * RTTI_MovementParameters = (void *)0x059C2390; const void * RTTI_MovementParametersFixed = (void *)0x05ACD650; const void * RTTI_MovementPathManagerAgentAvoidBox = (void *)0x05CF4940; const void * RTTI_MovementPathManagerAgentLoadedAreaMonitor = (void *)0x05CF4150; const void * RTTI_MovementPathManagerAgentStaticAvoider = (void *)0x05CF4680; const void * RTTI_MovementPathManagerArbiter = (void *)0x05CF22E8; const void * RTTI_MovementPathManagerNullTracker = (void *)0x05CF2020; const void * RTTI_MovementPlannerAgentDirectControl = (void *)0x05BB7FC0; const void * RTTI_MovementPlannerAgentNavmeshBounds = (void *)0x05CF43A8; const void * RTTI_MovementPlannerAgentWarp = (void *)0x05BB8238; const void * RTTI_MovementPlannerArbiter = (void *)0x05CF2490; const void * RTTI_MovementPostUpdateArbiter = (void *)0x05CF3588; const void * RTTI_MovementSelectIdleUtils__SelectClosestIdleToMovementSelectionData = (void *)0x05CF5DC0; const void * RTTI_MovementSelectIdleUtils__SelectClosestIdleToPath = (void *)0x05CF5E20; const void * RTTI_MovementStateFollowPath = (void *)0x05CF1BE0; const void * RTTI_MovementStateTweener = (void *)0x05CF19A8; const void * RTTI_MovementTweenerAgentFixedDelta = (void *)0x05CF4A28; const void * RTTI_MovementTweenerAgentNodeFollower = (void *)0x05BB84E0; const void * RTTI_MovementTweenerAgentTargetPosAndVel = (void *)0x05CF4C70; const void * RTTI_MovementTweenerArbiter = (void *)0x05CF2F08; const void * RTTI_MoviePlayer = (void *)0x05B8D040; const void * RTTI_MultiFootIKNode = (void *)0x05C99040; const void * RTTI_MultiFootIKNodeInstance = (void *)0x05C99068; const void * RTTI_NEW_REFR_DATA = (void *)0x059E4B38; const void * RTTI_NPCAttachHandler = (void *)0x05BCF5D8; const void * RTTI_NPCDetachHandler = (void *)0x05BCF600; const void * RTTI_NavGenUtil__TunnelTerraintFilter = (void *)0x05A14AB8; const void * RTTI_NavMesh = (void *)0x05995C98; const void * RTTI_NavMeshCoverGenerator = (void *)0x05A805D8; const void * RTTI_NavMeshGenContext = (void *)0x059D1158; const void * RTTI_NavMeshGenData = (void *)0x059D0888; const void * RTTI_NavMeshGenFinalizer = (void *)0x05A16058; const void * RTTI_NavMeshGenInputBorderProcessTask = (void *)0x059D0FF8; const void * RTTI_NavMeshGenInputProcessor = (void *)0x05A16378; const void * RTTI_NavMeshGenOutputProcessor = (void *)0x05A16418; const void * RTTI_NavMeshGenSplitter = (void *)0x05A16478; const void * RTTI_NavMeshGenStitcher = (void *)0x05A165B0; const void * RTTI_NavMeshGenerator = (void *)0x05A14FD8; const void * RTTI_NavMeshGenerator__NavMeshGenCellsNode = (void *)0x05A15570; const void * RTTI_NavMeshInfo = (void *)0x05A98AD0; const void * RTTI_NavMeshInfoMap = (void *)0x05A98C58; const void * RTTI_NavMeshObstacleCoverManager = (void *)0x05A18268; const void * RTTI_NavMeshObstacleManager = (void *)0x05A990A8; const void * RTTI_NavMeshSearchClosePoint = (void *)0x05A9B2B0; const void * RTTI_NavMeshSearchFitSphere = (void *)0x05A9B458; const void * RTTI_NavMeshSearchHide = (void *)0x05A9B6D0; const void * RTTI_NavMeshSearchLOS = (void *)0x05A9B808; const void * RTTI_NavMeshSearchLargestSpaceNearLocation = (void *)0x05A9B2E0; const void * RTTI_NavMeshSearchSLPoint = (void *)0x05A9B830; const void * RTTI_NavMeshSplineExtraData = (void *)0x05A4F948; const void * RTTI_NiAVObject = (void *)0x059C6C88; const void * RTTI_NiAdditionalGeometryData = (void *)0x05D52B98; const void * RTTI_NiAmbientLight = (void *)0x05D52B70; const void * RTTI_NiBSplineBasisData = (void *)0x05D50820; const void * RTTI_NiBSplineColorInterpolator = (void *)0x05D50878; const void * RTTI_NiBSplineCompColorInterpolator = (void *)0x05D508B0; const void * RTTI_NiBSplineCompFloatInterpolator = (void *)0x05D50920; const void * RTTI_NiBSplineCompPoint3Interpolator = (void *)0x05D50990; const void * RTTI_NiBSplineCompTransformInterpolator = (void *)0x05D506B8; const void * RTTI_NiBSplineData = (void *)0x05D50850; const void * RTTI_NiBSplineFloatInterpolator = (void *)0x05D508E8; const void * RTTI_NiBSplineInterpolator = (void *)0x05D50730; const void * RTTI_NiBSplinePoint3Interpolator = (void *)0x05D50958; const void * RTTI_NiBSplineTransformInterpolator = (void *)0x05D506F8; const void * RTTI_NiBillboardNode = (void *)0x05D51E10; const void * RTTI_NiBinaryExtraData = (void *)0x05D52BC8; const void * RTTI_NiBinaryStream = (void *)0x05A7FF18; const void * RTTI_NiBlendAccumTransformInterpolator = (void *)0x05D501B8; const void * RTTI_NiBlendBoolInterpolator = (void *)0x05D504E8; const void * RTTI_NiBlendColorInterpolator = (void *)0x05D50760; const void * RTTI_NiBlendFloatInterpolator = (void *)0x05D50320; const void * RTTI_NiBlendInterpolator = (void *)0x05D501F0; const void * RTTI_NiBlendPoint3Interpolator = (void *)0x05D50790; const void * RTTI_NiBlendQuaternionInterpolator = (void *)0x05D507C0; const void * RTTI_NiBlendTransformInterpolator = (void *)0x05D503B8; const void * RTTI_NiBoolData = (void *)0x05D507F8; const void * RTTI_NiBoolInterpolator = (void *)0x05D50488; const void * RTTI_NiBoolTimelineInterpolator = (void *)0x05D50450; const void * RTTI_NiBooleanExtraData = (void *)0x05D52BF0; const void * RTTI_NiCamera = (void *)0x05D516E0; const void * RTTI_NiCollisionObject = (void *)0x05BB0B58; const void * RTTI_NiColorData = (void *)0x05D509C8; const void * RTTI_NiColorExtraData = (void *)0x05D52038; const void * RTTI_NiColorExtraDataController = (void *)0x05D509F0; const void * RTTI_NiColorInterpolator = (void *)0x05D50A28; const void * RTTI_NiControllerManager = (void *)0x05D50050; const void * RTTI_NiControllerSequence = (void *)0x05D500E8; const void * RTTI_NiDefaultAVObjectPalette = (void *)0x05D50080; const void * RTTI_NiDirectionalLight = (void *)0x05D52C20; const void * RTTI_NiExtraData = (void *)0x059C4200; const void * RTTI_NiExtraDataController = (void *)0x05D50388; const void * RTTI_NiFile = (void *)0x05B86DB8; const void * RTTI_NiFloatController = (void *)0x05D50E50; const void * RTTI_NiFloatData = (void *)0x05D502F8; const void * RTTI_NiFloatExtraData = (void *)0x05D52C50; const void * RTTI_NiFloatExtraDataController = (void *)0x05D50350; const void * RTTI_NiFloatInterpolator = (void *)0x05D504B8; const void * RTTI_NiFloatsExtraData = (void *)0x05D52060; const void * RTTI_NiFloatsExtraDataController = (void *)0x05D50A58; const void * RTTI_NiFloatsExtraDataPoint3Controller = (void *)0x05D50A90; const void * RTTI_NiFogProperty = (void *)0x05D52B48; const void * RTTI_NiFormArray = (void *)0x05A82700; const void * RTTI_NiGeometry = (void *)0x05D52D70; const void * RTTI_NiGeometryData = (void *)0x05D51EA0; const void * RTTI_NiIntegerExtraData = (void *)0x05CA40D0; const void * RTTI_NiIntegersExtraData = (void *)0x05CC0EA0; const void * RTTI_NiKeyframeManager = (void *)0x05D50C00; const void * RTTI_NiLight = (void *)0x05D52110; const void * RTTI_NiLightColorController = (void *)0x05D50C80; const void * RTTI_NiLightDimmerController = (void *)0x05D50CE0; const void * RTTI_NiLightRadiusController = (void *)0x05D50D10; const void * RTTI_NiLookAtController = (void *)0x05D50D40; const void * RTTI_NiLookAtInterpolator = (void *)0x05D50D70; const void * RTTI_NiMemStream = (void *)0x05D52E90; const void * RTTI_NiMorphData = (void *)0x05D50DA0; const void * RTTI_NiMultiTargetTransformController = (void *)0x05D500B0; const void * RTTI_NiNode = (void *)0x059C6C68; const void * RTTI_NiObjectNET = (void *)0x059C6BA0; const void * RTTI_NiPathController = (void *)0x05D50DC8; const void * RTTI_NiPathInterpolator = (void *)0x05D502C8; const void * RTTI_NiPick__Results = (void *)0x05D51F58; const void * RTTI_NiPoint3Interpolator = (void *)0x05D50DF0; const void * RTTI_NiPointLight = (void *)0x05D52C78; const void * RTTI_NiPosData = (void *)0x05D502A8; const void * RTTI_NiQuaternionInterpolator = (void *)0x05D50E20; const void * RTTI_NiRefObject = (void *)0x059C41D8; const void * RTTI_NiRollController = (void *)0x05D50E78; const void * RTTI_NiRotData = (void *)0x05D50EA0; const void * RTTI_NiSequence = (void *)0x05D50EF0; const void * RTTI_NiSequenceStreamHelper = (void *)0x05D51098; const void * RTTI_NiSkinData = (void *)0x05D52CA0; const void * RTTI_NiSkinInstance = (void *)0x05D52CC8; const void * RTTI_NiSkinPartition = (void *)0x05D52CF0; const void * RTTI_NiSpotLight = (void *)0x05D52D18; const void * RTTI_NiStream = (void *)0x05A85940; const void * RTTI_NiStringExtraData = (void *)0x05D51690; const void * RTTI_NiStringPalette = (void *)0x05D510C8; const void * RTTI_NiStringsExtraData = (void *)0x05D52D40; const void * RTTI_NiSwitchNode = (void *)0x05D51E38; const void * RTTI_NiTextKeyExtraData = (void *)0x05D510F0; const void * RTTI_NiTimeController = (void *)0x05A022E0; const void * RTTI_NiTransformController = (void *)0x05D50188; const void * RTTI_NiTransformData = (void *)0x05D50690; const void * RTTI_NiTransformInterpolator = (void *)0x05D50248; const void * RTTI_NiTriBasedGeom = (void *)0x05D52DC0; const void * RTTI_NiTriBasedGeomData = (void *)0x05D52DE8; const void * RTTI_NiTriShape = (void *)0x05D52D98; const void * RTTI_NiTriShapeData = (void *)0x05D52E18; const void * RTTI_NiTriStrips = (void *)0x05D52E40; const void * RTTI_NiTriStripsData = (void *)0x05D52E68; const void * RTTI_NiUVData = (void *)0x05D51120; const void * RTTI_NiVisController = (void *)0x05D51140; const void * RTTI_NightEyeEffect = (void *)0x05B7FE70; const void * RTTI_NonActorMagicCaster = (void *)0x059F6A78; const void * RTTI_NonActorMagicCaster__Manager = (void *)0x05B80348; const void * RTTI_NonActorMagicTarget = (void *)0x059950C0; const void * RTTI_NonActorMagicTarget__Manager = (void *)0x05B80490; const void * RTTI_NormalizeRotation = (void *)0x05C951E0; const void * RTTI_NormalizeRotationInstance = (void *)0x05C98BD8; const void * RTTI_NullMovementSelectIdleResult = (void *)0x05CF5878; const void * RTTI_NullMovementState = (void *)0x05C2F9C8; const void * RTTI_NullPathBuilderTracker = (void *)0x05CED810; const void * RTTI_ObjectAttachmentFormComponent = (void *)0x059E7090; const void * RTTI_ObjectListItem = (void *)0x05A89230; const void * RTTI_ObstacleTaskData = (void *)0x05A99318; const void * RTTI_OfflineLoadOrder = (void *)0x05D54410; const void * RTTI_OpenContainerMenuMessage = (void *)0x05996E10; const void * RTTI_OpenEffect = (void *)0x05B805B8; const void * RTTI_OpenRefuelMenuMessage = (void *)0x05997220; const void * RTTI_OpenShipCrewAssignMenuMessage = (void *)0x059971E8; const void * RTTI_Options = (void *)0x05D54EF0; const void * RTTI_OwnedCameraEffectController = (void *)0x05A709F8; const void * RTTI_OwnedController = (void *)0x059C7570; const void * RTTI_OwnedEntitlements = (void *)0x05C81E68; const void * RTTI_PackageCreator = (void *)0x05A982C0; const void * RTTI_PackageList = (void *)0x05A02BF8; const void * RTTI_PackageLocation = (void *)0x05A98380; const void * RTTI_PageFileBase = (void *)0x05B86E10; const void * RTTI_PairCollector = (void *)0x0598E7C8; const void * RTTI_PairedAnimation = (void *)0x05C98FE8; const void * RTTI_PairedAnimationInstance = (void *)0x05C99010; const void * RTTI_PairedAttackDialogueHandler = (void *)0x05BCB208; const void * RTTI_PairedStopHandler = (void *)0x05BCF300; const void * RTTI_ParalysisEffect = (void *)0x05B7EDF8; const void * RTTI_ParticleFormComponent = (void *)0x059E7B20; const void * RTTI_ParticleParticleCollisionsTask = (void *)0x0598E300; const void * RTTI_ParticleParticleInterBranchCollisionsTask = (void *)0x0598E340; const void * RTTI_ParticleParticleInterbranchSolveTask = (void *)0x0598E290; const void * RTTI_ParticleParticleProcessEarlyOutStateTask = (void *)0x0598E168; const void * RTTI_ParticleSequence = (void *)0x05C95208; const void * RTTI_ParticleSequenceInstance = (void *)0x05C98C08; const void * RTTI_ParticleSystemInterface = (void *)0x059FD108; const void * RTTI_Particles__AnimatedUVMaterialProperties = (void *)0x05CD64D0; const void * RTTI_Particles__BaseCustomParameter = (void *)0x05AAFBB8; const void * RTTI_Particles__BaseOperation = (void *)0x05CE4F10; const void * RTTI_Particles__BaseParticleSystemItem = (void *)0x05CE5250; const void * RTTI_Particles__BoundProperty = (void *)0x05CD6510; const void * RTTI_Particles__BundleInfo = (void *)0x05CE4FA8; const void * RTTI_Particles__EmitterBinding = (void *)0x05CE9208; const void * RTTI_Particles__EmitterDefinition = (void *)0x05CE9D30; const void * RTTI_Particles__EmitterMaterialDependency = (void *)0x05CE52E8; const void * RTTI_Particles__ForcesProperties = (void *)0x05CE5490; const void * RTTI_Particles__GeometryAsShapeDependency = (void *)0x05CE5328; const void * RTTI_Particles__GeometryParticlesProperties = (void *)0x05CE5500; const void * RTTI_Particles__GroupOperation = (void *)0x05CE5288; const void * RTTI_Particles__ITimeMultiplierProvider = (void *)0x05A501C8; const void * RTTI_Particles__Intrinsics__ApplyAngularVelocityParamSet = (void *)0x05CE6520; const void * RTTI_Particles__Intrinsics__ApplyForcesToPositionParamSet = (void *)0x05CE60A0; const void * RTTI_Particles__Intrinsics__ApplyForcesToVelocityParamSet = (void *)0x05CE61B0; const void * RTTI_Particles__Intrinsics__ApplyVelocityToPositionParamSet = (void *)0x05CE5F50; const void * RTTI_Particles__Intrinsics__ApplyWorldVelocityToPositionParamSet = (void *)0x05CE6050; const void * RTTI_Particles__Intrinsics__AssignmentOperationInput = (void *)0x05CE3A10; const void * RTTI_Particles__Intrinsics__BindingNameInput = (void *)0x05CE5758; const void * RTTI_Particles__Intrinsics__BoolBoolParamSet = (void *)0x05CE3D40; const void * RTTI_Particles__Intrinsics__BoolInput = (void *)0x05CE55B0; const void * RTTI_Particles__Intrinsics__BroadcastCollisionEventParamSet = (void *)0x05CE3640; const void * RTTI_Particles__Intrinsics__ColorAlphaCurvesParamSet = (void *)0x05CE3A60; const void * RTTI_Particles__Intrinsics__ColorColorColorParamSet = (void *)0x05CE3E10; const void * RTTI_Particles__Intrinsics__ColorColorFloatParamSet = (void *)0x05CE3D80; const void * RTTI_Particles__Intrinsics__ColorCurveParamSet = (void *)0x05CE3AA8; const void * RTTI_Particles__Intrinsics__ColorFloatParamSet = (void *)0x05CE3E58; const void * RTTI_Particles__Intrinsics__ColorInput = (void *)0x05CE5660; const void * RTTI_Particles__Intrinsics__ColorPickerMinMaxParamSet = (void *)0x05CE3EA0; const void * RTTI_Particles__Intrinsics__ColorPickerParamSet = (void *)0x05CE3DC8; const void * RTTI_Particles__Intrinsics__ConditionalJumpParamSet = (void *)0x05CE38B0; const void * RTTI_Particles__Intrinsics__ConditionalKillParamSet = (void *)0x05CE3790; const void * RTTI_Particles__Intrinsics__ConformToHeightmapParamSet = (void *)0x05CE4280; const void * RTTI_Particles__Intrinsics__ConformToHeightmapSimParamSet = (void *)0x05CE4370; const void * RTTI_Particles__Intrinsics__CurveParamSet = (void *)0x05CE39C8; const void * RTTI_Particles__Intrinsics__CustomHandlingParamSet = (void *)0x05CE6730; const void * RTTI_Particles__Intrinsics__CyclingVolumeParamSet = (void *)0x05CE42D0; const void * RTTI_Particles__Intrinsics__DebugAnimateParentTransform = (void *)0x05CE4450; const void * RTTI_Particles__Intrinsics__DebugAttachToCamera = (void *)0x05CE4410; const void * RTTI_Particles__Intrinsics__DebugMoveParentTransform = (void *)0x05CE44E0; const void * RTTI_Particles__Intrinsics__DirectionAxisInput = (void *)0x05CE66B0; const void * RTTI_Particles__Intrinsics__DirectionToRotation3DParamSet = (void *)0x05CE40B0; const void * RTTI_Particles__Intrinsics__Double3Double3Double3ParamSet = (void *)0x05CE3010; const void * RTTI_Particles__Intrinsics__Double3Double3ParamSet = (void *)0x05CE2F70; const void * RTTI_Particles__Intrinsics__Double3Double3VectorParamSet = (void *)0x05CE3060; const void * RTTI_Particles__Intrinsics__Double3Input = (void *)0x05CE5798; const void * RTTI_Particles__Intrinsics__EmissionTypeInput = (void *)0x05CE66F0; const void * RTTI_Particles__Intrinsics__ExpressionInputParamSet = (void *)0x05CEB630; const void * RTTI_Particles__Intrinsics__Float5ParamSet = (void *)0x05CE3568; const void * RTTI_Particles__Intrinsics__Float6ParamSet = (void *)0x05CE3528; const void * RTTI_Particles__Intrinsics__FloatBoolParamSet = (void *)0x05CE35F8; const void * RTTI_Particles__Intrinsics__FloatColorParamSet = (void *)0x05CE3D00; const void * RTTI_Particles__Intrinsics__FloatFloatBoolParamSet = (void *)0x05CE35B0; const void * RTTI_Particles__Intrinsics__FloatFloatFloatFloatColorParamSet = (void *)0x05CE3EF0; const void * RTTI_Particles__Intrinsics__FloatFloatFloatFloatParamSet = (void *)0x05CE34A0; const void * RTTI_Particles__Intrinsics__FloatFloatFloatParamSet = (void *)0x05CE3860; const void * RTTI_Particles__Intrinsics__FloatFloatFloatVectorParamSet = (void *)0x05CE3810; const void * RTTI_Particles__Intrinsics__FloatFloatParamSet = (void *)0x05CE3240; const void * RTTI_Particles__Intrinsics__FloatInput = (void *)0x05CE57D0; const void * RTTI_Particles__Intrinsics__FloatMinMaxParamSet = (void *)0x05CE34E8; const void * RTTI_Particles__Intrinsics__FloatUIntParamSet = (void *)0x05CE3200; const void * RTTI_Particles__Intrinsics__FloatVector33MatrixParamSet = (void *)0x05CE3450; const void * RTTI_Particles__Intrinsics__FloatVectorParamSet = (void *)0x05CE3280; const void * RTTI_Particles__Intrinsics__FloatVectorVectorParamSet = (void *)0x05CE4530; const void * RTTI_Particles__Intrinsics__GenericResourceParamSet = (void *)0x05CE6780; const void * RTTI_Particles__Intrinsics__GeometryParticleKillParamSet = (void *)0x05CE63E0; const void * RTTI_Particles__Intrinsics__GeometryParticleParamSet = (void *)0x05CE6820; const void * RTTI_Particles__Intrinsics__GeometryParticleUpdateParamSet = (void *)0x05CE67D0; const void * RTTI_Particles__Intrinsics__GeometryRotToPhysicsQuatParamSet = (void *)0x05CE6390; const void * RTTI_Particles__Intrinsics__HexColorHexColorUIntParamSet = (void *)0x05CE3B70; const void * RTTI_Particles__Intrinsics__HexColorUIntParamSet = (void *)0x05CE3BC0; const void * RTTI_Particles__Intrinsics__HexUIntInput = (void *)0x05CE55E8; const void * RTTI_Particles__Intrinsics__Input = (void *)0x05CE5B48; const void * RTTI_Particles__Intrinsics__IntInput = (void *)0x05CE5878; const void * RTTI_Particles__Intrinsics__JumpParamSet = (void *)0x05CE38F8; const void * RTTI_Particles__Intrinsics__KillParamSet = (void *)0x05CE37D8; const void * RTTI_Particles__Intrinsics__LODCurvedPropertyBaseParamSet = (void *)0x05CE4320; const void * RTTI_Particles__Intrinsics__LODCurvedPropertyFloatParamSet = (void *)0x05CE43C0; const void * RTTI_Particles__Intrinsics__MatrixInput = (void *)0x05CE58B0; const void * RTTI_Particles__Intrinsics__MatrixVectorVectorParamSet = (void *)0x05CE3930; const void * RTTI_Particles__Intrinsics__MeshSpawnDimensionInput = (void *)0x05CE5710; const void * RTTI_Particles__Intrinsics__NoOpDeclareBoolParamSet = (void *)0x05CE64D0; const void * RTTI_Particles__Intrinsics__NoOpSimulateParticlesMarkerParamSet = (void *)0x05CE6160; const void * RTTI_Particles__Intrinsics__Noise2ParamSet = (void *)0x05CE33C0; const void * RTTI_Particles__Intrinsics__Noise3ParamSet = (void *)0x05CE3380; const void * RTTI_Particles__Intrinsics__NoiseBaseParamSet = (void *)0x05CE3340; const void * RTTI_Particles__Intrinsics__NoiseParamSet = (void *)0x05CE3300; const void * RTTI_Particles__Intrinsics__NoiseTypeInput = (void *)0x05CE6630; const void * RTTI_Particles__Intrinsics__OperationNameInput = (void *)0x05CE5698; const void * RTTI_Particles__Intrinsics__OrbitAroundPointParamSet = (void *)0x05CE4230; const void * RTTI_Particles__Intrinsics__ParameterSetBase = (void *)0x05CE5B08; const void * RTTI_Particles__Intrinsics__PhysicsQuatToGeometryRotParamSet = (void *)0x05CE6480; const void * RTTI_Particles__Intrinsics__PhysicsQuatToSpriteRotParamSet = (void *)0x05CE6430; const void * RTTI_Particles__Intrinsics__PointInCylinderParamSet = (void *)0x05CE3980; const void * RTTI_Particles__Intrinsics__PointInMeshParamSet = (void *)0x05CE45C8; const void * RTTI_Particles__Intrinsics__PointOnAttachedSkeletonParamSet = (void *)0x05CE41E0; const void * RTTI_Particles__Intrinsics__RandomVariableParamSet = (void *)0x05CE2FC0; const void * RTTI_Particles__Intrinsics__RandomVectorOnShapeParamSet = (void *)0x05CE4610; const void * RTTI_Particles__Intrinsics__ScaledVectorGivenTwoPointsParamSet = (void *)0x05CE4190; const void * RTTI_Particles__Intrinsics__ShapeTypeInput = (void *)0x05CE6670; const void * RTTI_Particles__Intrinsics__SharedAsset = (void *)0x05CE53E0; const void * RTTI_Particles__Intrinsics__SharedAssociatedUID = (void *)0x05CE5AC8; const void * RTTI_Particles__Intrinsics__SharedCollisionInfo = (void *)0x05CE5A88; const void * RTTI_Particles__Intrinsics__SharedColorAlphaCurves = (void *)0x05CE5B80; const void * RTTI_Particles__Intrinsics__SharedColorCurve = (void *)0x05CE5BC8; const void * RTTI_Particles__Intrinsics__SharedCurve = (void *)0x05CE5458; const void * RTTI_Particles__Intrinsics__SharedCustomParameter = (void *)0x05CE5A40; const void * RTTI_Particles__Intrinsics__SharedFiniteRandomNumberGenerator = (void *)0x05CE5D60; const void * RTTI_Particles__Intrinsics__SharedHeightmapData = (void *)0x05CE5A00; const void * RTTI_Particles__Intrinsics__SharedLODCurves = (void *)0x05CE5C40; const void * RTTI_Particles__Intrinsics__SharedMesh = (void *)0x05CE5C08; const void * RTTI_Particles__Intrinsics__SharedNoiseGenerator = (void *)0x05CE5C80; const void * RTTI_Particles__Intrinsics__SharedParticleSystemSpawnParameters = (void *)0x05CE59B0; const void * RTTI_Particles__Intrinsics__SharedRGBColorCurve = (void *)0x05CE5418; const void * RTTI_Particles__Intrinsics__SharedRandomVariableDistributionValues = (void *)0x05CE5D00; const void * RTTI_Particles__Intrinsics__SharedRuntimeInfo = (void *)0x05CE53A0; const void * RTTI_Particles__Intrinsics__SharedSkeletonData = (void *)0x05CE5CC0; const void * RTTI_Particles__Intrinsics__SharedUpdateForcesParameters = (void *)0x05CE5960; const void * RTTI_Particles__Intrinsics__SpawnParticleParamSet = (void *)0x05CE3740; const void * RTTI_Particles__Intrinsics__StringInput = (void *)0x05CE56D8; const void * RTTI_Particles__Intrinsics__TransformInitialParticlePositionToWorldSpaceParamSet = (void *)0x05CE5FA0; const void * RTTI_Particles__Intrinsics__TransformPositionToEmitterSpaceDouble3Double3ParamSet = (void *)0x05CE5E80; const void * RTTI_Particles__Intrinsics__TransformPositionToEmitterSpaceFloat3Double3ParamSet = (void *)0x05CE5EF0; const void * RTTI_Particles__Intrinsics__TransformPositionToEmitterSpaceFloat3Float3ParamSet = (void *)0x05CE5E20; const void * RTTI_Particles__Intrinsics__TransformPositionToParentSpaceDouble3Double3ParamSet = (void *)0x05CE6330; const void * RTTI_Particles__Intrinsics__TransformPositionToParentSpaceFloat3Double3ParamSet = (void *)0x05CE6200; const void * RTTI_Particles__Intrinsics__TransformPositionToParentSpaceFloat3Float3ParamSet = (void *)0x05CE6260; const void * RTTI_Particles__Intrinsics__TransformPositionToPositionInWorldEmitterSpaceFloat3Float3ParamSet = (void *)0x05CE5DB0; const void * RTTI_Particles__Intrinsics__TransformRelativeGeometryParticleToParentSpaceParamSet = (void *)0x05CE62C0; const void * RTTI_Particles__Intrinsics__TransformRelativePositionFloat3Double3ParamSet = (void *)0x05CE6570; const void * RTTI_Particles__Intrinsics__TransformRelativePositionFloat3Float3ParamSet = (void *)0x05CE65D0; const void * RTTI_Particles__Intrinsics__TransformRelativePositionToInWorldPositionFloat3Float3ParamSet = (void *)0x05CE60F0; const void * RTTI_Particles__Intrinsics__TransformStretchVectorToWorldParamSet = (void *)0x05CE3690; const void * RTTI_Particles__Intrinsics__TransformVelocityToWorldParamSet = (void *)0x05CE6000; const void * RTTI_Particles__Intrinsics__UIntDivisionParamSet = (void *)0x05CE3C00; const void * RTTI_Particles__Intrinsics__UIntFloatParamSet = (void *)0x05CE3C80; const void * RTTI_Particles__Intrinsics__UIntInput = (void *)0x05CE5928; const void * RTTI_Particles__Intrinsics__UIntMinMaxParamSet = (void *)0x05CE3CC0; const void * RTTI_Particles__Intrinsics__UIntUIntBoolParamSet = (void *)0x05CE3AF0; const void * RTTI_Particles__Intrinsics__UIntUIntParamSet = (void *)0x05CE3B30; const void * RTTI_Particles__Intrinsics__UIntUIntUIntParamSet = (void *)0x05CE3C40; const void * RTTI_Particles__Intrinsics__UpdateChildParticleBindingsParamSet = (void *)0x05CE36F0; const void * RTTI_Particles__Intrinsics__UpdateForcesParamSet = (void *)0x05CEBAD0; const void * RTTI_Particles__Intrinsics__VariableInput = (void *)0x05CE58E8; const void * RTTI_Particles__Intrinsics__Vector2Input = (void *)0x05CE5840; const void * RTTI_Particles__Intrinsics__Vector2Vector2FloatVector2ParamSet = (void *)0x05CE31B0; const void * RTTI_Particles__Intrinsics__Vector2Vector2Vector2FloatVector2ParamSet = (void *)0x05CE3150; const void * RTTI_Particles__Intrinsics__Vector2Vector2Vector2Vector2FloatVector2ParamSet = (void *)0x05CE3F90; const void * RTTI_Particles__Intrinsics__Vector3Input = (void *)0x05CE5808; const void * RTTI_Particles__Intrinsics__Vector3MatrixParamSet = (void *)0x05CE3400; const void * RTTI_Particles__Intrinsics__Vector3Vector3FloatVector3ParamSet = (void *)0x05CE3F40; const void * RTTI_Particles__Intrinsics__Vector3Vector3Vector3FloatVector3ParamSet = (void *)0x05CE4050; const void * RTTI_Particles__Intrinsics__Vector3Vector3Vector3Vector3FloatVector3ParamSet = (void *)0x05CE3FF0; const void * RTTI_Particles__Intrinsics__VectorFloatParamSet = (void *)0x05CE4498; const void * RTTI_Particles__Intrinsics__VectorFloatVectorParamSet = (void *)0x05CE4580; const void * RTTI_Particles__Intrinsics__VectorMinMaxParamSet = (void *)0x05CE4100; const void * RTTI_Particles__Intrinsics__VectorScaleAddParamSet = (void *)0x05CE4140; const void * RTTI_Particles__Intrinsics__VectorVectorFloatParamSet = (void *)0x05CE30B0; const void * RTTI_Particles__Intrinsics__VectorVectorParamSet = (void *)0x05CE32C0; const void * RTTI_Particles__Intrinsics__VectorVectorVectorParamSet = (void *)0x05CE3100; const void * RTTI_Particles__Intrinsics__XMFLOAT4Input = (void *)0x05CE5620; const void * RTTI_Particles__ListFloatCurve = (void *)0x05CD64A0; const void * RTTI_Particles__ListParticleCollisionInfo = (void *)0x05AAFB78; const void * RTTI_Particles__MaterialDBDependency = (void *)0x05CE5540; const void * RTTI_Particles__MaterialProperties = (void *)0x05CD6540; const void * RTTI_Particles__MeshDependency = (void *)0x05CE52B8; const void * RTTI_Particles__ModelDBDependency = (void *)0x05CE5578; const void * RTTI_Particles__PSM__Commands__BaseParticleSystemRequest = (void *)0x05CE7370; const void * RTTI_Particles__PSM__Commands__RequestLoadResources = (void *)0x05CE6EF0; const void * RTTI_Particles__PSM__Commands__WaitForResourceLoad = (void *)0x05CE6EA0; const void * RTTI_Particles__ParticleEmitterEngine = (void *)0x05CE96E8; const void * RTTI_Particles__ParticleEmitterEngine__GlobalEmitterEngineBinding = (void *)0x05CE9810; const void * RTTI_Particles__ParticleNodeManager = (void *)0x05CD72D8; const void * RTTI_Particles__ParticlePerformanceManager = (void *)0x05CE6C68; const void * RTTI_Particles__ParticleSystemManagerImpl = (void *)0x05CE7000; const void * RTTI_Particles__ParticleSystemManagerImpl__PSBinding = (void *)0x05CE6AF0; const void * RTTI_Particles__ParticleSystemStorage = (void *)0x05CD7188; const void * RTTI_Particles__PhysicsProperties = (void *)0x05CD6468; const void * RTTI_Particles__PointInMeshDependency = (void *)0x05CE5368; const void * RTTI_Particles__ResourceDependency = (void *)0x05CE54C8; const void * RTTI_Particles__SingleOperation = (void *)0x05CE4EE0; const void * RTTI_Particles__SystemBinding = (void *)0x05CD8028; const void * RTTI_Particles__SystemDefinition = (void *)0x05CD7FF0; const void * RTTI_Particles__TiledMaterialProperties = (void *)0x05CD6430; const void * RTTI_PassengerInteraction = (void *)0x05ACE218; const void * RTTI_PathFollowerAnimationMoveStart = (void *)0x05CFA8C8; const void * RTTI_PathFollowerAnimationMoveStop = (void *)0x05CFA900; const void * RTTI_PathFollowerStateFollowPathToParameter = (void *)0x05CFA7A8; const void * RTTI_PathFollowerStateKeepLastDirection = (void *)0x05CFA7E8; const void * RTTI_PathFollowerStatePerformAction = (void *)0x05CFA890; const void * RTTI_PathFollowerStatePlayIdle = (void *)0x05CFA740; const void * RTTI_PathFollowerStateShortcut = (void *)0x05CFA828; const void * RTTI_PathFollowerStateTurnToAngle = (void *)0x05CFA770; const void * RTTI_PathFollowerStateWaitForAction = (void *)0x05CFA858; const void * RTTI_PathManagerImpl = (void *)0x05CED298; const void * RTTI_PathManagerPositionPlayerAdapter = (void *)0x05B99170; const void * RTTI_PathSmootherRayCastUsePreferredTris = (void *)0x05CF7C70; const void * RTTI_PathSmootherRayCastUseTrianglePath = (void *)0x05CF7C30; const void * RTTI_Pathing = (void *)0x05A9A2F0; const void * RTTI_PathingAnimations = (void *)0x05C8C4C8; const void * RTTI_PathingAnimationsInstance = (void *)0x05C8C440; const void * RTTI_PathingCell = (void *)0x05A9A8A0; const void * RTTI_PathingCoverLocation = (void *)0x05A9A258; const void * RTTI_PathingDoor = (void *)0x05A9A8C8; const void * RTTI_PathingLockData = (void *)0x05A9AA70; const void * RTTI_PathingNumericIDDuplicationVisitor = (void *)0x05A9ACA0; const void * RTTI_PathingRequest = (void *)0x059C3688; const void * RTTI_PathingRequestClosePoint = (void *)0x05A99998; const void * RTTI_PathingRequestClosestGoal = (void *)0x05A9BD68; const void * RTTI_PathingRequestCover = (void *)0x05A9BFB0; const void * RTTI_PathingRequestFlee = (void *)0x05A9C1F0; const void * RTTI_PathingRequestFly = (void *)0x05A9C430; const void * RTTI_PathingRequestFlyAction = (void *)0x05A9C458; const void * RTTI_PathingRequestFlyHover = (void *)0x05A9C8E8; const void * RTTI_PathingRequestFlyLand = (void *)0x05A9C918; const void * RTTI_PathingRequestFlyOrbit = (void *)0x05A9CD98; const void * RTTI_PathingRequestFlyTakeOff = (void *)0x05A9CFF8; const void * RTTI_PathingRequestHide = (void *)0x05A9D240; const void * RTTI_PathingRequestLOS = (void *)0x05A9D270; const void * RTTI_PathingRequestOpenSpace = (void *)0x059C36B0; const void * RTTI_PathingRequestRotate = (void *)0x05A9D6C0; const void * RTTI_PathingRequestSafeStraightLine = (void *)0x05A999C8; const void * RTTI_PathingRequestStopMoving = (void *)0x05A9DB48; const void * RTTI_PathingSpace = (void *)0x05A9AED0; const void * RTTI_PathingStreamLoadGame = (void *)0x05BB8578; const void * RTTI_PathingStreamMasterFileRead = (void *)0x05A18200; const void * RTTI_PathingStreamSaveGame = (void *)0x05BB8548; const void * RTTI_PathingTraversalAction = (void *)0x05A195F8; const void * RTTI_PathingTraversalActionActivate = (void *)0x05A19698; const void * RTTI_PathingTraversalActionDoorway = (void *)0x05A19708; const void * RTTI_PathingTraversalActionJump = (void *)0x05A19628; const void * RTTI_PathingTraversalActionLadder = (void *)0x05A196D0; const void * RTTI_PathingTraversalActionStandard = (void *)0x05A19660; const void * RTTI_PathingTraversalData = (void *)0x05A19740; const void * RTTI_PathingTraversalManager = (void *)0x05A1B488; const void * RTTI_PauseMenu = (void *)0x05B5EDE8; const void * RTTI_PauseMenuConfirmationDataModel = (void *)0x05B03DC8; const void * RTTI_PauseMenuConfirmationDataModel__PauseMenuConfirmatioEventShuttle = (void *)0x05B03D70; const void * RTTI_PauseMenuListDataModel = (void *)0x05B03EE8; const void * RTTI_PauseMenuListDataModel__PauseMenuListEventShuttle = (void *)0x05B03EA0; const void * RTTI_PauseMenuStateDataModel = (void *)0x05B04260; const void * RTTI_PauseMenuStateDataModel__PauseMenuStateEventShuttle = (void *)0x05B04170; const void * RTTI_PauseMenu_ActionCanceled = (void *)0x05B5F1E8; const void * RTTI_PauseMenu_ConfirmAction = (void *)0x05B5F168; const void * RTTI_PauseMenu_ConfirmLoad = (void *)0x05B5F2E8; const void * RTTI_PauseMenu_ConfirmSave = (void *)0x05B5F068; const void * RTTI_PauseMenu_DeleteSave = (void *)0x05B5EF68; const void * RTTI_PauseMenu_QuitToDesktop = (void *)0x05B5F0E8; const void * RTTI_PauseMenu_SetCharacter = (void *)0x05B5EFE8; const void * RTTI_PauseMenu_StartAction = (void *)0x05B5F368; const void * RTTI_PauseMenu_StartLoad = (void *)0x05B5F268; const void * RTTI_PauseMenu_UploadSave = (void *)0x05B5ED78; const void * RTTI_PeakValueModifierEffect = (void *)0x05997BB0; const void * RTTI_PenetrationRecoveryUtils__hknpBSIgnoreBodyCollisionFilter = (void *)0x05CA7510; const void * RTTI_PenetrationUtils__hknpBSCommandStreamWriter = (void *)0x05CABF10; const void * RTTI_PerformActivationHandler = (void *)0x05BCEEF0; const void * RTTI_PerformOpFunc = (void *)0x05D51588; const void * RTTI_PhotoGalleryMenu = (void *)0x05AE4568; const void * RTTI_PhotoGalleryMenu__PhotoGalleryEventShuttle = (void *)0x05AE45C0; const void * RTTI_PhotoGallery_DeletePhoto = (void *)0x05AE4590; const void * RTTI_PhotoModeCameraState = (void *)0x05AA94B8; const void * RTTI_PhotoModeDataModel = (void *)0x05B05DE8; const void * RTTI_PhotoModeDataModel__PhotoModeEventShuttle = (void *)0x05B05DA8; const void * RTTI_PhotoModeDataModel__PhotoModeOverlayData__ImageData = (void *)0x05B05CA0; const void * RTTI_PhotoModeDataModel__PhotoModeSettingsData__CategoryData = (void *)0x05B05CF0; const void * RTTI_PhotoModeDataModel__PhotoModeSettingsData__SettingData = (void *)0x05B05B20; const void * RTTI_PhotoModeEffectController = (void *)0x05A87100; const void * RTTI_PhotoModeMenu = (void *)0x05B3DB98; const void * RTTI_PhotoMode_InitializeCategory = (void *)0x05B3DF68; const void * RTTI_PhotoMode_RefineSetting = (void *)0x05B3DC08; const void * RTTI_PhotoMode_ResetToDefaults = (void *)0x05B3E070; const void * RTTI_PhotoMode_SliderChanged = (void *)0x05B3DFE8; const void * RTTI_PhotoMode_StepperChanged = (void *)0x05B3DE38; const void * RTTI_PhotoMode_TakeSnapshot = (void *)0x05B3DDB8; const void * RTTI_PhotoMode_ToggleHelmet = (void *)0x05B3DEB8; const void * RTTI_PhotoMode_ToggleUI = (void *)0x05B3DF38; const void * RTTI_PhotoMode__PhotoModeCaptureExportNode = (void *)0x05B3D700; const void * RTTI_PhysicsContactListener = (void *)0x05C8C3D8; const void * RTTI_PhysicsContactListenerInstance = (void *)0x05C8C408; const void * RTTI_PickNewIdleHandler = (void *)0x05BCF418; const void * RTTI_PickpocketInventoryModel = (void *)0x05B3FA48; const void * RTTI_PickpocketItemData = (void *)0x05B3FA18; const void * RTTI_PickpocketMenu = (void *)0x05B3ED10; const void * RTTI_PickpocketMenu_OnItemSelect = (void *)0x05B3EAC8; const void * RTTI_PickpocketStateData = (void *)0x05B3FA78; const void * RTTI_PilotCameraShaker = (void *)0x05AD2360; const void * RTTI_PipelineGenerationEventHandler = (void *)0x05B9C498; const void * RTTI_PitchOverrideEndHandler = (void *)0x05BCEB78; const void * RTTI_PitchOverrideStartHandler = (void *)0x05BCEC00; const void * RTTI_PlanetSiteSelectEventHelper = (void *)0x05B9B030; const void * RTTI_PlasmaProjectile = (void *)0x05AAFB50; const void * RTTI_PlatformDataModel = (void *)0x05CD5138; const void * RTTI_PlayBinkMenu = (void *)0x05B5F7C0; const void * RTTI_PlayBink_CloseMenu = (void *)0x05B5F790; const void * RTTI_PlayerBedEnterHandler = (void *)0x05BCE4B8; const void * RTTI_PlayerCamera = (void *)0x05C484C0; const void * RTTI_PlayerCameraTransitionState = (void *)0x05C48748; const void * RTTI_PlayerChairEnterHandler = (void *)0x05BCE510; const void * RTTI_PlayerCharacter = (void *)0x05BB4EA8; const void * RTTI_PlayerControls__AlternateAttackHandler = (void *)0x05ACE520; const void * RTTI_PlayerControls__AlternateFlightControlMode = (void *)0x05ACE3B0; const void * RTTI_PlayerControls__AutoMoveHandler = (void *)0x05ACE340; const void * RTTI_PlayerControls__DebugCameraHandler = (void *)0x05ACE378; const void * RTTI_PlayerControls__FlightControlMode = (void *)0x05ACE470; const void * RTTI_PlayerControls__FlightMovementHandler = (void *)0x05ACE430; const void * RTTI_PlayerControls__GrabRotationHandler = (void *)0x05ACE4A8; const void * RTTI_PlayerControls__GravJumpHandler = (void *)0x05ACE4E8; const void * RTTI_PlayerControls__JumpHandler = (void *)0x05ACE918; const void * RTTI_PlayerControls__LookHandler = (void *)0x05ACE950; const void * RTTI_PlayerControls__Manager = (void *)0x05ACFE68; const void * RTTI_PlayerControls__MonocleHandler = (void *)0x05ACE988; const void * RTTI_PlayerControls__MovementHandler = (void *)0x05ACE9C0; const void * RTTI_PlayerControls__NvidiaStreamlineInputHandler = (void *)0x05ACEA00; const void * RTTI_PlayerControls__PlayerCameraHandler = (void *)0x05ACEA48; const void * RTTI_PlayerControls__RunHandler = (void *)0x05ACEA88; const void * RTTI_PlayerControls__ShieldHandler = (void *)0x05ACEAB8; const void * RTTI_PlayerControls__ShipEquipmentHandler = (void *)0x05ACEAF0; const void * RTTI_PlayerControls__SneakHandler = (void *)0x05ACECE8; const void * RTTI_PlayerControls__SprintHandler = (void *)0x05ACF128; const void * RTTI_PlayerControls__StandardFlightControlMode = (void *)0x05ACE3F0; const void * RTTI_PlayerControls__StarbornPowerHandler = (void *)0x05ACFF68; const void * RTTI_PlayerControls__TogglePOVHandler = (void *)0x05ACF160; const void * RTTI_PlayerControls__ToggleRunHandler = (void *)0x05ACF198; const void * RTTI_PlayerControls__VehicleHandler = (void *)0x05ACFFA8; const void * RTTI_PlayerControls__WeaponAttackHandler = (void *)0x05ACF210; const void * RTTI_PlayerControls__WeaponAttackTriggerStates__NotTriggered = (void *)0x05996560; const void * RTTI_PlayerControls__WeaponAttackTriggerStates__Triggered = (void *)0x05996300; const void * RTTI_PlayerControls__WeaponAttackTriggerStates__TriggeredAutomatic = (void *)0x05996400; const void * RTTI_PlayerControls__WeaponAttackTriggerStates__TriggeredBurst = (void *)0x059964C0; const void * RTTI_PlayerControls__WeaponAttackTriggerStates__TriggeredBurstEnd = (void *)0x05996240; const void * RTTI_PlayerControls__WeaponAttackTriggerStates__TriggeredContinuous = (void *)0x05996460; const void * RTTI_PlayerControls__WeaponAttackTriggerStates__TriggeredFirstStage = (void *)0x059963A0; const void * RTTI_PlayerControls__WeaponAttackTriggerStates__TriggeredOnRelease = (void *)0x059961E0; const void * RTTI_PlayerControls__WeaponAttackTriggerStates__TriggeredSecondStage = (void *)0x059962A0; const void * RTTI_PlayerControls__WeaponAttackTriggerStates__TriggeredSingle = (void *)0x05996510; const void * RTTI_PlayerControls__WeaponAttackTriggerStates__TriggeredWaitForRelease = (void *)0x05996180; const void * RTTI_PlayerControls__WeaponAttackTriggerStates__Unequipped = (void *)0x05996350; const void * RTTI_PlayerControls__WeaponBlockActionHandler = (void *)0x05ACF870; const void * RTTI_PlayerControls__WeaponFocusHandler = (void *)0x05ACF8B0; const void * RTTI_PlayerControls__WeaponMeleeHandler = (void *)0x05ACF8E8; const void * RTTI_PlayerControls__WeaponReadyHandler = (void *)0x05ACF920; const void * RTTI_PlayerControls__WeaponReloadHandler = (void *)0x05ACF958; const void * RTTI_PlayerControls__WeaponSightedActionHandler = (void *)0x05ACFD80; const void * RTTI_PlayerControls__ZKeyHandler = (void *)0x05ACE298; const void * RTTI_PlayerDataModel = (void *)0x05B076D0; const void * RTTI_PlayerDataModel__PlayerDataEventShuttle = (void *)0x05B073F0; const void * RTTI_PlayerFastEquipSoundHandler = (void *)0x05BCB670; const void * RTTI_PlayerFurnitureExitHandler = (void *)0x05BCE3D0; const void * RTTI_PlayerInventoryDataModel = (void *)0x05B07F08; const void * RTTI_PlayerInventoryItem = (void *)0x05B08010; const void * RTTI_PlayerRegionState = (void *)0x05BB53C8; const void * RTTI_PlayerSleepWaitMovementControllerAdapter = (void *)0x05B99218; const void * RTTI_PlayerSleepWaitMovementControllerAdapter__SwitchToLoadedSetControllerFunctor = (void *)0x05B991B0; const void * RTTI_PlayerSleepWaitMovementControllerAdapter__SwitchToUnloadedSetControllerFunctor = (void *)0x05B99290; const void * RTTI_PlayerSpaceUtils__EventSink = (void *)0x05B85C18; const void * RTTI_PlayerSpaceUtils__PlayerSpaceUtilsEventHandler = (void *)0x05B85BD0; const void * RTTI_PlayerSpaceUtils___unnamed_type_SpaceAsteroidsWorldStepListener_ = (void *)0x05B85C50; const void * RTTI_PlayerStatusDataModel = (void *)0x05B08D60; const void * RTTI_PlayerStatusDataModel__PlayerStatusEventShuttle = (void *)0x05B08E30; const void * RTTI_PlayerTraversalState = (void *)0x05BB4C80; const void * RTTI_PoseDeformerData = (void *)0x05A43100; const void * RTTI_PoseDeformerInstance = (void *)0x05A434B0; const void * RTTI_PostAttachActionsFunctor = (void *)0x05D51558; const void * RTTI_PostBoneModifierControl = (void *)0x05C952A0; const void * RTTI_PostBoneModifierControlInstance = (void *)0x05C952D0; const void * RTTI_PostStepTask = (void *)0x0598DE38; const void * RTTI_PowerArmor__EventHandler = (void *)0x05AD0258; const void * RTTI_PowerUtils__PowerUtilsReferenceEventSink = (void *)0x05A0EFA0; const void * RTTI_PowersMenu = (void *)0x05AE6958; const void * RTTI_PowersMenu_ActivateEssence = (void *)0x05AE6760; const void * RTTI_PowersMenu_EquipPower = (void *)0x05AE6878; const void * RTTI_PowersMenu_FavoriteEssence = (void *)0x05AE66D8; const void * RTTI_PowersMenu_FavoritePower = (void *)0x05AE65D8; const void * RTTI_PowersMenu_UpgradePower = (void *)0x05AE6658; const void * RTTI_PowersMenu__PowersMenuEventShuttle = (void *)0x05AE6470; const void * RTTI_PreStepTask = (void *)0x0598DE10; const void * RTTI_Precipitation = (void *)0x05A86808; const void * RTTI_PrecipitationEffectController = (void *)0x05A867D0; const void * RTTI_Preload__Manager = (void *)0x05AEE4F0; const void * RTTI_Preload__PostProcessDependencyNode = (void *)0x05AEE6D0; const void * RTTI_PreparePartitionTreeBuffers = (void *)0x0598E1A8; const void * RTTI_Probe__ReflectionProbeRenderOptions = (void *)0x05CBD640; const void * RTTI_ProcessListMovementInterface = (void *)0x05BB6290; const void * RTTI_ProcessLists = (void *)0x05BB64B8; const void * RTTI_ProcessLists__GetActorsFilter = (void *)0x05B8D5B8; const void * RTTI_Projectile = (void *)0x05AAFB28; const void * RTTI_ProjectileLOSCollector = (void *)0x05BF1680; const void * RTTI_Projectile__Manager = (void *)0x05BD39F0; const void * RTTI_QuestDataModel = (void *)0x05B0A2A8; const void * RTTI_QuestDataModel__QuestGameEventShuttle = (void *)0x05B0A368; const void * RTTI_QuestPathingRequest = (void *)0x05A1B860; const void * RTTI_QueuedCellAttachService = (void *)0x05A0E6B0; const void * RTTI_QueuedCharacter = (void *)0x059FA4E8; const void * RTTI_QueuedExplosionArt = (void *)0x059F9EA8; const void * RTTI_QueuedFile = (void *)0x059EC8B0; const void * RTTI_QueuedLocationLoadTask = (void *)0x05A68818; const void * RTTI_QueuedPlayer = (void *)0x059F9E80; const void * RTTI_QueuedPromoteLargeReferencesTask = (void *)0x05A673D0; const void * RTTI_QueuedPromoteQuestTask = (void *)0x05A847C8; const void * RTTI_QueuedPromoteReferencesTask = (void *)0x05A0B038; const void * RTTI_QueuedReference = (void *)0x059FA6F0; const void * RTTI_QueuedReferenceCallbackNode = (void *)0x059FA540; const void * RTTI_QuickSaveLoadHandler = (void *)0x05C54078; const void * RTTI_REFREventCallbacks__IEventCallback = (void *)0x05A79568; const void * RTTI_REFREventCallbacks__IEventCallbackFactory = (void *)0x05A798D8; const void * RTTI_RagdollAndGetUpHandler = (void *)0x05BCF628; const void * RTTI_RagdollFurnitureModifier = (void *)0x05A85728; const void * RTTI_RagdollGetUp = (void *)0x05C99178; const void * RTTI_RagdollGetUpInstance = (void *)0x05C99148; const void * RTTI_RagdollStartHandler = (void *)0x05BCF708; const void * RTTI_RallyEffect = (void *)0x05B80B38; const void * RTTI_RandomAnimationNode = (void *)0x05C99A20; const void * RTTI_RandomAnimationNodeInstance = (void *)0x05C99A50; const void * RTTI_RangedAimAssistImpl = (void *)0x05AA9AD0; const void * RTTI_ReanimateEffect = (void *)0x05B805E0; const void * RTTI_RecoilStopHandler = (void *)0x05BCEB20; const void * RTTI_ReevaluateGraphStateHandler = (void *)0x05BCEFE0; const void * RTTI_RefAttachTechniqueInput = (void *)0x05B7EB68; const void * RTTI_ReferenceEffect = (void *)0x05995658; const void * RTTI_ReferenceEffectController = (void *)0x059C7540; const void * RTTI_ReferenceEndAnimatedCameraHandler = (void *)0x05BCA4E8; const void * RTTI_ReferenceRunActionHandler = (void *)0x05BCA390; const void * RTTI_ReferenceStartAnimatedCameraHandler = (void *)0x05BCA4A8; const void * RTTI_ReferenceStartImagespaceModifierHandler = (void *)0x05BCA3F8; const void * RTTI_ReferenceStopImagespaceModifierHandler = (void *)0x05BCA350; const void * RTTI_ReflectionProbeCellComponent = (void *)0x059D23C8; const void * RTTI_RefrInteraction = (void *)0x05ACE270; const void * RTTI_Refuel_Accept = (void *)0x05B46788; const void * RTTI_Refuel_Cancel = (void *)0x05B467B0; const void * RTTI_RegSettingCollection = (void *)0x05B83A08; const void * RTTI_ReloadCompleteHandler = (void *)0x05BCF0D8; const void * RTTI_ReloadProgressBar = (void *)0x05D55A28; const void * RTTI_ReloadStateChangeHandler = (void *)0x05BCF0A8; const void * RTTI_RemoveRagdollHandler = (void *)0x05BCF6D8; const void * RTTI_ResearchDataModel = (void *)0x05B0A968; const void * RTTI_ResearchDataModel__ResearchDataEventShuttle = (void *)0x05B0A920; const void * RTTI_ResearchMenu = (void *)0x05B414F8; const void * RTTI_ResearchMenu_AddMaterial = (void *)0x05B41698; const void * RTTI_ResearchMenu_CategorySelected = (void *)0x05B418B0; const void * RTTI_ResearchMenu_ExitMenu = (void *)0x05B41718; const void * RTTI_ResearchMenu_HideModel = (void *)0x05B41798; const void * RTTI_ResearchMenu_PreviewProject = (void *)0x05B41940; const void * RTTI_ResearchMenu_ProjectViewed = (void *)0x05B419D0; const void * RTTI_ResearchMenu_SetInspectControls = (void *)0x05B41820; const void * RTTI_ResearchMenu_ToggleTrackingProject = (void *)0x05B41468; const void * RTTI_Research__Manager = (void *)0x05B86998; const void * RTTI_Reset3DMobIterator = (void *)0x05A821A0; const void * RTTI_ResetFloraEffect = (void *)0x05B80008; const void * RTTI_Reticle_OnCruiseActivate = (void *)0x05B63450; const void * RTTI_Reticle_OnCruiseExitAnimFinished = (void *)0x05B630A8; const void * RTTI_Reticle_OnCruiseLockCourse = (void *)0x05B63130; const void * RTTI_Reticle_OnLongAnimFinished = (void *)0x05B633C0; const void * RTTI_RevertSelectedSpellFunctor = (void *)0x05BABCD8; const void * RTTI_RigMesh__BoneAttaches = (void *)0x05CA4130; const void * RTTI_RigMesh__BoneTranslations = (void *)0x05CA4100; const void * RTTI_RigSwitch = (void *)0x05C95258; const void * RTTI_RigSwitchInstance = (void *)0x05C95278; const void * RTTI_RightHandSpellCastHandler = (void *)0x05BCEA68; const void * RTTI_RightHandSpellFireHandler = (void *)0x05BCEAC8; const void * RTTI_RollingBone = (void *)0x05C990C8; const void * RTTI_RollingBoneInstance = (void *)0x05C99098; const void * RTTI_RootTwist = (void *)0x05C99760; const void * RTTI_RootTwistInstance = (void *)0x05C99780; const void * RTTI_RotationVariable = (void *)0x05C95360; const void * RTTI_RotationVariableInstance = (void *)0x05C98C38; const void * RTTI_RuntimeComponentDBFactory__UnloadedComponentBase = (void *)0x05A115C0; const void * RTTI_RuntimeComponentDBFactory__UnloadedComponentStorage = (void *)0x05A11610; const void * RTTI_SKClosestHitCollector = (void *)0x05A7DAB0; const void * RTTI_SWFToCodeFunctionHandler = (void *)0x059EC1D0; const void * RTTI_SandManKillHandler = (void *)0x05BCB0C0; const void * RTTI_SaveBufferStorageWrapper = (void *)0x05B8C490; const void * RTTI_SaveFileStorageWrapper = (void *)0x05B8C3A0; const void * RTTI_SaveGameCollection = (void *)0x05B87CF8; const void * RTTI_SaveGameMagicCasterVisitor = (void *)0x05BABC68; const void * RTTI_SaveLoadMagicCasterVisitor = (void *)0x05BADEB0; const void * RTTI_SaveLoadTester__IgnoreAsserts = (void *)0x05B8B528; const void * RTTI_SaveLoadTester__Service = (void *)0x05B8B7E8; const void * RTTI_SaveLoad__BlockingIONode = (void *)0x05A541D8; const void * RTTI_SaveLoad__CleanupService__Impl = (void *)0x05AEAA58; const void * RTTI_SaveStorageWrapperBase = (void *)0x05B8C370; const void * RTTI_ScalarAnimation = (void *)0x05C8B158; const void * RTTI_ScaleformFile__MemoryFile = (void *)0x05CD5410; const void * RTTI_Scaleform__AcquireInterface = (void *)0x05B8C910; const void * RTTI_Scaleform__AmpMovieObjectDesc = (void *)0x059A7250; const void * RTTI_Scaleform__BoolFormatter = (void *)0x059A7F30; const void * RTTI_Scaleform__BufferedFile = (void *)0x059A95E0; const void * RTTI_Scaleform__DefaultAcquireInterface = (void *)0x05B8C8A8; const void * RTTI_Scaleform__DelegatedFile = (void *)0x059A95B0; const void * RTTI_Scaleform__DoubleFormatter = (void *)0x059A7FC0; const void * RTTI_Scaleform__Event = (void *)0x059A3D58; const void * RTTI_Scaleform__FILEFile = (void *)0x059ABBE0; const void * RTTI_Scaleform__FmtResource = (void *)0x059A7EA0; const void * RTTI_Scaleform__GFx__AS3Support = (void *)0x059BB008; const void * RTTI_Scaleform__GFx__AS3__AS3ByteArray_DIPixelProvider = (void *)0x059B5550; const void * RTTI_Scaleform__GFx__AS3__AS3Vectoruint_DIPixelProvider = (void *)0x059B55A0; const void * RTTI_Scaleform__GFx__AS3__ASRefCountCollector = (void *)0x059ACE18; const void * RTTI_Scaleform__GFx__AS3__ASVM = (void *)0x059AD968; const void * RTTI_Scaleform__GFx__AS3__ASVM__AbcFileWithMovieDef = (void *)0x059ADDD0; const void * RTTI_Scaleform__GFx__AS3__AbcDataBuffer = (void *)0x059BB038; const void * RTTI_Scaleform__GFx__AS3__Abc__File = (void *)0x059ACD20; const void * RTTI_Scaleform__GFx__AS3__ArrayBase = (void *)0x059B1460; const void * RTTI_Scaleform__GFx__AS3__AvmBitmap = (void *)0x059AD4F0; const void * RTTI_Scaleform__GFx__AS3__AvmButton = (void *)0x059ADEA0; const void * RTTI_Scaleform__GFx__AS3__AvmDisplayObj = (void *)0x059AD2C0; const void * RTTI_Scaleform__GFx__AS3__AvmInteractiveObj = (void *)0x059AD928; const void * RTTI_Scaleform__GFx__AS3__AvmLoader = (void *)0x059ADED8; const void * RTTI_Scaleform__GFx__AS3__AvmMovieClip = (void *)0x059ADC30; const void * RTTI_Scaleform__GFx__AS3__AvmSprite = (void *)0x059ADBF8; const void * RTTI_Scaleform__GFx__AS3__AvmStage = (void *)0x059ADC68; const void * RTTI_Scaleform__GFx__AS3__AvmStaticText = (void *)0x059ADF48; const void * RTTI_Scaleform__GFx__AS3__AvmTextField = (void *)0x059ADF80; const void * RTTI_Scaleform__GFx__AS3__AvmTextField__CSSHolder = (void *)0x059B9600; const void * RTTI_Scaleform__GFx__AS3__BASlotFunctCalc = (void *)0x059AD560; const void * RTTI_Scaleform__GFx__AS3__BASlotFunctSrlzFixedName = (void *)0x059AD5A0; const void * RTTI_Scaleform__GFx__AS3__BASlotFunctSrlzFixedValue = (void *)0x059AD5F0; const void * RTTI_Scaleform__GFx__AS3__Class = (void *)0x059ACB10; const void * RTTI_Scaleform__GFx__AS3__ClassCallConstruct = (void *)0x059AE368; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__ClassClass = (void *)0x059AE4C0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__Traits = (void *)0x059ACBE8; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__UserDefined = (void *)0x059AE480; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__ArgumentError = (void *)0x059AFB40; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Array = (void *)0x059AF080; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Boolean = (void *)0x059AEF40; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Catch = (void *)0x059AF0C0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Date = (void *)0x059AFBC8; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__DefinitionError = (void *)0x059AF830; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Domain = (void *)0x059AF1C0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Error = (void *)0x059AF7A8; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__EvalError = (void *)0x059AF880; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Function = (void *)0x059AE500; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Math = (void *)0x059AFC48; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Namespace = (void *)0x059AE9A0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Number = (void *)0x059AEF80; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__Object = (void *)0x059AE540; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__QName = (void *)0x059AF100; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__RangeError = (void *)0x059AF8D0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__ReferenceError = (void *)0x059AF920; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__RegExp = (void *)0x059AF6D8; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__SecurityError = (void *)0x059AF970; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__String = (void *)0x059AF040; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__SyntaxError = (void *)0x059AF9C0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__TypeError = (void *)0x059AFA10; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__URIError = (void *)0x059AFA60; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__UninitializedError = (void *)0x059AFAF0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__VerifyError = (void *)0x059AFAA0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__XML = (void *)0x059AF140; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__XMLList = (void *)0x059AF180; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__int_ = (void *)0x059AEFC0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__uint = (void *)0x059AF000; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl__void_ = (void *)0x059AF200; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_accessibility__Accessibility = (void *)0x059B7DC0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_accessibility__AccessibilityImplementation = (void *)0x059B7ED0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_accessibility__AccessibilityProperties = (void *)0x059B8010; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_accessibility__ISearchableText = (void *)0x059B7D00; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_accessibility__ISimpleTextSelection = (void *)0x059B7D60; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__AVM1Movie = (void *)0x059B5170; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__ActionScriptVersion = (void *)0x059B4C60; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__Bitmap = (void *)0x059B5300; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__BitmapData = (void *)0x059B5260; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__BitmapDataChannel = (void *)0x059B55F0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__BlendMode = (void *)0x059B54B0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__CapsStyle = (void *)0x059B56A0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__DisplayObject = (void *)0x059B4EF0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__DisplayObjectContainer = (void *)0x059B5740; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__FrameLabel = (void *)0x059B5AD0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__GradientType = (void *)0x059B5B70; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__Graphics = (void *)0x059B5C60; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__GraphicsBitmapFill = (void *)0x059B5E40; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__GraphicsEndFill = (void *)0x059B5F50; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__GraphicsGradientFill = (void *)0x059B6060; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__GraphicsPath = (void *)0x059B6170; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__GraphicsPathCommand = (void *)0x059B6420; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__GraphicsPathWinding = (void *)0x059B64D0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__GraphicsSolidFill = (void *)0x059B6260; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__GraphicsStroke = (void *)0x059B6370; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__IBitmapDrawable = (void *)0x059B5460; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__IGraphicsData = (void *)0x059B5D00; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__IGraphicsFill = (void *)0x059B5D50; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__IGraphicsPath = (void *)0x059B5DA0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__InteractiveObject = (void *)0x059B53A0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__InterpolationMethod = (void *)0x059B6580; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__JointStyle = (void *)0x059B6630; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__LineScaleMode = (void *)0x059B66D0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__Loader = (void *)0x059B5800; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__LoaderInfo = (void *)0x059B5990; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__MorphShape = (void *)0x059B67C0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__MovieClip = (void *)0x059B69A0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__PixelSnapping = (void *)0x059B6AE0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__SWFVersion = (void *)0x059B6FF0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__Scene = (void *)0x059B6A40; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__Shader = (void *)0x059B70E0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__ShaderData = (void *)0x059B7090; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__ShaderInput = (void *)0x059B7320; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__ShaderJob = (void *)0x059B72D0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__ShaderParameter = (void *)0x059B7130; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__ShaderParameterType = (void *)0x059B7180; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__ShaderPrecision = (void *)0x059B7230; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__Shape = (void *)0x059B6B80; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__SimpleButton = (void *)0x059B6C20; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__SpreadMethod = (void *)0x059B6CC0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__Sprite = (void *)0x059B6860; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__Stage = (void *)0x059B58A0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__StageAlign = (void *)0x059B6D60; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__StageDisplayState = (void *)0x059B6E00; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__StageQuality = (void *)0x059B6EB0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_display__StageScaleMode = (void *)0x059B6F50; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_errors__EOFError = (void *)0x059B7BA0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_errors__IOError = (void *)0x059B7B50; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_errors__IllegalOperationError = (void *)0x059B7AA0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_errors__InvalidSWFError = (void *)0x059B7B00; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_errors__MemoryError = (void *)0x059B7BF0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_errors__ScriptTimeoutError = (void *)0x059B7C40; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_errors__StackOverflowError = (void *)0x059B7CA0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__AccelerometerEvent = (void *)0x059B2960; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__ActivityEvent = (void *)0x059B3270; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__AppLifecycleEvent = (void *)0x059B49B0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__AsyncErrorEvent = (void *)0x059B3360; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__ContextMenuEvent = (void *)0x059B3460; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__DataEvent = (void *)0x059B3500; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__ErrorEvent = (void *)0x059B3070; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__Event = (void *)0x059B2830; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__EventDispatcher = (void *)0x059B0350; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__EventPhase = (void *)0x059B4360; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__FocusEvent = (void *)0x059B3D40; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__FullScreenEvent = (void *)0x059B4400; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__GeolocationEvent = (void *)0x059B4100; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__GestureEvent = (void *)0x059B3780; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__GesturePhase = (void *)0x059B4910; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__HTTPStatusEvent = (void *)0x059B44A0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__IEventDispatcher = (void *)0x059B4200; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__IMEEvent = (void *)0x059B4590; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__IOErrorEvent = (void *)0x059B3E30; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__KeyboardEvent = (void *)0x059B3B60; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__MouseEvent = (void *)0x059B35A0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__NetStatusEvent = (void *)0x059B3F20; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__PressAndTapGestureEvent = (void *)0x059B3A40; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__ProgressEvent = (void *)0x059B3C50; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__SecurityErrorEvent = (void *)0x059B4680; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__StageOrientation = (void *)0x059B4BC0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__StageOrientationEvent = (void *)0x059B4AB0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__StatusEvent = (void *)0x059B4010; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__SyncEvent = (void *)0x059B4730; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__TextEvent = (void *)0x059B2F80; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__TimerEvent = (void *)0x059B4820; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__TouchEvent = (void *)0x059B3690; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__TransformGestureEvent = (void *)0x059B38D0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__UncaughtErrorEvent = (void *)0x059B3160; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_events__UncaughtErrorEvents = (void *)0x059B42A0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_external__ExternalInterface = (void *)0x059BB1F0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__BevelFilter = (void *)0x059B9B40; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__BitmapFilter = (void *)0x059B9A50; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__BitmapFilterQuality = (void *)0x059B9BE0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__BitmapFilterType = (void *)0x059B9C90; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__BlurFilter = (void *)0x059B9D80; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__ColorMatrixFilter = (void *)0x059B9E70; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__ConvolutionFilter = (void *)0x059B9F30; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__DisplacementMapFilter = (void *)0x059B9FF0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__DisplacementMapFilterMode = (void *)0x059BA0B0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__DropShadowFilter = (void *)0x059BA1C0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__GlowFilter = (void *)0x059BA2C0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__GradientBevelFilter = (void *)0x059BA3C0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__GradientGlowFilter = (void *)0x059BA4D0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_filters__ShaderFilter = (void *)0x059BA590; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_geom__ColorTransform = (void *)0x059B8120; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_geom__Matrix = (void *)0x059B8520; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_geom__Matrix3D = (void *)0x059B8350; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_geom__PerspectiveProjection = (void *)0x059B86F0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_geom__Point = (void *)0x059B85C0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_geom__Rectangle = (void *)0x059B87B0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_geom__Transform = (void *)0x059B8850; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_geom__Utils3D = (void *)0x059B88F0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_geom__Vector3D = (void *)0x059B8210; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__DisplayObjectEx = (void *)0x059BBE40; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__Extensions = (void *)0x059BBCB0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__FocusEventEx = (void *)0x059BC430; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__FocusManager = (void *)0x059BBC10; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__GamePad = (void *)0x059BC250; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__GamePadAnalogEvent = (void *)0x059BC2E0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__IMECandidateListStyle = (void *)0x059BC7A0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__IMEEventEx = (void *)0x059BC660; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__IMEEx = (void *)0x059BC860; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__InteractiveObjectEx = (void *)0x059BBEE0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__KeyboardEventEx = (void *)0x059BC1B0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__MouseCursorEvent = (void *)0x059BBD50; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__MouseEventEx = (void *)0x059BC070; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__SystemEx = (void *)0x059BBAE0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__TextEventEx = (void *)0x059BC520; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_gfx__TextFieldEx = (void *)0x059BBF80; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_media__Camera = (void *)0x059BA5E0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_media__ID3Info = (void *)0x059BA6C0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_media__Microphone = (void *)0x059BA7B0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_media__Sound = (void *)0x059BAA80; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_media__SoundChannel = (void *)0x059BA940; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_media__SoundLoaderContext = (void *)0x059BAB20; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_media__SoundMixer = (void *)0x059BABD0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_media__SoundTransform = (void *)0x059BA850; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__FileFilter = (void *)0x059B01C0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__FileReference = (void *)0x059B0300; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__FileReferenceList = (void *)0x059B0550; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__IDynamicPropertyOutput = (void *)0x059B05A0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__IDynamicPropertyWriter = (void *)0x059B0600; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__LocalConnection = (void *)0x059B0660; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__NetConnection = (void *)0x059B0700; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__ObjectEncoding = (void *)0x059B07A0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__Responder = (void *)0x059B0840; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__SharedObject = (void *)0x059B08E0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__SharedObjectFlushStatus = (void *)0x059B0A60; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__Socket = (void *)0x059B0B10; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__URLLoader = (void *)0x059B0C50; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__URLLoaderDataFormat = (void *)0x059B0DE0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__URLRequest = (void *)0x059B0450; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__URLRequestHeader = (void *)0x059B0ED0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__URLRequestMethod = (void *)0x059B0F70; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__URLStream = (void *)0x059B1010; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__URLVariables = (void *)0x059B0D40; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_net__XMLSocket = (void *)0x059B1060; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_sensors__Accelerometer = (void *)0x059BB2F0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_system__ApplicationDomain = (void *)0x059B7370; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_system__Capabilities = (void *)0x059B74C0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_system__IME = (void *)0x059B7560; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_system__IMEConversionMode = (void *)0x059B75F0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_system__LoaderContext = (void *)0x059B7820; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_system__Security = (void *)0x059B78C0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_system__SecurityDomain = (void *)0x059B76E0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_system__SecurityPanel = (void *)0x059B7960; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_system__System = (void *)0x059B7A00; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__AntiAliasType = (void *)0x059B8980; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__CSMSettings = (void *)0x059B8A70; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__Font = (void *)0x059B8B50; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__FontStyle = (void *)0x059B8D20; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__FontType = (void *)0x059B8DC0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__GridFitType = (void *)0x059B8E60; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__StaticText = (void *)0x059B8FA0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__StyleSheet = (void *)0x059B9160; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__TextColorType = (void *)0x059B92A0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__TextDisplayMode = (void *)0x059B9340; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__TextField = (void *)0x059B9470; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__TextFieldAutoSize = (void *)0x059B9640; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__TextFieldType = (void *)0x059B96E0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__TextFormat = (void *)0x059B9200; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__TextFormatAlign = (void *)0x059B9780; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__TextLineMetrics = (void *)0x059B9560; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__TextRenderer = (void *)0x059B9820; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_text__TextSnapshot = (void *)0x059B9910; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_ui__ContextMenu = (void *)0x059BB6B0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_ui__ContextMenuBuiltInItems = (void *)0x059BB430; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_ui__ContextMenuClipboardItems = (void *)0x059BB550; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_ui__ContextMenuItem = (void *)0x059BB610; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_ui__KeyLocation = (void *)0x059BB7E0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_ui__Keyboard = (void *)0x059BB750; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_ui__Mouse = (void *)0x059BB880; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_ui__MouseCursor = (void *)0x059BB900; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_ui__Multitouch = (void *)0x059BB9A0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_ui__MultitouchInputMode = (void *)0x059BBA40; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_utils__ByteArray = (void *)0x059B2250; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_utils__Dictionary = (void *)0x059B23E0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_utils__Endian = (void *)0x059B24D0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_utils__IDataInput = (void *)0x059B2560; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_utils__IDataOutput = (void *)0x059B25B0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_utils__IExternalizable = (void *)0x059B2430; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_utils__Proxy = (void *)0x059B2650; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_utils__Timer = (void *)0x059B2740; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_vec__Vector = (void *)0x059B10B0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_vec__Vector_String = (void *)0x059B13C0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_vec__Vector_double = (void *)0x059B1370; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_vec__Vector_int = (void *)0x059B12D0; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_vec__Vector_object = (void *)0x059B1410; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_vec__Vector_uint = (void *)0x059B1320; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_xml__XMLDocument = (void *)0x059BCA30; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_xml__XMLNode = (void *)0x059BC940; const void * RTTI_Scaleform__GFx__AS3__ClassTraits__fl_xml__XMLNodeType = (void *)0x059BCAD0; const void * RTTI_Scaleform__GFx__AS3__Classes__ClassClass = (void *)0x059AE3A8; const void * RTTI_Scaleform__GFx__AS3__Classes__UDBase = (void *)0x059AD078; const void * RTTI_Scaleform__GFx__AS3__Classes__UserDefined = (void *)0x059AE3E8; const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Array = (void *)0x059AED18; const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Boolean = (void *)0x059AEBE8; const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Catch = (void *)0x059AED58; const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Date = (void *)0x059AEDD8; const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Domain = (void *)0x059B0148; const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Error = (void *)0x059AED98; const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Function = (void *)0x059AE6F8; const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Math = (void *)0x059AEE10; const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Namespace = (void *)0x059AEA38; const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Number = (void *)0x059AEC28; const void * RTTI_Scaleform__GFx__AS3__Classes__fl__Object = (void *)0x059AE5C8; const void * RTTI_Scaleform__GFx__AS3__Classes__fl__QName = (void *)0x059AEE88; const void * RTTI_Scaleform__GFx__AS3__Classes__fl__RegExp = (void *)0x059AEE48; const void * RTTI_Scaleform__GFx__AS3__Classes__fl__String = (void *)0x059AECD8; const void * RTTI_Scaleform__GFx__AS3__Classes__fl__XML = (void *)0x059AEEC8; const void * RTTI_Scaleform__GFx__AS3__Classes__fl__XMLList = (void *)0x059AEF00; const void * RTTI_Scaleform__GFx__AS3__Classes__fl__int_ = (void *)0x059AEC68; const void * RTTI_Scaleform__GFx__AS3__Classes__fl__uint = (void *)0x059AECA0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_accessibility__Accessibility = (void *)0x059B7E20; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__ActionScriptVersion = (void *)0x059B4CC0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__BitmapDataChannel = (void *)0x059B5650; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__BlendMode = (void *)0x059B5500; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__CapsStyle = (void *)0x059B56F0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__GradientType = (void *)0x059B5BC0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__GraphicsPathCommand = (void *)0x059B6480; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__GraphicsPathWinding = (void *)0x059B6530; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__InterpolationMethod = (void *)0x059B65E0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__JointStyle = (void *)0x059B6680; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__LineScaleMode = (void *)0x059B6720; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__LoaderInfo = (void *)0x059B5A30; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__PixelSnapping = (void *)0x059B6B30; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__SWFVersion = (void *)0x059B7040; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__ShaderParameterType = (void *)0x059B71E0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__ShaderPrecision = (void *)0x059B7280; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__SpreadMethod = (void *)0x059B6D10; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__Stage = (void *)0x059B5940; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__StageAlign = (void *)0x059B6DB0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__StageDisplayState = (void *)0x059B6E60; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__StageQuality = (void *)0x059B6F00; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_display__StageScaleMode = (void *)0x059B6FA0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__AccelerometerEvent = (void *)0x059B2A20; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__ActivityEvent = (void *)0x059B32C0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__AppLifecycleEvent = (void *)0x059B4A60; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__AsyncErrorEvent = (void *)0x059B3410; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__ContextMenuEvent = (void *)0x059B34B0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__DataEvent = (void *)0x059B3550; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__ErrorEvent = (void *)0x059B3110; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__Event = (void *)0x059B28D0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__EventDispatcher = (void *)0x059B2A70; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__EventPhase = (void *)0x059B43B0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__FocusEvent = (void *)0x059B3DE0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__FullScreenEvent = (void *)0x059B4450; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__GeolocationEvent = (void *)0x059B41B0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__GestureEvent = (void *)0x059B3820; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__GesturePhase = (void *)0x059B4960; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__HTTPStatusEvent = (void *)0x059B44F0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__IMEEvent = (void *)0x059B4630; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__IOErrorEvent = (void *)0x059B3ED0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__KeyboardEvent = (void *)0x059B3C00; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__MouseEvent = (void *)0x059B3640; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__NetStatusEvent = (void *)0x059B3FC0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__PressAndTapGestureEvent = (void *)0x059B3B00; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__ProgressEvent = (void *)0x059B3CF0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__SecurityErrorEvent = (void *)0x059B46E0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__StageOrientation = (void *)0x059B4C10; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__StageOrientationEvent = (void *)0x059B4B70; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__StatusEvent = (void *)0x059B40B0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__SyncEvent = (void *)0x059B4780; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__TextEvent = (void *)0x059B3020; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__TimerEvent = (void *)0x059B48C0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__TouchEvent = (void *)0x059B3730; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__TransformGestureEvent = (void *)0x059B3990; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_events__UncaughtErrorEvent = (void *)0x059B3220; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_external__ExternalInterface = (void *)0x059BB250; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_filters__BitmapFilterQuality = (void *)0x059B9C40; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_filters__BitmapFilterType = (void *)0x059B9CE0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_filters__DisplacementMapFilterMode = (void *)0x059BA110; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_geom__Point = (void *)0x059B8658; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_geom__Utils3D = (void *)0x059B8940; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_geom__Vector3D = (void *)0x059B82B0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__DisplayObjectEx = (void *)0x059BBE90; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__Extensions = (void *)0x059BBD00; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__FocusManager = (void *)0x059BBC60; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__GamePad = (void *)0x059BC298; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__GamePadAnalogEvent = (void *)0x059BC390; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__IMEEventEx = (void *)0x059BC700; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__IMEEx = (void *)0x059BC8A8; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__InteractiveObjectEx = (void *)0x059BBF30; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__MouseCursorEvent = (void *)0x059BBDF0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__MouseEventEx = (void *)0x059BC110; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__SystemEx = (void *)0x059BBB30; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__TextEventEx = (void *)0x059BC5C0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_gfx__TextFieldEx = (void *)0x059BBFD0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_media__Camera = (void *)0x059BA630; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_media__Microphone = (void *)0x059BA800; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_media__SoundMixer = (void *)0x059BAC20; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_net__ObjectEncoding = (void *)0x059B07F0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_net__SharedObject = (void *)0x059B0980; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_net__SharedObjectFlushStatus = (void *)0x059B0AC0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_net__URLLoaderDataFormat = (void *)0x059B0E30; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_net__URLRequestMethod = (void *)0x059B0FC0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_sensors__Accelerometer = (void *)0x059BB390; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_system__ApplicationDomain = (void *)0x059B7470; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_system__Capabilities = (void *)0x059B7510; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_system__IME = (void *)0x059B75A8; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_system__IMEConversionMode = (void *)0x059B7640; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_system__Security = (void *)0x059B7910; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_system__SecurityDomain = (void *)0x059B7780; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_system__SecurityPanel = (void *)0x059B79B0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_system__System = (void *)0x059B7A50; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__AntiAliasType = (void *)0x059B89D0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__Font = (void *)0x059B8BE8; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__FontStyle = (void *)0x059B8D70; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__FontType = (void *)0x059B8E10; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__GridFitType = (void *)0x059B8EB0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__TextColorType = (void *)0x059B92F0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__TextDisplayMode = (void *)0x059B9390; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__TextField = (void *)0x059B9510; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__TextFieldAutoSize = (void *)0x059B9690; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__TextFieldType = (void *)0x059B9730; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__TextFormatAlign = (void *)0x059B97D0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_text__TextRenderer = (void *)0x059B9870; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_ui__KeyLocation = (void *)0x059BB830; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_ui__Keyboard = (void *)0x059BB798; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_ui__Mouse = (void *)0x059BB8C0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_ui__MouseCursor = (void *)0x059BB950; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_ui__Multitouch = (void *)0x059BB9F0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_ui__MultitouchInputMode = (void *)0x059BBA90; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_utils__ByteArray = (void *)0x059B22F0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_utils__Endian = (void *)0x059B2520; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_vec__Vector = (void *)0x059B10F8; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_vec__Vector_String = (void *)0x059B1230; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_vec__Vector_double = (void *)0x059B11E0; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_vec__Vector_int = (void *)0x059B1140; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_vec__Vector_object = (void *)0x059B1280; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_vec__Vector_uint = (void *)0x059B1190; const void * RTTI_Scaleform__GFx__AS3__Classes__fl_xml__XMLNodeType = (void *)0x059BCB20; const void * RTTI_Scaleform__GFx__AS3__DoAbc = (void *)0x059BB1B8; const void * RTTI_Scaleform__GFx__AS3__FlashUI = (void *)0x059AD258; const void * RTTI_Scaleform__GFx__AS3__FrameCounter = (void *)0x059ADF10; const void * RTTI_Scaleform__GFx__AS3__GASRefCountBase = (void *)0x059ACA50; const void * RTTI_Scaleform__GFx__AS3__IMEManager = (void *)0x059BCED8; const void * RTTI_Scaleform__GFx__AS3__Impl__ArrayFunc = (void *)0x059AD528; const void * RTTI_Scaleform__GFx__AS3__Impl__Value2NumberCollector = (void *)0x059AF4A0; const void * RTTI_Scaleform__GFx__AS3__Impl__Value2StrCollector = (void *)0x059AF460; const void * RTTI_Scaleform__GFx__AS3__Impl__ValuePtrCollector = (void *)0x059AF420; const void * RTTI_Scaleform__GFx__AS3__Instance = (void *)0x059AD008; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__Activation = (void *)0x059AE950; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__Anonimous = (void *)0x059AD180; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__CTraits = (void *)0x059AD0B0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__ClassClass = (void *)0x059AEBA0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__Interface = (void *)0x059AE610; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__Prototype = (void *)0x059AD130; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__RTraits = (void *)0x059AD0F0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__Traits = (void *)0x059ACDD8; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__UserDefined = (void *)0x059AE250; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Array = (void *)0x059AF3E0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Boolean = (void *)0x059AF600; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Catch = (void *)0x059AF300; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Date = (void *)0x059AFC08; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Domain = (void *)0x059B0100; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Error = (void *)0x059AF7F0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Function = (void *)0x059AE660; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__GlobalObject = (void *)0x059AF340; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__GlobalObjectScript = (void *)0x059AF390; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__MethodInd = (void *)0x059AE8B0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Namespace = (void *)0x059AE9F0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Number = (void *)0x059AF530; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Object = (void *)0x059AE580; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__QName = (void *)0x059AF2C0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__RegExp = (void *)0x059AF720; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__String = (void *)0x059AF650; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__Thunk = (void *)0x059AE870; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__ThunkFunction = (void *)0x059AE6B0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__VTableInd = (void *)0x059AE900; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__XML = (void *)0x059AFC88; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__XMLList = (void *)0x059AFE70; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__int_ = (void *)0x059AF578; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl__uint = (void *)0x059AF5B8; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_accessibility__AccessibilityImplementation = (void *)0x059B7F40; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_accessibility__AccessibilityProperties = (void *)0x059B8070; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__AVM1Movie = (void *)0x059B51C0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__Bitmap = (void *)0x059B5350; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__BitmapData = (void *)0x059B52B0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__DisplayObject = (void *)0x059B4F40; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__DisplayObjectContainer = (void *)0x059B57A0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__FrameLabel = (void *)0x059B5B20; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__Graphics = (void *)0x059B5CB0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__GraphicsBitmapFill = (void *)0x059B5EA0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__GraphicsEndFill = (void *)0x059B5FA0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__GraphicsGradientFill = (void *)0x059B60C0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__GraphicsPath = (void *)0x059B61C0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__GraphicsSolidFill = (void *)0x059B62C0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__GraphicsStroke = (void *)0x059B63C0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__InteractiveObject = (void *)0x059B5400; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__Loader = (void *)0x059B5850; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__LoaderInfo = (void *)0x059B59E0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__MorphShape = (void *)0x059B6810; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__MovieClip = (void *)0x059B69F0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__Scene = (void *)0x059B6A90; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__Shape = (void *)0x059B6BD0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__SimpleButton = (void *)0x059B6C70; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__Sprite = (void *)0x059B68B0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_display__Stage = (void *)0x059B58F0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__AccelerometerEvent = (void *)0x059B29C0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__AppLifecycleEvent = (void *)0x059B4A00; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__AsyncErrorEvent = (void *)0x059B33B0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__ErrorEvent = (void *)0x059B30C0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__Event = (void *)0x059B2880; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__EventDispatcher = (void *)0x059B03F0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__FocusEvent = (void *)0x059B3D90; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__GeolocationEvent = (void *)0x059B4150; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__GestureEvent = (void *)0x059B37D0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__IMEEvent = (void *)0x059B45E0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__IOErrorEvent = (void *)0x059B3E80; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__KeyboardEvent = (void *)0x059B3BB0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__MouseEvent = (void *)0x059B35F0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__NetStatusEvent = (void *)0x059B3F70; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__PressAndTapGestureEvent = (void *)0x059B3AA0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__ProgressEvent = (void *)0x059B3CA0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__StageOrientationEvent = (void *)0x059B4B10; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__StatusEvent = (void *)0x059B4060; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__TextEvent = (void *)0x059B2FD0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__TimerEvent = (void *)0x059B4870; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__TouchEvent = (void *)0x059B36E0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__TransformGestureEvent = (void *)0x059B3930; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__UncaughtErrorEvent = (void *)0x059B31C0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_events__UncaughtErrorEvents = (void *)0x059B4300; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_filters__BevelFilter = (void *)0x059B9B90; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_filters__BitmapFilter = (void *)0x059B9AA0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_filters__BlurFilter = (void *)0x059B9DD0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_filters__ColorMatrixFilter = (void *)0x059B9ED0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_filters__DisplacementMapFilter = (void *)0x059BA050; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_filters__DropShadowFilter = (void *)0x059BA210; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_filters__GlowFilter = (void *)0x059BA310; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_filters__GradientBevelFilter = (void *)0x059BA420; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_filters__GradientGlowFilter = (void *)0x059BA530; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_geom__ColorTransform = (void *)0x059B8170; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_geom__Matrix = (void *)0x059B8570; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_geom__Matrix3D = (void *)0x059B83A0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_geom__PerspectiveProjection = (void *)0x059B8750; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_geom__Point = (void *)0x059B8610; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_geom__Rectangle = (void *)0x059B8800; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_geom__Transform = (void *)0x059B88A0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_geom__Vector3D = (void *)0x059B8260; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_gfx__FocusEventEx = (void *)0x059BC480; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_gfx__GamePadAnalogEvent = (void *)0x059BC330; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_gfx__IMECandidateListStyle = (void *)0x059BC800; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_gfx__IMEEventEx = (void *)0x059BC6B0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_gfx__KeyboardEventEx = (void *)0x059BC200; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_gfx__MouseCursorEvent = (void *)0x059BBDA0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_gfx__MouseEventEx = (void *)0x059BC0C0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_gfx__TextEventEx = (void *)0x059BC570; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_media__ID3Info = (void *)0x059BA710; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_media__Sound = (void *)0x059BAAD0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_media__SoundChannel = (void *)0x059BA990; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_media__SoundLoaderContext = (void *)0x059BAB70; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_media__SoundTransform = (void *)0x059BA8A0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_net__FileReference = (void *)0x059B03A0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_net__NetConnection = (void *)0x059B0750; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_net__SharedObject = (void *)0x059B0930; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_net__Socket = (void *)0x059B0B60; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_net__URLLoader = (void *)0x059B0CA0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_net__URLRequest = (void *)0x059B04A0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_net__URLRequestHeader = (void *)0x059B0F20; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_net__URLVariables = (void *)0x059B0D90; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_sensors__Accelerometer = (void *)0x059BB340; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_system__ApplicationDomain = (void *)0x059B7410; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_system__LoaderContext = (void *)0x059B7870; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_system__SecurityDomain = (void *)0x059B7730; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_text__CSMSettings = (void *)0x059B8AC0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_text__Font = (void *)0x059B8BA0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_text__StaticText = (void *)0x059B8FF0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_text__StyleSheet = (void *)0x059B91B0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_text__TextField = (void *)0x059B94C0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_text__TextFormat = (void *)0x059B9250; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_text__TextLineMetrics = (void *)0x059B95B0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_text__TextSnapshot = (void *)0x059B9960; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_ui__ContextMenu = (void *)0x059BB700; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_ui__ContextMenuBuiltInItems = (void *)0x059BB490; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_ui__ContextMenuClipboardItems = (void *)0x059BB5B0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_utils__ByteArray = (void *)0x059B22A0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_utils__Dictionary = (void *)0x059B2200; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_utils__Proxy = (void *)0x059B26A0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_utils__Timer = (void *)0x059B2790; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_vec__Vector_String = (void *)0x059B1FB0; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_vec__Vector_double = (void *)0x059B1D90; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_vec__Vector_int = (void *)0x059B1950; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_vec__Vector_object = (void *)0x059B2050; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_vec__Vector_uint = (void *)0x059B1B70; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_xml__XMLDocument = (void *)0x059BCA80; const void * RTTI_Scaleform__GFx__AS3__InstanceTraits__fl_xml__XMLNode = (void *)0x059BC990; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__Array = (void *)0x059AE298; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__AttrGet = (void *)0x059B0038; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__AttrGetFirst = (void *)0x059AFF60; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__Catch = (void *)0x059AF4E8; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__CheckTypeTF = (void *)0x059AE820; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__ChildGet = (void *)0x059AFFF8; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__ChildGetFirst = (void *)0x059AFFB0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__Date = (void *)0x059AFB88; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__Domain = (void *)0x059B00B8; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__EmptyCallBack = (void *)0x059AFF10; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__Error = (void *)0x059AF768; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__Function = (void *)0x059AE788; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__FunctionAOT = (void *)0x059AE740; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__FunctionBase = (void *)0x059AD1D0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__GlobalObject = (void *)0x059AE1C0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__GlobalObjectCPP = (void *)0x059AE320; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__GlobalObjectScript = (void *)0x059AE430; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__ListGet = (void *)0x059B0078; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__Namespace = (void *)0x059AE208; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__Object = (void *)0x059AD218; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__QName = (void *)0x059AF280; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__RegExp = (void *)0x059AF698; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__ThunkFunction = (void *)0x059AE7D0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__XML = (void *)0x059AF240; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__XMLAttr = (void *)0x059AFD50; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__XMLComment = (void *)0x059AFDE0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__XMLElement = (void *)0x059AFCD0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__XMLElement__CallBack = (void *)0x059AFE20; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__XMLList = (void *)0x059AE2D8; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__XMLList__CallBack = (void *)0x059AFEC0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__XMLProcInstr = (void *)0x059AFD90; const void * RTTI_Scaleform__GFx__AS3__Instances__fl__XMLText = (void *)0x059AFD10; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_accessibility__AccessibilityImplementation = (void *)0x059B7E70; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_accessibility__AccessibilityProperties = (void *)0x059B7FB0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__AVM1Movie = (void *)0x059B5120; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__Bitmap = (void *)0x059B4FE0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__BitmapData = (void *)0x059B5210; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__DisplayObject = (void *)0x059B4D50; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__DisplayObjectContainer = (void *)0x059B4DF0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__FrameLabel = (void *)0x059B5A80; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__Graphics = (void *)0x059B5C10; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__GraphicsBitmapFill = (void *)0x059B5DF0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__GraphicsEndFill = (void *)0x059B5F00; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__GraphicsGradientFill = (void *)0x059B6000; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__GraphicsPath = (void *)0x059B6120; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__GraphicsSolidFill = (void *)0x059B6210; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__GraphicsStroke = (void *)0x059B6320; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__InteractiveObject = (void *)0x059B4E50; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__Loader = (void *)0x059B4F90; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__LoaderInfo = (void *)0x059B4DA0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__MorphShape = (void *)0x059B6770; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__MovieClip = (void *)0x059B6900; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__Scene = (void *)0x059B6950; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__Shape = (void *)0x059B5030; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__SimpleButton = (void *)0x059B5080; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__Sprite = (void *)0x059B50D0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_display__Stage = (void *)0x059B4EA0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__AccelerometerEvent = (void *)0x059B2910; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__AppLifecycleEvent = (void *)0x059B2D90; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__AsyncErrorEvent = (void *)0x059B3310; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__ErrorEvent = (void *)0x059B2CF0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__Event = (void *)0x059B27E0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__EventDispatcher = (void *)0x059B0260; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__FocusEvent = (void *)0x059B2B60; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__GeolocationEvent = (void *)0x059B2EE0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__GestureEvent = (void *)0x059B2C00; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__IMEEvent = (void *)0x059B4540; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__IOErrorEvent = (void *)0x059B2CA0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__KeyboardEvent = (void *)0x059B2B10; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__MouseEvent = (void *)0x059B2AC0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__NetStatusEvent = (void *)0x059B2E40; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__PressAndTapGestureEvent = (void *)0x059B39E0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__ProgressEvent = (void *)0x059B2C50; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__StageOrientationEvent = (void *)0x059B2DE0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__StatusEvent = (void *)0x059B2E90; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__TextEvent = (void *)0x059B2D40; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__TimerEvent = (void *)0x059B47D0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__TouchEvent = (void *)0x059B2BB0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__TransformGestureEvent = (void *)0x059B3870; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__UncaughtErrorEvent = (void *)0x059B2F30; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_events__UncaughtErrorEvents = (void *)0x059B4250; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_filters__BevelFilter = (void *)0x059B9AF0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_filters__BitmapFilter = (void *)0x059B9A00; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_filters__BlurFilter = (void *)0x059B9D30; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_filters__ColorMatrixFilter = (void *)0x059B9E20; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_filters__DisplacementMapFilter = (void *)0x059B9F90; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_filters__DropShadowFilter = (void *)0x059BA170; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_filters__GlowFilter = (void *)0x059BA270; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_filters__GradientBevelFilter = (void *)0x059BA360; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_filters__GradientGlowFilter = (void *)0x059BA480; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_geom__ColorTransform = (void *)0x059B80D0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_geom__Matrix = (void *)0x059B84D0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_geom__Matrix3D = (void *)0x059B8300; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_geom__PerspectiveProjection = (void *)0x059B86A0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_geom__Point = (void *)0x059B8490; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_geom__Rectangle = (void *)0x059B83F0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_geom__Transform = (void *)0x059B8440; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_geom__Vector3D = (void *)0x059B81C0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_gfx__FocusEventEx = (void *)0x059BC3E0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_gfx__GamePadAnalogEvent = (void *)0x059BBBC0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_gfx__IMECandidateListStyle = (void *)0x059BC750; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_gfx__IMEEventEx = (void *)0x059BC610; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_gfx__KeyboardEventEx = (void *)0x059BC160; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_gfx__MouseCursorEvent = (void *)0x059BBB70; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_gfx__MouseEventEx = (void *)0x059BC020; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_gfx__TextEventEx = (void *)0x059BC4D0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_media__ID3Info = (void *)0x059BA670; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_media__Sound = (void *)0x059BA9E0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_media__SoundChannel = (void *)0x059BA8F0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_media__SoundLoaderContext = (void *)0x059BAA30; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_media__SoundTransform = (void *)0x059BA760; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_net__FileReference = (void *)0x059B0210; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_net__NetConnection = (void *)0x059B06B0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_net__SharedObject = (void *)0x059B0890; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_net__Socket = (void *)0x059B0A20; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_net__SocketReader = (void *)0x059B0C00; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_net__SocketWriter = (void *)0x059B0BB0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_net__URLLoader = (void *)0x059B09D0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_net__URLRequest = (void *)0x059B02B0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_net__URLRequestHeader = (void *)0x059B0E80; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_net__URLVariables = (void *)0x059B0CF0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_sensors__Accelerometer = (void *)0x059BB2A0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_system__ApplicationDomain = (void *)0x059B73C0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_system__LoaderContext = (void *)0x059B77D0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_system__SecurityDomain = (void *)0x059B7690; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_text__CSMSettings = (void *)0x059B8A20; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_text__Font = (void *)0x059B8B10; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_text__StaticText = (void *)0x059B8F50; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_text__StyleSheet = (void *)0x059B90C0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_text__TextField = (void *)0x059B8C30; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_text__TextFormat = (void *)0x059B9110; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_text__TextLineMetrics = (void *)0x059B9420; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_text__TextSnapshot = (void *)0x059B98C0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_ui__ContextMenu = (void *)0x059BB660; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_ui__ContextMenuBuiltInItems = (void *)0x059BB3E0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_ui__ContextMenuClipboardItems = (void *)0x059BB4F0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_utils__BAReader = (void *)0x059B2390; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_utils__BASlotFunctCalc = (void *)0x059B2480; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_utils__BAWriter = (void *)0x059B2340; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_utils__ByteArray = (void *)0x059B2160; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_utils__Dictionary = (void *)0x059B21B0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_utils__Proxy = (void *)0x059B2600; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_utils__Timer = (void *)0x059B26F0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_vec__Vector_String = (void *)0x059B1F60; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_vec__Vector_double = (void *)0x059B1D40; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_vec__Vector_int = (void *)0x059B1900; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_vec__Vector_object = (void *)0x059B2000; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_vec__Vector_uint = (void *)0x059B1B20; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_xml__XMLDocument = (void *)0x059BC9E0; const void * RTTI_Scaleform__GFx__AS3__Instances__fl_xml__XMLNode = (void *)0x059BC8F0; const void * RTTI_Scaleform__GFx__AS3__IntervalTimer = (void *)0x059ADFF8; const void * RTTI_Scaleform__GFx__AS3__LoadQueueEntry = (void *)0x059ADD40; const void * RTTI_Scaleform__GFx__AS3__LoadQueueEntryMT_LoadMovie = (void *)0x059ADD80; const void * RTTI_Scaleform__GFx__AS3__MemoryContextImpl = (void *)0x059BB128; const void * RTTI_Scaleform__GFx__AS3__MemoryContextImpl__HeapLimit = (void *)0x059BB170; const void * RTTI_Scaleform__GFx__AS3__MovieDefRootNode = (void *)0x059ADE18; const void * RTTI_Scaleform__GFx__AS3__MovieRoot = (void *)0x059AD3A0; const void * RTTI_Scaleform__GFx__AS3__MovieRoot__StickyVarNode = (void *)0x059ADE60; const void * RTTI_Scaleform__GFx__AS3__NamespaceInstanceFactory = (void *)0x059AEA80; const void * RTTI_Scaleform__GFx__AS3__NamespaceSet = (void *)0x059ACFD0; const void * RTTI_Scaleform__GFx__AS3__NotifyLoadInitCandidateList = (void *)0x059BCF10; const void * RTTI_Scaleform__GFx__AS3__NullObject = (void *)0x059B0188; const void * RTTI_Scaleform__GFx__AS3__Object = (void *)0x059ACA20; const void * RTTI_Scaleform__GFx__AS3__SerializeArrDense = (void *)0x059AD678; const void * RTTI_Scaleform__GFx__AS3__SerializeArrSparse = (void *)0x059AD638; const void * RTTI_Scaleform__GFx__AS3__ShapeObject = (void *)0x059AD998; const void * RTTI_Scaleform__GFx__AS3__Slots__SlotFunct = (void *)0x059AD040; const void * RTTI_Scaleform__GFx__AS3__SocketBuffer = (void *)0x059AE030; const void * RTTI_Scaleform__GFx__AS3__SocketThreadMgr = (void *)0x059ADCA0; const void * RTTI_Scaleform__GFx__AS3__SocketThreadMgr__EventInfo = (void *)0x059AE070; const void * RTTI_Scaleform__GFx__AS3__Stage = (void *)0x059AD370; const void * RTTI_Scaleform__GFx__AS3__TextSnapshotGlyphVisitor = (void *)0x059B99B0; const void * RTTI_Scaleform__GFx__AS3__Tracer = (void *)0x059ACCF0; const void * RTTI_Scaleform__GFx__AS3__Traits = (void *)0x059ACC28; const void * RTTI_Scaleform__GFx__AS3__UserDefinedFunction = (void *)0x059ADFB8; const void * RTTI_Scaleform__GFx__AS3__VM = (void *)0x059ACB40; const void * RTTI_Scaleform__GFx__AS3__VMAbcFile = (void *)0x059ACC88; const void * RTTI_Scaleform__GFx__AS3__VMAppDomain = (void *)0x059ACBB0; const void * RTTI_Scaleform__GFx__AS3__VMFile = (void *)0x059ACCC0; const void * RTTI_Scaleform__GFx__AS3__XMLSupport = (void *)0x059AD288; const void * RTTI_Scaleform__GFx__AS3__XMLSupportImpl = (void *)0x059AD4B8; const void * RTTI_Scaleform__GFx__ASIMEManager = (void *)0x059BCD28; const void * RTTI_Scaleform__GFx__ASIMEManager__IMEFuncHandler = (void *)0x059A7E30; const void * RTTI_Scaleform__GFx__ASIntervalTimerIntf = (void *)0x059ADA18; const void * RTTI_Scaleform__GFx__ASMovieRootBase = (void *)0x059AD3D8; const void * RTTI_Scaleform__GFx__ASStringManager = (void *)0x059A4088; const void * RTTI_Scaleform__GFx__AvmDisplayObjBase = (void *)0x059AD338; const void * RTTI_Scaleform__GFx__Button = (void *)0x059BAC68; const void * RTTI_Scaleform__GFx__ButtonDef = (void *)0x059A9D98; const void * RTTI_Scaleform__GFx__Clipboard = (void *)0x059A92F0; const void * RTTI_Scaleform__GFx__ConstShapeNoStyles = (void *)0x059A6C90; const void * RTTI_Scaleform__GFx__ConstShapeWithStyles = (void *)0x059A8A58; const void * RTTI_Scaleform__GFx__DefaultFontLibNameState = (void *)0x059A9640; const void * RTTI_Scaleform__GFx__DisplayObjContainer = (void *)0x059A72E8; const void * RTTI_Scaleform__GFx__DisplayObject = (void *)0x059A64A8; const void * RTTI_Scaleform__GFx__DisplayObjectBase = (void *)0x059A6330; const void * RTTI_Scaleform__GFx__DrawText = (void *)0x059BCBA0; const void * RTTI_Scaleform__GFx__DrawTextImpl = (void *)0x059BCB68; const void * RTTI_Scaleform__GFx__DrawTextManager = (void *)0x059BCC90; const void * RTTI_Scaleform__GFx__DrawingContext = (void *)0x059A7820; const void * RTTI_Scaleform__GFx__DrawingContext__PackedShape = (void *)0x059A79E8; const void * RTTI_Scaleform__GFx__ExecuteTag = (void *)0x059A6798; const void * RTTI_Scaleform__GFx__FontCompactor = (void *)0x059AC1E8; const void * RTTI_Scaleform__GFx__FontData = (void *)0x059A98E0; const void * RTTI_Scaleform__GFx__FontDataBound = (void *)0x059A9AC8; const void * RTTI_Scaleform__GFx__FontDataCompactedGfx = (void *)0x059A99A0; const void * RTTI_Scaleform__GFx__FontDataCompactedSwf = (void *)0x059A9960; const void * RTTI_Scaleform__GFx__FontGlyphPacker = (void *)0x059A9DC8; const void * RTTI_Scaleform__GFx__FontHandle = (void *)0x059A7AB8; const void * RTTI_Scaleform__GFx__FontLib = (void *)0x059A9610; const void * RTTI_Scaleform__GFx__FontManager = (void *)0x059A7C20; const void * RTTI_Scaleform__GFx__FontManagerStates = (void *)0x059A38F0; const void * RTTI_Scaleform__GFx__FontMap = (void *)0x059AB130; const void * RTTI_Scaleform__GFx__FontResource = (void *)0x059A97A8; const void * RTTI_Scaleform__GFx__FontResourceCreator = (void *)0x059A6EA8; const void * RTTI_Scaleform__GFx__FunctionHandler = (void *)0x059EC328; const void * RTTI_Scaleform__GFx__GFxInitImportActions = (void *)0x059A8A18; const void * RTTI_Scaleform__GFx__GFxMovieDataDefFileKeyData = (void *)0x059A6CC8; const void * RTTI_Scaleform__GFx__GFxMovieDataDefFileKeyInterface = (void *)0x059A66D0; const void * RTTI_Scaleform__GFx__GFxMovieDefImplKey = (void *)0x059A6DD0; const void * RTTI_Scaleform__GFx__GFxMovieDefImplKeyInterface = (void *)0x059A6720; const void * RTTI_Scaleform__GFx__GFxPlaceObjectUnpacked = (void *)0x059A6C50; const void * RTTI_Scaleform__GFx__GFxSocketImpl = (void *)0x059BAD08; const void * RTTI_Scaleform__GFx__GFxSystemFontResourceKey = (void *)0x059A9B38; const void * RTTI_Scaleform__GFx__GFxSystemFontResourceKeyInterface = (void *)0x059A9680; const void * RTTI_Scaleform__GFx__IMEManagerBase = (void *)0x059A7DF0; const void * RTTI_Scaleform__GFx__ImageCreator = (void *)0x05CD5D58; const void * RTTI_Scaleform__GFx__ImageFileHandlerRegistry = (void *)0x059A9570; const void * RTTI_Scaleform__GFx__ImageFileInfo = (void *)0x059A6FD8; const void * RTTI_Scaleform__GFx__ImageFileInfoKeyData = (void *)0x059A9E98; const void * RTTI_Scaleform__GFx__ImageFileKeyInterface = (void *)0x059A9E58; const void * RTTI_Scaleform__GFx__ImageFileResourceCreator = (void *)0x059A7158; const void * RTTI_Scaleform__GFx__ImageResource = (void *)0x059A32A0; const void * RTTI_Scaleform__GFx__ImageResourceCreator = (void *)0x059A7198; const void * RTTI_Scaleform__GFx__ImageResource__ImageDelegate = (void *)0x059A3730; const void * RTTI_Scaleform__GFx__ImageShapeCharacterDef = (void *)0x059A9D58; const void * RTTI_Scaleform__GFx__InteractiveObject = (void *)0x059A7218; const void * RTTI_Scaleform__GFx__KeyboardState = (void *)0x059A3FF8; const void * RTTI_Scaleform__GFx__KeyboardState__IListener = (void *)0x059ACD98; const void * RTTI_Scaleform__GFx__LZMAFile = (void *)0x059AB790; const void * RTTI_Scaleform__GFx__LZMASupport = (void *)0x059A3E58; const void * RTTI_Scaleform__GFx__LoadBinaryTask = (void *)0x059A7D78; const void * RTTI_Scaleform__GFx__LoadProcess = (void *)0x059A6EE0; const void * RTTI_Scaleform__GFx__LoadQueueEntry = (void *)0x059AD6F8; const void * RTTI_Scaleform__GFx__LoadQueueEntryMT = (void *)0x059A7C90; const void * RTTI_Scaleform__GFx__LoadQueueEntryMT_LoadBinary = (void *)0x059A7DB0; const void * RTTI_Scaleform__GFx__LoadQueueEntryMT_LoadVars = (void *)0x059A7D38; const void * RTTI_Scaleform__GFx__LoadStates = (void *)0x059A7010; const void * RTTI_Scaleform__GFx__LoadUpdateSync = (void *)0x059A69B8; const void * RTTI_Scaleform__GFx__LoadVarsTask = (void *)0x059A7D00; const void * RTTI_Scaleform__GFx__Loader = (void *)0x059A3DF0; const void * RTTI_Scaleform__GFx__LoaderImpl = (void *)0x059A64E0; const void * RTTI_Scaleform__GFx__LoaderTask = (void *)0x059A6628; const void * RTTI_Scaleform__GFx__LogState = (void *)0x059A44A0; const void * RTTI_Scaleform__GFx__MemoryBufferZlibImage = (void *)0x059AB830; const void * RTTI_Scaleform__GFx__MemoryContext = (void *)0x059BAF40; const void * RTTI_Scaleform__GFx__MorphCharacterDef = (void *)0x059AB8B0; const void * RTTI_Scaleform__GFx__Movie = (void *)0x059A3160; const void * RTTI_Scaleform__GFx__MovieBindProcess = (void *)0x059A6908; const void * RTTI_Scaleform__GFx__MovieDataDef = (void *)0x059A67C8; const void * RTTI_Scaleform__GFx__MovieDataDef__LoadTaskData = (void *)0x059A6B68; const void * RTTI_Scaleform__GFx__MovieDefBindStates = (void *)0x059A70C8; const void * RTTI_Scaleform__GFx__MovieDefImpl = (void *)0x059A6868; const void * RTTI_Scaleform__GFx__MovieDefImpl__BindTaskData = (void *)0x059A6BA8; const void * RTTI_Scaleform__GFx__MovieDefImpl__ReleaseNotifier = (void *)0x059AD470; const void * RTTI_Scaleform__GFx__MovieDefRootNode = (void *)0x059AD730; const void * RTTI_Scaleform__GFx__MovieDef__ResourceVisitor = (void *)0x059A6940; const void * RTTI_Scaleform__GFx__MovieImageLoadTask = (void *)0x059A6658; const void * RTTI_Scaleform__GFx__MovieImpl = (void *)0x059A3130; const void * RTTI_Scaleform__GFx__MovieImpl__StickyVarNode = (void *)0x059ADBB8; const void * RTTI_Scaleform__GFx__MovieImpl__WideStringStorage = (void *)0x059ADB10; const void * RTTI_Scaleform__GFx__MoviePreloadTask = (void *)0x059A7CC8; const void * RTTI_Scaleform__GFx__ParseControl = (void *)0x059A3E20; const void * RTTI_Scaleform__GFx__PlaceObject2Tag = (void *)0x059A8638; const void * RTTI_Scaleform__GFx__PlaceObject2Taga = (void *)0x059A89E0; const void * RTTI_Scaleform__GFx__PlaceObject3Tag = (void *)0x059A8670; const void * RTTI_Scaleform__GFx__PlaceObjectTag = (void *)0x059A9CA0; const void * RTTI_Scaleform__GFx__RemoveObject2Tag = (void *)0x059A86E0; const void * RTTI_Scaleform__GFx__RemoveObjectTag = (void *)0x059A86A8; const void * RTTI_Scaleform__GFx__Resource = (void *)0x059A32D8; const void * RTTI_Scaleform__GFx__ResourceData__DataInterface = (void *)0x059A6E68; const void * RTTI_Scaleform__GFx__ResourceFileInfo = (void *)0x059A4308; const void * RTTI_Scaleform__GFx__ResourceKey__KeyInterface = (void *)0x059A6690; const void * RTTI_Scaleform__GFx__ResourceLib = (void *)0x059A41B8; const void * RTTI_Scaleform__GFx__ResourceLib__ResourceSlot = (void *)0x059A43F8; const void * RTTI_Scaleform__GFx__ResourceReport = (void *)0x059A6760; const void * RTTI_Scaleform__GFx__ResourceWeakLib = (void *)0x059A4240; const void * RTTI_Scaleform__GFx__SetBackgroundColorTag = (void *)0x059A89A0; const void * RTTI_Scaleform__GFx__ShapeBaseCharacterDef = (void *)0x059A9CD8; const void * RTTI_Scaleform__GFx__ShapeDataBase = (void *)0x059A6980; const void * RTTI_Scaleform__GFx__SocketImplFactory = (void *)0x059BACD0; const void * RTTI_Scaleform__GFx__SocketInterface = (void *)0x059BAC98; const void * RTTI_Scaleform__GFx__Sprite = (void *)0x059A7A88; const void * RTTI_Scaleform__GFx__SpriteDef = (void *)0x059A9C70; const void * RTTI_Scaleform__GFx__State = (void *)0x05CD43E0; const void * RTTI_Scaleform__GFx__StateBag = (void *)0x059A3238; const void * RTTI_Scaleform__GFx__StateBagImpl = (void *)0x059A3658; const void * RTTI_Scaleform__GFx__StaticTextCharacter = (void *)0x059AB0F8; const void * RTTI_Scaleform__GFx__StaticTextDef = (void *)0x059AB0C0; const void * RTTI_Scaleform__GFx__StaticTextSnapshotData__GlyphVisitor = (void *)0x059B8F00; const void * RTTI_Scaleform__GFx__Stream = (void *)0x059A9420; const void * RTTI_Scaleform__GFx__SubImageResource = (void *)0x059A7090; const void * RTTI_Scaleform__GFx__SubImageResourceCreator = (void *)0x059A71D8; const void * RTTI_Scaleform__GFx__SubImageResourceInfo = (void *)0x059A8718; const void * RTTI_Scaleform__GFx__SwfShapeCharacterDef = (void *)0x059A9D18; const void * RTTI_Scaleform__GFx__Task = (void *)0x059A65B0; const void * RTTI_Scaleform__GFx__TextField = (void *)0x059AB220; const void * RTTI_Scaleform__GFx__TextFieldDef = (void *)0x059A9350; const void * RTTI_Scaleform__GFx__TextField__CSSHolderBase = (void *)0x059B93D8; const void * RTTI_Scaleform__GFx__TextField__TextDocumentListener = (void *)0x059AB250; const void * RTTI_Scaleform__GFx__TextKeyMap = (void *)0x059A9320; const void * RTTI_Scaleform__GFx__Text__CompositionString = (void *)0x059AC748; const void * RTTI_Scaleform__GFx__Text__EditorKit = (void *)0x059AC710; const void * RTTI_Scaleform__GFx__Text__StyleManager = (void *)0x059B9080; const void * RTTI_Scaleform__GFx__TextureGlyphBinder = (void *)0x059A9B00; const void * RTTI_Scaleform__GFx__TextureGlyphData = (void *)0x059A8900; const void * RTTI_Scaleform__GFx__TextureGlyphData__TextureGlyphVisitor = (void *)0x059A9910; const void * RTTI_Scaleform__GFx__URLBuilder = (void *)0x059BCE18; const void * RTTI_Scaleform__GFx__Value__ObjectInterface = (void *)0x059AD6B8; const void * RTTI_Scaleform__GFx__ZLibFile = (void *)0x059BCF58; const void * RTTI_Scaleform__GFx__ZlibImageSource = (void *)0x059AB7C0; const void * RTTI_Scaleform__GFx__ZlibSupport = (void *)0x05CD3E38; const void * RTTI_Scaleform__HeapPT__SysAllocGranulator = (void *)0x059AB8E8; const void * RTTI_Scaleform__HeapPT__SysAllocWrapper = (void *)0x059AB928; const void * RTTI_Scaleform__Log = (void *)0x059A3F88; const void * RTTI_Scaleform__LongFormatter = (void *)0x059A7F60; const void * RTTI_Scaleform__MemoryFile = (void *)0x05CD57E8; const void * RTTI_Scaleform__MemoryHeap = (void *)0x059A2FE0; const void * RTTI_Scaleform__MemoryHeapMH = (void *)0x059A3F58; const void * RTTI_Scaleform__MemoryHeapPT = (void *)0x059A8A98; const void * RTTI_Scaleform__MemoryHeap__LimitHandler = (void *)0x059BAF08; const void * RTTI_Scaleform__MsgFormat = (void *)0x059A7E70; const void * RTTI_Scaleform__Mutex = (void *)0x059A3EB8; const void * RTTI_Scaleform__Mutex_AreadyLockedAcquireInterface = (void *)0x059A3F10; const void * RTTI_Scaleform__RefCountImplCore = (void *)0x059EC200; const void * RTTI_Scaleform__RefCountNTSImplCore = (void *)0x059A3088; const void * RTTI_Scaleform__RefCountWeakSupportImpl = (void *)0x059A30C0; const void * RTTI_Scaleform__Render__BevelFilter = (void *)0x059A8DE0; const void * RTTI_Scaleform__Render__BlendModeBundle = (void *)0x059AAF30; const void * RTTI_Scaleform__Render__BlendModeEffect = (void *)0x059ABAD0; const void * RTTI_Scaleform__Render__BlendPrimitive = (void *)0x059A9180; const void * RTTI_Scaleform__Render__BlurFilter = (void *)0x059A8D38; const void * RTTI_Scaleform__Render__BlurFilterImpl = (void *)0x059A8D00; const void * RTTI_Scaleform__Render__Bundle = (void *)0x059AAA80; const void * RTTI_Scaleform__Render__CacheAsBitmapFilter = (void *)0x059A8E90; const void * RTTI_Scaleform__Render__CacheBase = (void *)0x05D4E7A8; const void * RTTI_Scaleform__Render__CacheEffect = (void *)0x059AB960; const void * RTTI_Scaleform__Render__CacheablePrimitive = (void *)0x059A90E0; const void * RTTI_Scaleform__Render__CacheableTargetEffect = (void *)0x059ABA08; const void * RTTI_Scaleform__Render__ColorMatrixFilter = (void *)0x059A8E50; const void * RTTI_Scaleform__Render__ComplexFill = (void *)0x059A5030; const void * RTTI_Scaleform__Render__ComplexMesh = (void *)0x059AA398; const void * RTTI_Scaleform__Render__ComplexMeshVertexOutput = (void *)0x059AC320; const void * RTTI_Scaleform__Render__ComplexPrimitiveBundle = (void *)0x059AAE80; const void * RTTI_Scaleform__Render__ContextImpl__ContextCaptureNotify = (void *)0x059A4520; const void * RTTI_Scaleform__Render__ContextImpl__ContextCaptureNotifyListVisitor = (void *)0x059A4860; const void * RTTI_Scaleform__Render__ContextImpl__ContextCaptureNotifyListVisitor_OnCapture = (void *)0x059A4990; const void * RTTI_Scaleform__Render__ContextImpl__ContextCaptureNotifyListVisitor_OnNextCapture = (void *)0x059A4920; const void * RTTI_Scaleform__Render__ContextImpl__ContextCaptureNotifyListVisitor_OnSetCaptureThreadId = (void *)0x059A49F0; const void * RTTI_Scaleform__Render__ContextImpl__ContextCaptureNotifyListVisitor_OnShutdown = (void *)0x059A48C0; const void * RTTI_Scaleform__Render__ContextImpl__ContextLock = (void *)0x059A4640; const void * RTTI_Scaleform__Render__ContextImpl__EntryData = (void *)0x059A3440; const void * RTTI_Scaleform__Render__ContextImpl__RTHandle__HandleData = (void *)0x059A4740; const void * RTTI_Scaleform__Render__ContextImpl__RenderNotify = (void *)0x05D46500; const void * RTTI_Scaleform__Render__ContextImpl__RenderNotify__ServiceCommand = (void *)0x059A8370; const void * RTTI_Scaleform__Render__CreationRenderer__DepthStencilSurface = (void *)0x05D466D0; const void * RTTI_Scaleform__Render__CreationRenderer__HAL = (void *)0x05D46210; const void * RTTI_Scaleform__Render__CreationRenderer__IndexBuffer = (void *)0x05D4E9B0; const void * RTTI_Scaleform__Render__CreationRenderer__MappedTexture = (void *)0x05D46800; const void * RTTI_Scaleform__Render__CreationRenderer__MeshBufferSet = (void *)0x05D4EC90; const void * RTTI_Scaleform__Render__CreationRenderer__MeshCache = (void *)0x05D4EB00; const void * RTTI_Scaleform__Render__CreationRenderer__MeshCacheItem = (void *)0x05D4ECE0; const void * RTTI_Scaleform__Render__CreationRenderer__PendingResourceDestroyEntry = (void *)0x05D46620; const void * RTTI_Scaleform__Render__CreationRenderer__RenderEvents = (void *)0x05D4E760; const void * RTTI_Scaleform__Render__CreationRenderer__RenderSync = (void *)0x05D4EDC0; const void * RTTI_Scaleform__Render__CreationRenderer__RenderTargetData = (void *)0x05D46350; const void * RTTI_Scaleform__Render__CreationRenderer__ShaderInterface = (void *)0x05D4EEA0; const void * RTTI_Scaleform__Render__CreationRenderer__ShaderInterface__MappedUniformBuffer = (void *)0x05D4EF80; const void * RTTI_Scaleform__Render__CreationRenderer__ShaderManager = (void *)0x05D4F100; const void * RTTI_Scaleform__Render__CreationRenderer__Texture = (void *)0x05D465E0; const void * RTTI_Scaleform__Render__CreationRenderer__TextureFormat = (void *)0x05D46680; const void * RTTI_Scaleform__Render__CreationRenderer__TextureManager = (void *)0x05D46720; const void * RTTI_Scaleform__Render__CreationRenderer__VertexBuffer = (void *)0x05D4EB80; const void * RTTI_Scaleform__Render__DDS__DDSFileImageSource = (void *)0x059AC1A8; const void * RTTI_Scaleform__Render__DDS__FileReader = (void *)0x059AC0F8; const void * RTTI_Scaleform__Render__DICommand = (void *)0x059A5108; const void * RTTI_Scaleform__Render__DICommandQueue = (void *)0x059A8F10; const void * RTTI_Scaleform__Render__DICommandQueue__ExecuteCommand = (void *)0x059A9000; const void * RTTI_Scaleform__Render__DICommand_ApplyFilter = (void *)0x059A53A0; const void * RTTI_Scaleform__Render__DICommand_Clear = (void *)0x059A52B0; const void * RTTI_Scaleform__Render__DICommand_ColorTransform = (void *)0x059A5660; const void * RTTI_Scaleform__Render__DICommand_Compare = (void *)0x059A5710; const void * RTTI_Scaleform__Render__DICommand_CopyChannel = (void *)0x059A54F8; const void * RTTI_Scaleform__Render__DICommand_CopyPixels = (void *)0x059A55B0; const void * RTTI_Scaleform__Render__DICommand_CreateTexture = (void *)0x059A5140; const void * RTTI_Scaleform__Render__DICommand_Dispose = (void *)0x059A51F8; const void * RTTI_Scaleform__Render__DICommand_Draw = (void *)0x059A5450; const void * RTTI_Scaleform__Render__DICommand_FillRect = (void *)0x059A57B8; const void * RTTI_Scaleform__Render__DICommand_FloodFill = (void *)0x059A5870; const void * RTTI_Scaleform__Render__DICommand_GetColorBoundsRect = (void *)0x059A5920; const void * RTTI_Scaleform__Render__DICommand_GetPixel32 = (void *)0x059A59E8; const void * RTTI_Scaleform__Render__DICommand_GetPixels = (void *)0x059A5AA0; const void * RTTI_Scaleform__Render__DICommand_Histogram = (void *)0x059A5B50; const void * RTTI_Scaleform__Render__DICommand_HitTest = (void *)0x059A5C00; const void * RTTI_Scaleform__Render__DICommand_Merge = (void *)0x059A5CB0; const void * RTTI_Scaleform__Render__DICommand_Noise = (void *)0x059A5D58; const void * RTTI_Scaleform__Render__DICommand_PaletteMap = (void *)0x059A5E00; const void * RTTI_Scaleform__Render__DICommand_PerlinNoise = (void *)0x059A5EB0; const void * RTTI_Scaleform__Render__DICommand_PixelDissolve = (void *)0x059A5F60; const void * RTTI_Scaleform__Render__DICommand_Scroll = (void *)0x059A6180; const void * RTTI_Scaleform__Render__DICommand_SetPixel32 = (void *)0x059A6018; const void * RTTI_Scaleform__Render__DICommand_SetPixels = (void *)0x059A60D0; const void * RTTI_Scaleform__Render__DICommand_SourceRect = (void *)0x059A5360; const void * RTTI_Scaleform__Render__DICommand_Threshold = (void *)0x059A6228; const void * RTTI_Scaleform__Render__DIPixelProvider = (void *)0x059B4D10; const void * RTTI_Scaleform__Render__DepthStencilBuffer = (void *)0x05D30DC8; const void * RTTI_Scaleform__Render__DepthStencilSurface = (void *)0x05D46AD0; const void * RTTI_Scaleform__Render__DestroyDrawableImageThreadCommand = (void *)0x059A62E0; const void * RTTI_Scaleform__Render__DisplacementMapFilter = (void *)0x059A8ED0; const void * RTTI_Scaleform__Render__DrawableImage = (void *)0x059A4FA8; const void * RTTI_Scaleform__Render__DrawableImageContext = (void *)0x059A50C8; const void * RTTI_Scaleform__Render__Fence = (void *)0x059A8088; const void * RTTI_Scaleform__Render__FenceWrapperList = (void *)0x059A8168; const void * RTTI_Scaleform__Render__FileImageSource = (void *)0x059AB7F8; const void * RTTI_Scaleform__Render__FilterBundle = (void *)0x059AAEF8; const void * RTTI_Scaleform__Render__FilterEffect = (void *)0x059AB9D0; const void * RTTI_Scaleform__Render__FilterPrimitive = (void *)0x059A90A8; const void * RTTI_Scaleform__Render__FilterSet = (void *)0x059A8BF8; const void * RTTI_Scaleform__Render__Font = (void *)0x059A96C8; const void * RTTI_Scaleform__Render__FontCacheHandleManager = (void *)0x059AB2D8; const void * RTTI_Scaleform__Render__GlowFilter = (void *)0x059A8DA8; const void * RTTI_Scaleform__Render__GlyphCache = (void *)0x059AB380; const void * RTTI_Scaleform__Render__GlyphCacheConfig = (void *)0x059AB418; const void * RTTI_Scaleform__Render__GlyphCache__EvictNotifier = (void *)0x059AB750; const void * RTTI_Scaleform__Render__GlyphEvictNotifier = (void *)0x059AB690; const void * RTTI_Scaleform__Render__GlyphFitter = (void *)0x059AC810; const void * RTTI_Scaleform__Render__GlyphRaster = (void *)0x059AB450; const void * RTTI_Scaleform__Render__GlyphShape = (void *)0x059AB550; const void * RTTI_Scaleform__Render__GlyphTextureImage = (void *)0x059AB708; const void * RTTI_Scaleform__Render__GradientData = (void *)0x059A9F38; const void * RTTI_Scaleform__Render__GradientFilter = (void *)0x059A8E18; const void * RTTI_Scaleform__Render__GradientImage = (void *)0x059AA028; const void * RTTI_Scaleform__Render__HAL = (void *)0x05D46160; const void * RTTI_Scaleform__Render__HALBeginDisplayItem = (void *)0x059A81E8; const void * RTTI_Scaleform__Render__HALEndDisplayItem = (void *)0x059A8228; const void * RTTI_Scaleform__Render__HALNotify = (void *)0x05D46428; const void * RTTI_Scaleform__Render__HALSetUserMatrixItem__HALSetUserMatrixItemInterface = (void *)0x059A8270; const void * RTTI_Scaleform__Render__Hairliner = (void *)0x059AA570; const void * RTTI_Scaleform__Render__Image = (void *)0x05CD5CC0; const void * RTTI_Scaleform__Render__ImageFileHandler = (void *)0x059ABC10; const void * RTTI_Scaleform__Render__ImageFileHandlerRegistry = (void *)0x059A9530; const void * RTTI_Scaleform__Render__ImageSwizzler = (void *)0x059A3B30; const void * RTTI_Scaleform__Render__ImageUpdate = (void *)0x059A3B68; const void * RTTI_Scaleform__Render__ImageUpdateSync = (void *)0x05D46A20; const void * RTTI_Scaleform__Render__JPEG__ExtraData = (void *)0x059A87C0; const void * RTTI_Scaleform__Render__JPEG__TablesHeader = (void *)0x059A8858; const void * RTTI_Scaleform__Render__MappedTextureBase = (void *)0x05D46A90; const void * RTTI_Scaleform__Render__MaskBundle = (void *)0x059AAEC0; const void * RTTI_Scaleform__Render__MaskEffect = (void *)0x059AB998; const void * RTTI_Scaleform__Render__MaskNodeState__Interface = (void *)0x059A8B68; const void * RTTI_Scaleform__Render__MaskPrimitive = (void *)0x059AAB70; const void * RTTI_Scaleform__Render__MatrixPoolImpl__MatrixPool = (void *)0x059AA650; const void * RTTI_Scaleform__Render__MatrixState = (void *)0x05D46540; const void * RTTI_Scaleform__Render__MatrixStateFactory = (void *)0x059AB298; const void * RTTI_Scaleform__Render__MemoryBufferImage = (void *)0x059AB870; const void * RTTI_Scaleform__Render__Mesh = (void *)0x059AA1D0; const void * RTTI_Scaleform__Render__MeshBase = (void *)0x059AA060; const void * RTTI_Scaleform__Render__MeshBuffer = (void *)0x05D4E818; const void * RTTI_Scaleform__Render__MeshCache = (void *)0x05D4EB48; const void * RTTI_Scaleform__Render__MeshCacheConfig = (void *)0x05D4E7E0; const void * RTTI_Scaleform__Render__MeshCacheItem = (void *)0x05D4EC50; const void * RTTI_Scaleform__Render__MeshKeyManager = (void *)0x059A84D0; const void * RTTI_Scaleform__Render__MeshKeySet = (void *)0x059AA3D0; const void * RTTI_Scaleform__Render__MeshProvider = (void *)0x059A7320; const void * RTTI_Scaleform__Render__MeshProvider_KeySupport = (void *)0x059A7400; const void * RTTI_Scaleform__Render__MeshStagingNode = (void *)0x059AA148; const void * RTTI_Scaleform__Render__MeshVertexOutput = (void *)0x059AC2E8; const void * RTTI_Scaleform__Render__MetaImage = (void *)0x059A3C48; const void * RTTI_Scaleform__Render__MorphInterpolator = (void *)0x059A75D0; const void * RTTI_Scaleform__Render__MorphShapeData = (void *)0x059A7478; const void * RTTI_Scaleform__Render__OrigScale9ParentState__Interface = (void *)0x059A8BB0; const void * RTTI_Scaleform__Render__PNG__FileReader = (void *)0x059ABEA0; const void * RTTI_Scaleform__Render__PNG__FileWriter = (void *)0x059ABF58; const void * RTTI_Scaleform__Render__PNG__Input = (void *)0x059AC008; const void * RTTI_Scaleform__Render__PNG__LibPNGInput = (void *)0x059AC040; const void * RTTI_Scaleform__Render__PNG__MemoryBufferImage = (void *)0x059AC078; const void * RTTI_Scaleform__Render__PNG__PNGFileImageSource = (void *)0x059AC0B8; const void * RTTI_Scaleform__Render__Primitive = (void *)0x059AA300; const void * RTTI_Scaleform__Render__PrimitiveBundle = (void *)0x059AAE48; const void * RTTI_Scaleform__Render__PrimitiveFill = (void *)0x059AA200; const void * RTTI_Scaleform__Render__PrimitiveFillManager = (void *)0x059A82D0; const void * RTTI_Scaleform__Render__ProfileModifier = (void *)0x059A83C0; const void * RTTI_Scaleform__Render__ProfileViews = (void *)0x059A8430; const void * RTTI_Scaleform__Render__ProjectionMatrix3DBundle = (void *)0x059AAFB0; const void * RTTI_Scaleform__Render__ProjectionMatrix3DEffect = (void *)0x059ABA90; const void * RTTI_Scaleform__Render__ProjectionMatrix3DPrimitive = (void *)0x059AACB0; const void * RTTI_Scaleform__Render__RBGenericImpl__DepthStencilBuffer = (void *)0x059BD430; const void * RTTI_Scaleform__Render__RBGenericImpl__RenderBufferManager = (void *)0x059BD2F0; const void * RTTI_Scaleform__Render__RBGenericImpl__RenderTarget = (void *)0x059BD340; const void * RTTI_Scaleform__Render__Rasterizer = (void *)0x059AC278; const void * RTTI_Scaleform__Render__RawImage = (void *)0x059A3C80; const void * RTTI_Scaleform__Render__RenderBuffer = (void *)0x05D30E68; const void * RTTI_Scaleform__Render__RenderBufferManager = (void *)0x059BD208; const void * RTTI_Scaleform__Render__RenderEvents = (void *)0x05D46250; const void * RTTI_Scaleform__Render__RenderQueueItem__Interface = (void *)0x059A81A0; const void * RTTI_Scaleform__Render__RenderSync = (void *)0x05D4ED80; const void * RTTI_Scaleform__Render__RenderTarget = (void *)0x059BD2B0; const void * RTTI_Scaleform__Render__RenderTargetData = (void *)0x05D46460; const void * RTTI_Scaleform__Render__SIF__FileReader = (void *)0x059ABD78; const void * RTTI_Scaleform__Render__SIF__SIFFileImageSource = (void *)0x059ABE28; const void * RTTI_Scaleform__Render__SKI_BlendMode = (void *)0x059AA960; const void * RTTI_Scaleform__Render__SKI_ComplexPrimitive = (void *)0x059AA870; const void * RTTI_Scaleform__Render__SKI_Filter = (void *)0x059AA998; const void * RTTI_Scaleform__Render__SKI_MaskEnd = (void *)0x059AA8E8; const void * RTTI_Scaleform__Render__SKI_MaskEnd__RQII_EndMask = (void *)0x059AA920; const void * RTTI_Scaleform__Render__SKI_MaskStart = (void *)0x059AA8B0; const void * RTTI_Scaleform__Render__SKI_Primitive = (void *)0x059AA838; const void * RTTI_Scaleform__Render__SKI_ProjectionMatrix3D = (void *)0x059AAA08; const void * RTTI_Scaleform__Render__SKI_TextPrimitive = (void *)0x059AC960; const void * RTTI_Scaleform__Render__SKI_UserData = (void *)0x059AAA48; const void * RTTI_Scaleform__Render__SKI_ViewMatrix3D = (void *)0x059AA9D0; const void * RTTI_Scaleform__Render__Scale9GridData = (void *)0x059A76D0; const void * RTTI_Scaleform__Render__Scale9GridInfo = (void *)0x059A91F0; const void * RTTI_Scaleform__Render__Scale9GridRect = (void *)0x059A4C58; const void * RTTI_Scaleform__Render__ShadowFilter = (void *)0x059A8D70; const void * RTTI_Scaleform__Render__ShapeDataFloat = (void *)0x059A3770; const void * RTTI_Scaleform__Render__ShapeDataFloatMP = (void *)0x059A91B8; const void * RTTI_Scaleform__Render__ShapeMeshProvider = (void *)0x059A7590; const void * RTTI_Scaleform__Render__SortKeyInterface = (void *)0x059AA7B8; const void * RTTI_Scaleform__Render__StateData__Interface = (void *)0x059A4178; const void * RTTI_Scaleform__Render__StateData__Interface_RefCountImpl = (void *)0x059A8B20; const void * RTTI_Scaleform__Render__StateData__Interface_Value = (void *)0x059A8AD0; const void * RTTI_Scaleform__Render__StrokeScaler = (void *)0x059AB6D0; const void * RTTI_Scaleform__Render__StrokeSorter = (void *)0x059AA500; const void * RTTI_Scaleform__Render__Stroker = (void *)0x059AA498; const void * RTTI_Scaleform__Render__StrokerAA = (void *)0x059AA538; const void * RTTI_Scaleform__Render__SubImage = (void *)0x059A3CB0; const void * RTTI_Scaleform__Render__SystemVertexFormat = (void *)0x059AA5A8; const void * RTTI_Scaleform__Render__TGA__FileReader = (void *)0x059ABC80; const void * RTTI_Scaleform__Render__TGA__TGAFileImageSource = (void *)0x059ABD38; const void * RTTI_Scaleform__Render__TessBase = (void *)0x059A8468; const void * RTTI_Scaleform__Render__Tessellator = (void *)0x059AA460; const void * RTTI_Scaleform__Render__TextLayerPrimitive = (void *)0x059AC9E0; const void * RTTI_Scaleform__Render__TextLayout = (void *)0x059AC360; const void * RTTI_Scaleform__Render__TextMeshProvider = (void *)0x059AC788; const void * RTTI_Scaleform__Render__TextPrimitiveBundle = (void *)0x059AC9A0; const void * RTTI_Scaleform__Render__Text__Allocator = (void *)0x059A9388; const void * RTTI_Scaleform__Render__Text__Allocator__TextFormatVisitor = (void *)0x059AD9D0; const void * RTTI_Scaleform__Render__Text__DocView = (void *)0x059AC4C0; const void * RTTI_Scaleform__Render__Text__DocView__DocumentText = (void *)0x059AC560; const void * RTTI_Scaleform__Render__Text__EditorKitBase = (void *)0x059AC668; const void * RTTI_Scaleform__Render__Text__FontHandle = (void *)0x059A7AE8; const void * RTTI_Scaleform__Render__Text__FontManagerBase = (void *)0x059A7B78; const void * RTTI_Scaleform__Render__Text__HTMLImageTagDesc = (void *)0x059AC920; const void * RTTI_Scaleform__Render__Text__ImageDesc = (void *)0x059AC880; const void * RTTI_Scaleform__Render__Text__StyleManagerBase = (void *)0x059B9040; const void * RTTI_Scaleform__Render__Text__StyledText = (void *)0x059ABB40; const void * RTTI_Scaleform__Render__Text__TextFilter = (void *)0x059AB028; const void * RTTI_Scaleform__Render__Texture = (void *)0x05D46988; const void * RTTI_Scaleform__Render__TextureFormat = (void *)0x05D46A58; const void * RTTI_Scaleform__Render__TextureGlyph = (void *)0x059A85A0; const void * RTTI_Scaleform__Render__TextureImage = (void *)0x05CD5CF0; const void * RTTI_Scaleform__Render__TextureManager = (void *)0x05D467C8; const void * RTTI_Scaleform__Render__TextureManagerLocks = (void *)0x059A3A88; const void * RTTI_Scaleform__Render__TextureManager__ServiceCommand = (void *)0x059A3C00; const void * RTTI_Scaleform__Render__ThreadCommandQueue = (void *)0x05D30EA0; const void * RTTI_Scaleform__Render__TransformerBase = (void *)0x059A7440; const void * RTTI_Scaleform__Render__TreeCacheContainer = (void *)0x059A4EA0; const void * RTTI_Scaleform__Render__TreeCacheMeshBase = (void *)0x059A77A8; const void * RTTI_Scaleform__Render__TreeCacheNode = (void *)0x059A4EE0; const void * RTTI_Scaleform__Render__TreeCacheRoot = (void *)0x059A8568; const void * RTTI_Scaleform__Render__TreeCacheShape = (void *)0x059A77E8; const void * RTTI_Scaleform__Render__TreeCacheShapeLayer = (void *)0x059A7768; const void * RTTI_Scaleform__Render__TreeCacheText = (void *)0x059AC848; const void * RTTI_Scaleform__Render__TreeContainer__NodeData = (void *)0x059A34C0; const void * RTTI_Scaleform__Render__TreeNode__NodeData = (void *)0x059A3480; const void * RTTI_Scaleform__Render__TreeRoot__NodeData = (void *)0x059A3588; const void * RTTI_Scaleform__Render__TreeShape__NodeData = (void *)0x059A3828; const void * RTTI_Scaleform__Render__TreeText__NodeData = (void *)0x059AC3F8; const void * RTTI_Scaleform__Render__UserDataBundle = (void *)0x059AAFF0; const void * RTTI_Scaleform__Render__UserDataEffect = (void *)0x059ABB08; const void * RTTI_Scaleform__Render__UserDataPrimitive = (void *)0x059AAD68; const void * RTTI_Scaleform__Render__UserDataState__Data = (void *)0x059A4DF8; const void * RTTI_Scaleform__Render__VectorGlyphShape = (void *)0x059AB608; const void * RTTI_Scaleform__Render__VertexOutput = (void *)0x059AC2B0; const void * RTTI_Scaleform__Render__VertexPath = (void *)0x059A8498; const void * RTTI_Scaleform__Render__ViewMatrix3DBundle = (void *)0x059AAF68; const void * RTTI_Scaleform__Render__ViewMatrix3DEffect = (void *)0x059ABA48; const void * RTTI_Scaleform__Render__ViewMatrix3DPrimitive = (void *)0x059AAC08; const void * RTTI_Scaleform__Render__WrapperImageSource = (void *)0x059A6F98; const void * RTTI_Scaleform__RepeatFormatter = (void *)0x059A8058; const void * RTTI_Scaleform__ResourceFormatter = (void *)0x059A7FF0; const void * RTTI_Scaleform__Semaphore = (void *)0x059A3D80; const void * RTTI_Scaleform__SemaphoreWaitableIncrement = (void *)0x059A3DB0; const void * RTTI_Scaleform__StrFormatter = (void *)0x059A7F00; const void * RTTI_Scaleform__String__InitStruct = (void *)0x059A30F8; const void * RTTI_Scaleform__SwitchFormatter = (void *)0x059A8028; const void * RTTI_Scaleform__SysAllocBase = (void *)0x05B8C8E0; const void * RTTI_Scaleform__SysAllocMalloc = (void *)0x05B8C878; const void * RTTI_Scaleform__SysAllocMapper = (void *)0x059BAED8; const void * RTTI_Scaleform__SysAllocStatic = (void *)0x059A3E88; const void * RTTI_Scaleform__SysFile = (void *)0x059BADA0; const void * RTTI_Scaleform__SysMemMapper = (void *)0x05CD4490; const void * RTTI_Scaleform__Thread = (void *)0x059A3EE0; const void * RTTI_Scaleform__UnopenedFile = (void *)0x059BADC8; const void * RTTI_Scaleform__Waitable = (void *)0x059A3CE0; const void * RTTI_SceneNextPhaseHandler = (void *)0x05BCA2E8; const void * RTTI_ScopeMenu = (void *)0x05B5FAA8; const void * RTTI_ScopeMenuUtil__FadeCallback = (void *)0x05B5FAC8; const void * RTTI_ScopeMenu__ScopeMenuDataEventShuttle = (void *)0x05B5FB00; const void * RTTI_ScopeMenu__ScopeScalingData = (void *)0x05B5FB90; const void * RTTI_ScopeMenu__ZoomLevelData = (void *)0x05B5FBC8; const void * RTTI_ScrapHeap = (void *)0x05C9C990; const void * RTTI_Script = (void *)0x05A7DE20; const void * RTTI_ScriptEffect = (void *)0x05B80690; const void * RTTI_ScriptedRefEffect = (void *)0x05B80738; const void * RTTI_ScrollBar = (void *)0x05D55A50; const void * RTTI_ScrollBar_Horizontal = (void *)0x05D55A70; const void * RTTI_ScrollItem = (void *)0x059F62B0; const void * RTTI_SearchPage = (void *)0x05D543E8; const void * RTTI_SearchResultsPage = (void *)0x05D54018; const void * RTTI_SecurityMenu = (void *)0x05B44618; const void * RTTI_SecurityMenu_BackOutKey = (void *)0x05B44C88; const void * RTTI_SecurityMenu_CloseMenu = (void *)0x05B44E98; const void * RTTI_SecurityMenu_ConfirmExit = (void *)0x05B44E18; const void * RTTI_SecurityMenu_EliminateUnusedKeys = (void *)0x05B44D90; const void * RTTI_SecurityMenu_GetRingHint = (void *)0x05B44D08; const void * RTTI_SecurityMenu_SelectNewKey = (void *)0x05B44A18; const void * RTTI_SecurityMenu_TryUseKey = (void *)0x05B44F18; const void * RTTI_SecurityMenu__SecurityMenuEventShuttle = (void *)0x05B42858; const void * RTTI_SeenData = (void *)0x05995078; const void * RTTI_Service = (void *)0x05AA13F8; const void * RTTI_SetOrientNode = (void *)0x05C98958; const void * RTTI_SetOrientNodeInstance = (void *)0x05C98980; const void * RTTI_SetPosNode = (void *)0x05C99810; const void * RTTI_SetPosNodeInstance = (void *)0x05C99838; const void * RTTI_Setting = (void *)0x059C2550; const void * RTTI_SettingsDataModel = (void *)0x05B11CA8; const void * RTTI_SettingsDataModel__SettingsEventShuttle = (void *)0x05B11408; const void * RTTI_SettingsPanel_CheckBoxChanged = (void *)0x05B0FE80; const void * RTTI_SettingsPanel_ClearBinding = (void *)0x05B11EC0; const void * RTTI_SettingsPanel_LinkClicked = (void *)0x05B11E38; const void * RTTI_SettingsPanel_OpenCategory = (void *)0x05B0FDF0; const void * RTTI_SettingsPanel_OpenSettings = (void *)0x05B0FD60; const void * RTTI_SettingsPanel_RemapConfirmed = (void *)0x05B11F50; const void * RTTI_SettingsPanel_RemapMode = (void *)0x05B102B8; const void * RTTI_SettingsPanel_ResetToDefaults = (void *)0x05B0FF10; const void * RTTI_SettingsPanel_SaveControls = (void *)0x05B100C0; const void * RTTI_SettingsPanel_SaveSettings = (void *)0x05B10150; const void * RTTI_SettingsPanel_SliderChanged = (void *)0x05B0FFA0; const void * RTTI_SettingsPanel_StepperChanged = (void *)0x05B10030; const void * RTTI_SettingsPanel_ValidateControls = (void *)0x05B11DB0; const void * RTTI_SetupGraphRagdollHandler = (void *)0x05BCB550; const void * RTTI_ShaderReferenceEffect = (void *)0x05B807B0; const void * RTTI_SharedHeapAllocator = (void *)0x05C9CB08; const void * RTTI_ShipActionCameraState = (void *)0x05AA9518; const void * RTTI_ShipBuilderBIEvents__ShipBuilderEventManager = (void *)0x05B824E0; const void * RTTI_ShipBuilder_CloseAllMenus = (void *)0x059F4D88; const void * RTTI_ShipCombatOrbitCameraState = (void *)0x05AA9910; const void * RTTI_ShipCrewAssignData = (void *)0x05B12F68; const void * RTTI_ShipCrewAssignData__ShipCrewAssignMenuEventShuttle = (void *)0x05B12FA0; const void * RTTI_ShipCrewAssignMenu = (void *)0x05B45D08; const void * RTTI_ShipCrewAssignMenu_Assign = (void *)0x05B45EA8; const void * RTTI_ShipCrewAssignMenu_Unassign = (void *)0x05B45E28; const void * RTTI_ShipCrewData = (void *)0x05B13340; const void * RTTI_ShipCrewData__ShipCrewMenuEventShuttle = (void *)0x05B130C8; const void * RTTI_ShipCrewMenu = (void *)0x05B45F30; const void * RTTI_ShipCrewMenu_Close = (void *)0x05B46040; const void * RTTI_ShipCrewMenu_OpenAssignMenu = (void *)0x05B136A8; const void * RTTI_ShipCrewMenu_SetSort = (void *)0x05B13778; const void * RTTI_ShipCrewMenu_ViewedItem = (void *)0x05B46070; const void * RTTI_ShipEditor_ChangeModuleCategory = (void *)0x059F1240; const void * RTTI_ShipEditor_OnColorPickerControlChanged = (void *)0x059D0248; const void * RTTI_ShipEditor_OnColorPickerTabChanged = (void *)0x059D0388; const void * RTTI_ShipEditor_OnColorSliderMouseInput = (void *)0x059D01A8; const void * RTTI_ShipEditor_OnExitConfirmCancel = (void *)0x059ED8D0; const void * RTTI_ShipEditor_OnExitConfirmExit = (void *)0x059ED960; const void * RTTI_ShipEditor_OnExitConfirmSaveAndExit = (void *)0x059ED838; const void * RTTI_ShipEditor_OnFlightCheckTabChanged = (void *)0x059EE718; const void * RTTI_ShipEditor_OnHintButtonActivated = (void *)0x059F4560; const void * RTTI_ShipEditor_OnRecentColorSwatchClicked = (void *)0x059D02E8; const void * RTTI_ShipEditor_OnRenameEndEditText = (void *)0x059EFD70; const void * RTTI_ShipEditor_OnRenameInputCancelled = (void *)0x059EFDA8; const void * RTTI_ShipEditor_OnWeaponGroupChanged = (void *)0x059EE680; const void * RTTI_ShipEditor_PreviewShipPart = (void *)0x059F12D0; const void * RTTI_ShipEditor_PreviewUpgrade = (void *)0x059CEC08; const void * RTTI_ShipEditor_RemoveAll3D = (void *)0x059F45E8; const void * RTTI_ShipEditor_SelectedShipPart = (void *)0x059F1308; const void * RTTI_ShipEditor_SelectedUpgrade = (void *)0x059CEC90; const void * RTTI_ShipEditor_SystemSelected = (void *)0x059CE040; const void * RTTI_ShipFarTravelCameraState = (void *)0x05AA9948; const void * RTTI_ShipHudDataModel = (void *)0x05B1ADB8; const void * RTTI_ShipHudDataModel__ShipHudEventShuttle = (void *)0x05B1BF58; const void * RTTI_ShipHudQuickContainer_TransferItem = (void *)0x05B632B8; const void * RTTI_ShipHudQuickContainer_TransferMenu = (void *)0x05B1B580; const void * RTTI_ShipHud_AbortJump = (void *)0x05B63358; const void * RTTI_ShipHud_Activate = (void *)0x05B1B518; const void * RTTI_ShipHud_BodyViewMarkerDimensions = (void *)0x05B1AFC8; const void * RTTI_ShipHud_ChangeComponentSelection = (void *)0x05B1B770; const void * RTTI_ShipHud_CloseMenu = (void *)0x05B1B888; const void * RTTI_ShipHud_Deselect = (void *)0x05B1B678; const void * RTTI_ShipHud_DockRequested = (void *)0x05B63630; const void * RTTI_ShipHud_FarTravel = (void *)0x05B1AED8; const void * RTTI_ShipHud_HailAccepted = (void *)0x05B1B248; const void * RTTI_ShipHud_HailCancelled = (void *)0x05B1B3B8; const void * RTTI_ShipHud_HailShip = (void *)0x05B635C8; const void * RTTI_ShipHud_JumpToQuestMarker = (void *)0x05B1AF48; const void * RTTI_ShipHud_Land = (void *)0x05B1B448; const void * RTTI_ShipHud_LandingMarkerMap = (void *)0x05B1B338; const void * RTTI_ShipHud_Map = (void *)0x05B1B4B0; const void * RTTI_ShipHud_OnMonocleToggle = (void *)0x05B1B2C8; const void * RTTI_ShipHud_OpenPhotoMode = (void *)0x05B1B0D0; const void * RTTI_ShipHud_Repair = (void *)0x05B1AE70; const void * RTTI_ShipHud_SetTargetMode = (void *)0x05B1B148; const void * RTTI_ShipHud_Target = (void *)0x05B1B610; const void * RTTI_ShipHud_TargetShipSystem = (void *)0x05B1B1C8; const void * RTTI_ShipHud_UntargetShipSystem = (void *)0x05B1B048; const void * RTTI_ShipHud_UpdateComponentPower = (void *)0x05B1B6E0; const void * RTTI_ShipHud_UpdateTargetPanelRect = (void *)0x05B60980; const void * RTTI_ShipRefuelMenu = (void *)0x05B46818; const void * RTTI_ShipRefuelMenuDataModel = (void *)0x05B1CFB8; const void * RTTI_ShipRefuelMenuDataModel__ShipRefuelMenuEventShuttle = (void *)0x05B1CFF0; const void * RTTI_ShipTargetingCameraState = (void *)0x05AA9978; const void * RTTI_ShowSubsegmentHandler = (void *)0x05BCB520; const void * RTTI_SideBar = (void *)0x05D53140; const void * RTTI_SimpleAnimationGraphManagerHolder = (void *)0x059F8B98; const void * RTTI_SimpleAnimationGraphManagerLoadingTask = (void *)0x05AA3710; const void * RTTI_SingleBoneIKNode = (void *)0x05C98D30; const void * RTTI_SingleBoneIKNodeInstance = (void *)0x05C98D58; const void * RTTI_SitWaitMenu = (void *)0x05C55260; const void * RTTI_Sizing__mpBoxSizer = (void *)0x05D55350; const void * RTTI_Sizing__mpButtonSizer = (void *)0x059A11E0; const void * RTTI_Sizing__mpSizer = (void *)0x05D55328; const void * RTTI_SkillsMenu = (void *)0x05B48200; const void * RTTI_SkillsMenu_Accept = (void *)0x05B48830; const void * RTTI_SkillsMenu_AddPatch = (void *)0x05B488A0; const void * RTTI_SkillsMenu_Cancel = (void *)0x05B48808; const void * RTTI_SkillsMenu_ChangeCursorVisibility = (void *)0x05B48910; const void * RTTI_SkillsMenu_SaveLastCategory = (void *)0x05B485C0; const void * RTTI_SkillsMenu__SkillsMenuEventShuttle = (void *)0x05B47D38; const void * RTTI_SkinAttach = (void *)0x05CC0AA8; const void * RTTI_Sky = (void *)0x05A871F0; const void * RTTI_SkyEffectController = (void *)0x05A867A0; const void * RTTI_SleepWaitMenu = (void *)0x05C56088; const void * RTTI_SleepWaitMenu_InterruptRest = (void *)0x05C56008; const void * RTTI_SleepWaitMenu_StartRest = (void *)0x05C56218; const void * RTTI_SleepWaitMenu__SleepWaitMenuEventShuttle = (void *)0x05C562E8; const void * RTTI_SlideStartHandler = (void *)0x05BCA288; const void * RTTI_SlowTimeEffect = (void *)0x05B80828; const void * RTTI_SneakStateChangeHandler = (void *)0x05BCF048; const void * RTTI_SortFilter = (void *)0x05D54DF8; const void * RTTI_SoulTrapEffect = (void *)0x05B80850; const void * RTTI_SpaceComponentViewAccessWrite = (void *)0x05A50908; const void * RTTI_SpaceCruise__CruiseEventHandler = (void *)0x05AE8CC0; const void * RTTI_SpaceCruise__NearOrbitalCruise = (void *)0x05AE8C88; const void * RTTI_SpaceCruise__NearPlanetCruise = (void *)0x05AE8D30; const void * RTTI_SpaceCruise__OutsidePlanetOrbitalCruise = (void *)0x05AE8D68; const void * RTTI_SpaceCruise__PlanetAndMoonCruise = (void *)0x05AE8CF8; const void * RTTI_SpaceshipAIComponentEventHandler = (void *)0x05C7B420; const void * RTTI_SpaceshipBIEvents__EventSink = (void *)0x05B81F88; const void * RTTI_SpaceshipBoostPart = (void *)0x05C7CA78; const void * RTTI_SpaceshipDockingFinishedHandler = (void *)0x05BCA520; const void * RTTI_SpaceshipEditor__HangarModeState_Null = (void *)0x059F4AE8; const void * RTTI_SpaceshipEditor__HangarModeState_ShipInspect = (void *)0x059F4B70; const void * RTTI_SpaceshipEditor__HangarModeState_ShipSelection = (void *)0x05AE7A90; const void * RTTI_SpaceshipEditor__HangarModeState_ShipSelection__HangarModeStateShipSelectionEventShuttle = (void *)0x05AE7E80; const void * RTTI_SpaceshipEditor__IModuleModeSubState = (void *)0x059F1340; const void * RTTI_SpaceshipEditor__IVehicleHangarModeSubState = (void *)0x059F49B0; const void * RTTI_SpaceshipEditor__ModuleModeState_Add = (void *)0x059F11B0; const void * RTTI_SpaceshipEditor__ModuleModeState_Add__ModuleModeStateAddEventShuttle = (void *)0x059F0F20; const void * RTTI_SpaceshipEditor__ModuleModeState_Color = (void *)0x059F1978; const void * RTTI_SpaceshipEditor__ModuleModeState_Color__ModuleModeState_ColorEventShuttle = (void *)0x059F18C0; const void * RTTI_SpaceshipEditor__ModuleModeState_Edit = (void *)0x059F4E38; const void * RTTI_SpaceshipEditor__ModuleModeState_Empty = (void *)0x059F4DF8; const void * RTTI_SpaceshipEditor__ModuleModeState_Null = (void *)0x059F4EC0; const void * RTTI_SpaceshipEditor__ModuleModeState_Selection = (void *)0x059F4E80; const void * RTTI_SpaceshipEditor__ShipBuilderState_Exiting = (void *)0x059ED798; const void * RTTI_SpaceshipEditor__ShipBuilderState_Exiting__ShipBuilderState_ExitingEventShuttle = (void *)0x059EDA50; const void * RTTI_SpaceshipEditor__ShipBuilderState_FlightCheck = (void *)0x059EE5E0; const void * RTTI_SpaceshipEditor__ShipBuilderState_FlightCheck__ShipBuilderState_FlightCheckEventShuttle = (void *)0x059EE880; const void * RTTI_SpaceshipEditor__ShipBuilderState_HangarMode = (void *)0x059F4C20; const void * RTTI_SpaceshipEditor__ShipBuilderState_Loading = (void *)0x059F4F98; const void * RTTI_SpaceshipEditor__ShipBuilderState_ModuleMode = (void *)0x059EF180; const void * RTTI_SpaceshipEditor__ShipBuilderState_Null = (void *)0x059F4D48; const void * RTTI_SpaceshipEditor__ShipBuilderState_Popup = (void *)0x059F4D08; const void * RTTI_SpaceshipEditor__ShipBuilderState_Rename = (void *)0x059EFCE0; const void * RTTI_SpaceshipEditor__ShipBuilderState_Rename__ShipBuilderState_RenameEventShuttle = (void *)0x059EFFD0; const void * RTTI_SpaceshipEditor__ShipBuilderState_UpgradeMode = (void *)0x059CD540; const void * RTTI_SpaceshipEditor__ShipBuilderState_VehicleHangarMode = (void *)0x059F4A00; const void * RTTI_SpaceshipEditor__ShipHangarData = (void *)0x05AD97C0; const void * RTTI_SpaceshipEditor__ShipHangarData__ShipHangarEventShuttle = (void *)0x05AD9800; const void * RTTI_SpaceshipEditor__Spaceship3DManager = (void *)0x059F2820; const void * RTTI_SpaceshipEditor__Spaceship3DManager__Spaceship3DManagerEventShuttle = (void *)0x059F26B0; const void * RTTI_SpaceshipEditor__SpaceshipEditorColorWidget = (void *)0x059D05B0; const void * RTTI_SpaceshipEditor__SpaceshipEditorGame3DManager = (void *)0x059F2890; const void * RTTI_SpaceshipEditor__SpaceshipEditorMenu = (void *)0x059F5018; const void * RTTI_SpaceshipEditor__SpaceshipEditorMenu__ShipBuilderEventShuttle = (void *)0x059F4310; const void * RTTI_SpaceshipEditor__SpaceshipEditorUIColorData = (void *)0x059F1B30; const void * RTTI_SpaceshipEditor__UpgradeModeState_Null = (void *)0x059F4DB8; const void * RTTI_SpaceshipEditor__UpgradeModeState_Replace = (void *)0x059CEF28; const void * RTTI_SpaceshipEditor__UpgradeModeState_Replace__UpgradeModeStateRepalceEventShuttle = (void *)0x059CED80; const void * RTTI_SpaceshipEditor__UpgradeModeState_SystemSelect = (void *)0x059CDF80; const void * RTTI_SpaceshipEditor__UpgradeModeState_SystemSelect__UpgradeModeStateEmptyEventShuttle = (void *)0x059CDE70; const void * RTTI_SpaceshipEditor__VehicleHangarModeState_ColorVehicle = (void *)0x05AE8560; const void * RTTI_SpaceshipEditor__VehicleHangarModeState_ColorVehicle__VehicleHangarModeState_ColorVehicleEventShuttle = (void *)0x05AE85B0; const void * RTTI_SpaceshipEditor__VehicleHangarModeState_Null = (void *)0x059F4AA0; const void * RTTI_SpaceshipEditor__VehicleHangarModeState_VehicleSelection = (void *)0x05AE87B0; const void * RTTI_SpaceshipEditor__VehicleHangarModeState_VehicleUnlock = (void *)0x059F4A50; const void * RTTI_SpaceshipEffectsUtil__EventSink = (void *)0x05C7BB58; const void * RTTI_SpaceshipEquipmentComponent = (void *)0x05C7CAA8; const void * RTTI_SpaceshipEquipmentUtils__SpaceshipEquipmentEventHandler = (void *)0x05C7CBA0; const void * RTTI_SpaceshipGravDrivePart = (void *)0x05C7C9C8; const void * RTTI_SpaceshipHudMenu = (void *)0x05B62FF8; const void * RTTI_SpaceshipLandingFinishedFailsafeHandler = (void *)0x05BCB390; const void * RTTI_SpaceshipLandingFinishedHandler = (void *)0x05BCB358; const void * RTTI_SpaceshipLinkedCell__ExteriorShipCell = (void *)0x05A543A8; const void * RTTI_SpaceshipLinkedCell__InteriorShipCell = (void *)0x05A543E8; const void * RTTI_SpaceshipLinkedCell__ShipCell = (void *)0x05A54370; const void * RTTI_SpaceshipMobilityPart = (void *)0x05C7CA48; const void * RTTI_SpaceshipPart = (void *)0x05C7C9F8; const void * RTTI_SpaceshipPlayerSounds = (void *)0x05C7FC08; const void * RTTI_SpaceshipShieldPart = (void *)0x05C7C998; const void * RTTI_SpaceshipSoundsUtils__SpaceshipSoundsEventHandler = (void *)0x05C7FD60; const void * RTTI_SpaceshipTakeOffFinishedHandler = (void *)0x05BCB408; const void * RTTI_SpaceshipUndockingFinishedHandler = (void *)0x05BCA558; const void * RTTI_SpaceshipWeapon = (void *)0x05C7CA20; const void * RTTI_Spaceship__InstanceData = (void *)0x05A55C18; const void * RTTI_Spaceship__LadderSwapHandler = (void *)0x05A55910; const void * RTTI_Spaceship__ShipProxyCollisionListener = (void *)0x05A59558; const void * RTTI_Spaceship__TargetingMode = (void *)0x05B9F0A8; const void * RTTI_SpawnHazardEffect = (void *)0x05BA1F88; const void * RTTI_SpawnOnDestroyUtils__SpawnOnDestroyEventHandler = (void *)0x059E4AF0; const void * RTTI_SpecificItemCollector = (void *)0x05A85AD0; const void * RTTI_SpectatorPackage = (void *)0x05998280; const void * RTTI_SpeedScale = (void *)0x05C99708; const void * RTTI_SpeedScaleInstance = (void *)0x05C99730; const void * RTTI_SpellItem = (void *)0x059F6250; const void * RTTI_SpringBoneData = (void *)0x05A438C0; const void * RTTI_SpringBoneInstance = (void *)0x05A438E8; const void * RTTI_StaggerEffect = (void *)0x05B7F020; const void * RTTI_StaggerMeter = (void *)0x05C95388; const void * RTTI_StaggerMeterInstance = (void *)0x05C98C68; const void * RTTI_StaggeredStopHandler = (void *)0x05BCE570; const void * RTTI_StarField__LoadNodeBarrier = (void *)0x05A59198; const void * RTTI_StarField__ModuleState = (void *)0x05A590B8; const void * RTTI_StarField__SpaceReference__RetargetExterior3d = (void *)0x05A59150; const void * RTTI_StarMapMenu_ExecuteRoute = (void *)0x05B6CC58; const void * RTTI_StarMapMenu_Galaxy_FocusSystem = (void *)0x05B6A258; const void * RTTI_StarMapMenu_LandingInputInProgress = (void *)0x05B66EB0; const void * RTTI_StarMapMenu_MarkerGroupContainerVisibilityChanged = (void *)0x05B66BA0; const void * RTTI_StarMapMenu_MarkerGroupEntryClicked = (void *)0x05B66C50; const void * RTTI_StarMapMenu_MarkerGroupEntryHoverChanged = (void *)0x05B66CE8; const void * RTTI_StarMapMenu_OnCancel = (void *)0x05B6C998; const void * RTTI_StarMapMenu_OnClearRoute = (void *)0x05B6CBD8; const void * RTTI_StarMapMenu_OnExitStarMap = (void *)0x05B6CD60; const void * RTTI_StarMapMenu_OnGalaxyViewInitialized = (void *)0x05B6A1B8; const void * RTTI_StarMapMenu_OnHintButtonClicked = (void *)0x05B6CCD8; const void * RTTI_StarMapMenu_OnOutpostEntrySelected = (void *)0x05B6CA98; const void * RTTI_StarMapMenu_QuickSelectChange = (void *)0x05B683A8; const void * RTTI_StarMapMenu_ReadyToClose = (void *)0x05B6CA18; const void * RTTI_StarMapMenu_ScanPlanet = (void *)0x05B6C658; const void * RTTI_StarMapMenu_SelectedLandingSite = (void *)0x05B66D88; const void * RTTI_StarMapMenu_SelectedLandingSiteFailed = (void *)0x05B66900; const void * RTTI_StarMapMenu_ShowRealCursor = (void *)0x05B6C580; const void * RTTI_StarMap__BodyInfoToUI = (void *)0x05ADD1C8; const void * RTTI_StarMap__BodyInspectState = (void *)0x05B66428; const void * RTTI_StarMap__BodyInspectState__BodyInspectStateEventShuttle = (void *)0x05B66320; const void * RTTI_StarMap__ConfirmCustomMarkerActionCallback = (void *)0x05B6E6B0; const void * RTTI_StarMap__DelayCommand = (void *)0x05B64490; const void * RTTI_StarMap__Galaxy3DScene = (void *)0x05B636D8; const void * RTTI_StarMap__GalaxyState = (void *)0x05B68288; const void * RTTI_StarMap__GalaxyState__GalaxyStateEventShuttle = (void *)0x05B67E70; const void * RTTI_StarMap__IStarMapState = (void *)0x05B65FA8; const void * RTTI_StarMap__PlanetInfoToUI = (void *)0x05ADD198; const void * RTTI_StarMap__SelectBodyEventHelper = (void *)0x05B9CB08; const void * RTTI_StarMap__StarMapMenu = (void *)0x05B6CFB0; const void * RTTI_StarMap__StarMapMenuDataModel = (void *)0x05B6A348; const void * RTTI_StarMap__StarMapMenuDataModel__StarMapMenuEventShuttle = (void *)0x05B69D70; const void * RTTI_StarMap__StarMapMenu__StarMapMenuEventShuttle = (void *)0x05B6C950; const void * RTTI_StarMap__StarMapSystemMobile = (void *)0x05B6D2D0; const void * RTTI_StarMap__SurfaceMap3DScene = (void *)0x05AEB950; const void * RTTI_StarMap__SurfaceMap3DScene__Scene = (void *)0x05AEB9C0; const void * RTTI_StarMap__SurfaceMap3DScene__TerrainScene = (void *)0x05AEB980; const void * RTTI_StarMap__SurfaceMapMaterialController__DefaultMaterialApplicator = (void *)0x05AEBDA0; const void * RTTI_StarMap__SurfaceMapMaterialController__MaterialApplicator = (void *)0x05AEBD50; const void * RTTI_StarMap__SurfaceMapMaterialController__SpecializedMaterialApplicator = (void *)0x05AEBE00; const void * RTTI_StarMap__SurfaceMapState = (void *)0x05B6E6F0; const void * RTTI_StarMap__SurfaceMapState__SurfaceMapStateEventShuttle = (void *)0x05B6E860; const void * RTTI_StarMap__SurfaceMapUIPlanetModule = (void *)0x05B6F070; const void * RTTI_StarMap__SystemBodyInfoToUI = (void *)0x05ADD440; const void * RTTI_StarMap__SystemState = (void *)0x05B6F360; const void * RTTI_StarMap__SystemState__SystemStateEventShuttle = (void *)0x05B6F0B0; const void * RTTI_StarMap__Util__ConfirmFastTravelCallback = (void *)0x05B64530; const void * RTTI_StarMap__Util__ConfirmGravJumpPlotCallback = (void *)0x05B64570; const void * RTTI_StartFloatingHandler = (void *)0x05BCF4A8; const void * RTTI_StartPCapVoiceHandler = (void *)0x05BCB118; const void * RTTI_StartSecurityMinigameHandler = (void *)0x05BCB478; const void * RTTI_StateConfirmingAction = (void *)0x05B03868; const void * RTTI_StateEngagmentPrompt = (void *)0x05B03930; const void * RTTI_StateInitialLoad = (void *)0x05B03A98; const void * RTTI_StateIntroVideo = (void *)0x05B039E8; const void * RTTI_StateLegalScreen = (void *)0x05B03A10; const void * RTTI_StateLoadPanelInteract = (void *)0x05B03988; const void * RTTI_StateMachine = (void *)0x05C98858; const void * RTTI_StateMachineInstance = (void *)0x05C98828; const void * RTTI_StateMainPanelInteract = (void *)0x05B039B8; const void * RTTI_StateNewContentPrompt = (void *)0x05B03838; const void * RTTI_StateOpenFromInstallMenu = (void *)0x05B03AF0; const void * RTTI_StateOpenFromReset = (void *)0x05B03A68; const void * RTTI_StateOpenFromStartup = (void *)0x05B03B20; const void * RTTI_StateOtherMenuOpen = (void *)0x05B038D0; const void * RTTI_StatePerformingAction = (void *)0x05B03900; const void * RTTI_StateSettingsPanelInteract = (void *)0x05B03898; const void * RTTI_StateSplashScreen = (void *)0x05B03960; const void * RTTI_StateVariableControl = (void *)0x05C99428; const void * RTTI_StateVariableControlInstance = (void *)0x05C99458; const void * RTTI_StateWaitingOnLoad = (void *)0x05B03A38; const void * RTTI_StaticAvoidNodeManager = (void *)0x05BB8788; const void * RTTI_StatusMenu = (void *)0x05B6FFE8; const void * RTTI_SteamVirtualKeyboard = (void *)0x05D68250; const void * RTTI_SteamVirtualKeyboard__CCallbackInternal_OnSteamGamepadTextInputDismissed = (void *)0x05D68440; const void * RTTI_StimpakEffect = (void *)0x05B80878; const void * RTTI_StopFloatingHandler = (void *)0x05BCF4D8; const void * RTTI_StopMountCameraHandler = (void *)0x05BCF2D0; const void * RTTI_StorageSpaceBar = (void *)0x05D556E0; const void * RTTI_StorageTableErrorHandlerService = (void *)0x05CBD2C0; const void * RTTI_StorageTable__AsyncTableColumnBase = (void *)0x05A3E8F8; const void * RTTI_StorageTable__DirectColumnDataStorageInterface = (void *)0x05A3E930; const void * RTTI_StorageTable__StorageDataBase = (void *)0x05A3DAE0; const void * RTTI_StreamingInstallMenu = (void *)0x05B704F8; const void * RTTI_StreamingInstallMenu__StreamingInstallEventShuttle = (void *)0x05B704B0; const void * RTTI_StreamingInstallMenu__StreamingProgressData = (void *)0x05B70460; const void * RTTI_StringUIValue = (void *)0x059F2860; const void * RTTI_SubgraphAndOffsetDBData = (void *)0x05C9A478; const void * RTTI_SubtitleManager = (void *)0x05C56528; const void * RTTI_SummonCreatureEffect = (void *)0x05B808D8; const void * RTTI_SummonDuplicateEffect = (void *)0x05B809B8; const void * RTTI_SummonPlacementEffect = (void *)0x05B80908; const void * RTTI_SupportMaterialHandler = (void *)0x05B9E990; const void * RTTI_SurfaceMapMenu_EnablePointCloud = (void *)0x05B6E9D8; const void * RTTI_SurfaceMapMenu_MarkerClicked = (void *)0x05B6E8B0; const void * RTTI_SurfaceMapMenu_TryPlaceCustomMarker = (void *)0x05B6E940; const void * RTTI_SwapGraphNode = (void *)0x05C98798; const void * RTTI_SwapGraphNodeInstance = (void *)0x05C98768; const void * RTTI_SwitchNode = (void *)0x05C98880; const void * RTTI_SwitchNodeInstance = (void *)0x05C988A8; const void * RTTI_SyncDeferDeathHandler = (void *)0x05BCB090; const void * RTTI_SyncEarlyExitHandler = (void *)0x05BCB640; const void * RTTI_SyncQueueObj = (void *)0x05ACE248; const void * RTTI_TBO_InstanceData = (void *)0x05A55BF0; const void * RTTI_TES = (void *)0x059FD690; const void * RTTI_TESAIForm = (void *)0x05993070; const void * RTTI_TESActorBase = (void *)0x05992AA0; const void * RTTI_TESActorBaseData = (void *)0x05992FC8; const void * RTTI_TESAmmo = (void *)0x05A64250; const void * RTTI_TESAudio__ScriptedMusicState = (void *)0x05B81508; const void * RTTI_TESBipedModelForm = (void *)0x05992F70; const void * RTTI_TESBoundAnimObject = (void *)0x05A606F0; const void * RTTI_TESBoundObject = (void *)0x059D4170; const void * RTTI_TESCamera = (void *)0x05AA3958; const void * RTTI_TESCameraState = (void *)0x05AA9280; const void * RTTI_TESChildCell = (void *)0x05A98A58; const void * RTTI_TESClass = (void *)0x05A82300; const void * RTTI_TESClimate = (void *)0x05A6A450; const void * RTTI_TESCombatStyle = (void *)0x05992AC8; const void * RTTI_TESContainer = (void *)0x05A02E40; const void * RTTI_TESCustomPackageData = (void *)0x05A98350; const void * RTTI_TESDataHandler = (void *)0x05A01278; const void * RTTI_TESDataHandlerPersistentCreatedUtil__BGSPersistentIDsForm = (void *)0x05A00DB0; const void * RTTI_TESDataHandlerPostBuildFileListSource = (void *)0x05B9FE60; const void * RTTI_TESDataHandler__ArchiveRegistrationListener = (void *)0x05A00F60; const void * RTTI_TESDescription = (void *)0x059F59A0; const void * RTTI_TESDialoguePackageData = (void *)0x05995C40; const void * RTTI_TESEffectShader = (void *)0x05A64558; const void * RTTI_TESEnchantableForm = (void *)0x05992F98; const void * RTTI_TESEyes = (void *)0x05A82360; const void * RTTI_TESFaction = (void *)0x05992BB0; const void * RTTI_TESFile = (void *)0x05A01788; const void * RTTI_TESFlora = (void *)0x05A64768; const void * RTTI_TESFloraInstanceData = (void *)0x05A64788; const void * RTTI_TESFollowPackageData = (void *)0x05A98290; const void * RTTI_TESForm = (void *)0x059BD4B8; const void * RTTI_TESFullName = (void *)0x059BDB40; const void * RTTI_TESFurniture = (void *)0x05A63F78; const void * RTTI_TESGlobal = (void *)0x05992CB8; const void * RTTI_TESGrass = (void *)0x05A64AF0; const void * RTTI_TESHandleForm = (void *)0x05A68870; const void * RTTI_TESHavokUtilities__CellHeightFieldCuller = (void *)0x05A86600; const void * RTTI_TESHealthForm = (void *)0x05993090; const void * RTTI_TESIdleForm = (void *)0x05992110; const void * RTTI_TESIdleManager = (void *)0x059FD2D0; const void * RTTI_TESImageSpace = (void *)0x05992930; const void * RTTI_TESImageSpaceModifiableForm = (void *)0x05A03AA8; const void * RTTI_TESImageSpaceModifier = (void *)0x05995048; const void * RTTI_TESKey = (void *)0x05992C48; const void * RTTI_TESLandTexture = (void *)0x05A6A6B8; const void * RTTI_TESLevCharacter = (void *)0x05A64C78; const void * RTTI_TESLevItem = (void *)0x05A64CA0; const void * RTTI_TESLevSpell = (void *)0x05A64DF0; const void * RTTI_TESLeveledList = (void *)0x05992F20; const void * RTTI_TESLoadScreen = (void *)0x05A7DD60; const void * RTTI_TESMagicTargetForm = (void *)0x05A08A70; const void * RTTI_TESModel = (void *)0x059E1CA8; const void * RTTI_TESModelDB__TESAutoQueuedDependentNode = (void *)0x05A01A30; const void * RTTI_TESModelDB__TESQueuedHandles = (void *)0x059FA468; const void * RTTI_TESModelTri = (void *)0x05A81198; const void * RTTI_TESNPC = (void *)0x059952B0; const void * RTTI_TESNPCData__ChargenDataModel = (void *)0x05A5D1A8; const void * RTTI_TESNPC__InstanceData = (void *)0x05A82F38; const void * RTTI_TESObject = (void *)0x059D41F0; const void * RTTI_TESObjectACTI = (void *)0x05A63E00; const void * RTTI_TESObjectANIO = (void *)0x05A65660; const void * RTTI_TESObjectARMA = (void *)0x05994FF0; const void * RTTI_TESObjectARMO = (void *)0x05A65A10; const void * RTTI_TESObjectARMOInstanceData = (void *)0x059923A8; const void * RTTI_TESObjectBOOK = (void *)0x05A65BD0; const void * RTTI_TESObjectCELL = (void *)0x05992050; const void * RTTI_TESObjectCONT = (void *)0x05A65E80; const void * RTTI_TESObjectCONT__InstanceData = (void *)0x05A65E48; const void * RTTI_TESObjectDOOR = (void *)0x05A66768; const void * RTTI_TESObjectLIGH = (void *)0x05A64F78; const void * RTTI_TESObjectMISC = (void *)0x05A64BA0; const void * RTTI_TESObjectREFR = (void *)0x05991FD8; const void * RTTI_TESObjectREFRDef__IAliasFunctor = (void *)0x059F7F70; const void * RTTI_TESObjectREFRDef__IAliasLinkedChildFunctor = (void *)0x059F7F30; const void * RTTI_TESObjectREFRDef__ILinkedReferenceFunctor = (void *)0x059F7FA8; const void * RTTI_TESObjectREFRSync__REFRSyncController = (void *)0x05A7A848; const void * RTTI_TESObjectSTAT = (void *)0x05A61900; const void * RTTI_TESObjectWEAP = (void *)0x05A671D0; const void * RTTI_TESObjectWEAPInstanceData = (void *)0x05A671A0; const void * RTTI_TESPackage = (void *)0x05992B88; const void * RTTI_TESPackedFile = (void *)0x05A01840; const void * RTTI_TESPlanetModel = (void *)0x05992908; const void * RTTI_TESQuest = (void *)0x059BD7B0; const void * RTTI_TESRace = (void *)0x05995638; const void * RTTI_TESRaceForm = (void *)0x05992ED0; const void * RTTI_TESRegion = (void *)0x05A50280; const void * RTTI_TESRegionData = (void *)0x05994BA0; const void * RTTI_TESRegionDataManager = (void *)0x05A502A0; const void * RTTI_TESRegionDataMap = (void *)0x05A502D0; const void * RTTI_TESRegionDataSound = (void *)0x05A502F8; const void * RTTI_TESRegionDataWeather = (void *)0x05994B70; const void * RTTI_TESRegionList = (void *)0x05A50328; const void * RTTI_TESShout = (void *)0x05A80980; const void * RTTI_TESSoulGem = (void *)0x05A67290; const void * RTTI_TESSound = (void *)0x05A80A30; const void * RTTI_TESSpellList = (void *)0x05992EF8; const void * RTTI_TESTexture = (void *)0x05993180; const void * RTTI_TESTopic = (void *)0x05992BD8; const void * RTTI_TESTopicInfo = (void *)0x05992B60; const void * RTTI_TESTrapListener = (void *)0x05A86750; const void * RTTI_TESValueForm = (void *)0x059F5D98; const void * RTTI_TESWaterForm = (void *)0x05992C90; const void * RTTI_TESWaterNormals = (void *)0x05AA1F80; const void * RTTI_TESWaterObject = (void *)0x05AA1FD0; const void * RTTI_TESWaterSystem = (void *)0x05AA1FA8; const void * RTTI_TESWeather = (void *)0x05A7A928; const void * RTTI_TESWeightForm = (void *)0x059F5A20; const void * RTTI_TESWordOfPower = (void *)0x05A80AF8; const void * RTTI_TESWorldSpace = (void *)0x05994B48; const void * RTTI_TES__PostGridLoadNode = (void *)0x059FD660; const void * RTTI_TagField = (void *)0x05D553A0; const void * RTTI_TagPropagationNode = (void *)0x05C98D88; const void * RTTI_TagPropagationNodeInstance = (void *)0x05C98DB8; const void * RTTI_TakeOffInitiateCompleteHandler = (void *)0x05BCB440; const void * RTTI_TakeoffMenu = (void *)0x05B631C0; const void * RTTI_TakeoffMenuDataModel = (void *)0x05B1D108; const void * RTTI_TakeoffMenuDataModel__TakeoffMenuEventShuttle = (void *)0x05B1D040; const void * RTTI_TakeoffMenu_CloseMenu = (void *)0x05B63548; const void * RTTI_TakeoffMenu_ExitShip = (void *)0x05B634C8; const void * RTTI_TakeoffMenu_Launch = (void *)0x05B636A8; const void * RTTI_TargetEntry = (void *)0x05A85140; const void * RTTI_TelekinesisEffect = (void *)0x05B80C58; const void * RTTI_TeleportDoorSearch = (void *)0x05A9B020; const void * RTTI_TempLoadedCellDB__LoadTempDataForCell = (void *)0x059DE190; const void * RTTI_TerminalMenu_CancelEvent = (void *)0x05B717E8; const void * RTTI_TerminalOpenViewCallback = (void *)0x05B714D0; const void * RTTI_TerminalRunResultsCallback = (void *)0x05B71500; const void * RTTI_Terminal_CloseAllViews = (void *)0x05B71868; const void * RTTI_Terminal_CloseTopView = (void *)0x05B718E8; const void * RTTI_Terminal_CloseView = (void *)0x05B71968; const void * RTTI_Terminal_MenuItemClick = (void *)0x05B719E8; const void * RTTI_Terminal__AddAliasedTerminalsFunc = (void *)0x05B72388; const void * RTTI_Terminal__GenesisTerminalMenu = (void *)0x05B71498; const void * RTTI_Terminal__GenesisTerminalMenu_UnlockItemConfirm = (void *)0x05B72410; const void * RTTI_Terminal__GenesisTerminalMenu_UnlockedItemWithKey = (void *)0x05B723C0; const void * RTTI_Terminal__GenesisTerminalMenu__GenesisTerminalMenuEventShuttle = (void *)0x05B71580; const void * RTTI_TerminateGraphRagdollHandler = (void *)0x05BCB4B0; const void * RTTI_TerrainDB__TerrainBarrierNode = (void *)0x05A5A900; const void * RTTI_TerrainDB__TerrainGraphProcessor = (void *)0x05A5A978; const void * RTTI_TestMenu = (void *)0x05B73198; const void * RTTI_TestMenu_DoAction = (void *)0x05B732D0; const void * RTTI_TestMenu_ExitMenu = (void *)0x05B73200; const void * RTTI_TestMenu_ShowImages = (void *)0x05B74B98; const void * RTTI_TestMenu_ShowResources = (void *)0x05B74C18; const void * RTTI_TestMenu_TestAll = (void *)0x05B73268; const void * RTTI_TestMenu__TestMenuEventShuttle = (void *)0x05B72DC0; const void * RTTI_TestReferencedObject = (void *)0x0598A2F8; const void * RTTI_TextInputMenu = (void *)0x05B75808; const void * RTTI_TextInputMenu_EndEditText = (void *)0x05B75878; const void * RTTI_TextInputMenu_InputCanceled = (void *)0x05B75990; const void * RTTI_TextInputMenu_StartEditText = (void *)0x05B75900; const void * RTTI_TextInputMenu__TextInputEventShuttle = (void *)0x05B75A08; const void * RTTI_TextRenderer = (void *)0x05CD5898; const void * RTTI_TextRenderer3D = (void *)0x05A0B138; const void * RTTI_TextureDB__ErrorStreamer = (void *)0x05D0E720; const void * RTTI_TextureDB__Manager = (void *)0x05D0EA18; const void * RTTI_TextureUtils__AutoQueuedDependentNode = (void *)0x05CBAE50; const void * RTTI_TextureUtils__WaitStreamedNode = (void *)0x05CBAEF8; const void * RTTI_ThirdPersonState = (void *)0x05AA9258; const void * RTTI_ThumbstickEvent = (void *)0x05C9D520; const void * RTTI_TimeMultiplierManager = (void *)0x05A4FFB8; const void * RTTI_TimeMultiplierProvider = (void *)0x05A4FF88; const void * RTTI_TimerEvent = (void *)0x05C999C8; const void * RTTI_TimerEventInstance = (void *)0x05C999F0; const void * RTTI_TitleSequenceMenu = (void *)0x05C56B68; const void * RTTI_TitleSequenceMenu_StartMusic = (void *)0x05C56AE0; const void * RTTI_TrackDamageEffect = (void *)0x05B80C80; const void * RTTI_TranslationAdjustment = (void *)0x05C95308; const void * RTTI_TranslationAdjustmentInstance = (void *)0x05C98C98; const void * RTTI_TrapEntry = (void *)0x05A86730; const void * RTTI_TrapTargetEntry = (void *)0x05A85220; const void * RTTI_TraversalCollisionFilter = (void *)0x05A19B50; const void * RTTI_TraversalFinishedHandler = (void *)0x05BCB610; const void * RTTI_TraversalStepDoneHandler = (void *)0x05BCB580; const void * RTTI_TrespassPackage = (void *)0x05BB8970; const void * RTTI_TrianglePathWaterLedgeTraversalSplitter = (void *)0x05CEBF50; const void * RTTI_TurnUndeadEffect = (void *)0x05B80BB8; const void * RTTI_TutorialMessageManager = (void *)0x05B24C30; const void * RTTI_TutorialMessageManager__TutorialMessageEventShuttle = (void *)0x05AEEBD0; const void * RTTI_TweenMenuCameraState = (void *)0x05C489D0; const void * RTTI_TwoBoneIKNode = (void *)0x05C95338; const void * RTTI_TwoBoneIKNodeInstance = (void *)0x05C98CD0; const void * RTTI_TypeRegistryTest__Ref = (void *)0x05984CB0; const void * RTTI_TypeRegistryTest__TypedefChild = (void *)0x05985230; const void * RTTI_UI = (void *)0x05CD2640; const void * RTTI_UIBlurManager = (void *)0x05C56C68; const void * RTTI_UICellRenderer = (void *)0x059EC850; const void * RTTI_UICellRenderer_InventoryItem = (void *)0x059EC948; const void * RTTI_UICellRenderer_InventoryItem__ItemModelLoadTask = (void *)0x059EC900; const void * RTTI_UIDataShuttleConnector = (void *)0x05CD31D0; const void * RTTI_UIDataShuttleContainer = (void *)0x059CE180; const void * RTTI_UIDataShuttleManager = (void *)0x05CD3310; const void * RTTI_UIDataToFlash = (void *)0x059CDBF8; const void * RTTI_UIEventDispatcher = (void *)0x059CE018; const void * RTTI_UIMenuChargenMenuDisablePaperdoll = (void *)0x05B55678; const void * RTTI_UIMessageQueue = (void *)0x05CD26E8; const void * RTTI_UISaveLoadManager = (void *)0x05B9C3A0; const void * RTTI_UI_BarButton = (void *)0x05D55300; const void * RTTI_UI_Button3 = (void *)0x059A11B8; const void * RTTI_UI_Gallery = (void *)0x05D553C0; const void * RTTI_UI_MarkdownText = (void *)0x05D55AA0; const void * RTTI_UI_ScrollingBannerList = (void *)0x05D55240; const void * RTTI_UI_ScrollingList = (void *)0x05D540E8; const void * RTTI_UI_Text = (void *)0x05D538F0; const void * RTTI_UI_Text3 = (void *)0x05D538D0; const void * RTTI_UI_bannerEntry = (void *)0x05D54D30; const void * RTTI_UI_bar = (void *)0x05D53848; const void * RTTI_UI_bottomBar = (void *)0x05D53868; const void * RTTI_UI_detailsPage = (void *)0x05D53B38; const void * RTTI_UI_detailsPage__OnSale = (void *)0x05D53DB8; const void * RTTI_UI_element = (void *)0x05D53250; const void * RTTI_UI_homePage = (void *)0x05D53298; const void * RTTI_UI_image = (void *)0x05D538B0; const void * RTTI_UI_image3 = (void *)0x05D53890; const void * RTTI_UI_listEntry = (void *)0x05D54D58; const void * RTTI_UI_listEntry__OnSale = (void *)0x05D54E48; const void * RTTI_UI_tag = (void *)0x05D55A08; const void * RTTI_UI_topBar = (void *)0x05D55270; const void * RTTI_UncullFurnitureBoneHandler = (void *)0x05BCEF78; const void * RTTI_UncullWeaponsHandler = (void *)0x05BCEF20; const void * RTTI_UniqueAVCollector = (void *)0x05AD0860; const void * RTTI_UnitTest__CopyableReferencedObject = (void *)0x05984C48; const void * RTTI_UnitTest__InterfaceImpl0 = (void *)0x05984EE8; const void * RTTI_UnitTest__InterfaceImpl1 = (void *)0x05984F18; const void * RTTI_UnitTest__InterfaceUnregistered0 = (void *)0x05984F48; const void * RTTI_UnitTest__InterfaceUnregistered1 = (void *)0x05984F80; const void * RTTI_UnitTest__NestedRelArray = (void *)0x05984C18; const void * RTTI_UnitTest__SetterTest__Foo = (void *)0x05984C80; const void * RTTI_UnitTest__SimpleRelArray = (void *)0x05984BE8; const void * RTTI_UnitTest__TypeVm__Record = (void *)0x05984CE0; const void * RTTI_UnitTest__UrlObject__Shape = (void *)0x05984FB8; const void * RTTI_UnitTest__UrlObject__TestGraph = (void *)0x05984FE8; const void * RTTI_UpdateParticleParticleInDirtyAabbsTask = (void *)0x0598E250; const void * RTTI_UpdateRigidBodyDirtyAabbsTask = (void *)0x0598E218; const void * RTTI_UpdateSceneRectEvent = (void *)0x05CD3C48; const void * RTTI_Upsell = (void *)0x05C829B8; const void * RTTI_UseStimpakHandler = (void *)0x05BCB2A0; const void * RTTI_UserContent = (void *)0x05C82BE0; const void * RTTI_VATS = (void *)0x05BD3EC0; const void * RTTI_VATSCameraState = (void *)0x05C48A00; const void * RTTI_VATSUtils__ValidateStrangerLineOfSightGoalToOriginFunctor = (void *)0x05BD3CC0; const void * RTTI_ValueModifierEffect = (void *)0x05B7E918; const void * RTTI_VariableCombiner = (void *)0x05C95440; const void * RTTI_VariableCombinerInstance = (void *)0x05C98D00; const void * RTTI_VehicleBIEvents__VehicleBIEventManager = (void *)0x05AE88B8; const void * RTTI_VehicleCameraState = (void *)0x05AA99A8; const void * RTTI_VehicleRuntimeComponent = (void *)0x05AD54C8; const void * RTTI_VelocityObstacle__Utilities__BuildOpenEdgeListsVisitor = (void *)0x05CFAA00; const void * RTTI_ViewAllEntry = (void *)0x05D55738; const void * RTTI_ViewCaster = (void *)0x05AD0888; const void * RTTI_VirtualPathingDoor = (void *)0x05A0D498; const void * RTTI_WaterPathPathingNodeGenerator = (void *)0x05CFA4E0; const void * RTTI_WaterPathRayValidator = (void *)0x05CFA518; const void * RTTI_WeaponAttachHandler = (void *)0x05BCB178; const void * RTTI_WeaponBeginDrawHandler = (void *)0x05BCE9D8; const void * RTTI_WeaponBeginSheatheHandler = (void *)0x05BCEA08; const void * RTTI_WeaponDetachHandler = (void *)0x05BCB1A8; const void * RTTI_WeaponDrawHandler = (void *)0x05BCE980; const void * RTTI_WeaponEnchantmentController = (void *)0x05B80658; const void * RTTI_WeaponFireEndHandler = (void *)0x05BCF138; const void * RTTI_WeaponFireHandler = (void *)0x05BCF168; const void * RTTI_WeaponFireStartHandler = (void *)0x05BCF108; const void * RTTI_WeaponGroupAssignmentMenu_ChangeWeaponAssignment = (void *)0x059EC000; const void * RTTI_WeaponGroupAssignmentMenu_OnHintButtonActivated = (void *)0x059EBF50; const void * RTTI_WeaponGroupAssignment__WeaponGroupAssignmentMenu = (void *)0x059EBAE0; const void * RTTI_WeaponGroupAssignment__WeaponGroupAssignmentMenu__WeaponGroupAssignmentMenuEventShuttle = (void *)0x059EBD30; const void * RTTI_WeaponSheatheHandler = (void *)0x05BCE9A8; const void * RTTI_WeaponSheatheInterruptHandler = (void *)0x05BCE910; const void * RTTI_WeaponSwingHandler = (void *)0x05BCEB48; const void * RTTI_WeaponsCraftingMenu = (void *)0x05B75CC8; const void * RTTI_Win32FileSystemWatcher = (void *)0x05985548; const void * RTTI_WorkbenchTracking__TrackingSingleton = (void *)0x05B86428; const void * RTTI_WorkshopActionButton_HoldFinished = (void *)0x05B7D718; const void * RTTI_WorkshopActionButton_HoldStopped = (void *)0x05B7DA30; const void * RTTI_WorkshopAreaResourcesDataModel = (void *)0x05B1E8B0; const void * RTTI_WorkshopAreaResourcesDataModel__WorkshopAreaResourcesEventShuttle = (void *)0x05B1E8F0; const void * RTTI_WorkshopBIEvents__WorkshopEventManager = (void *)0x05B82338; const void * RTTI_WorkshopBuilderDataModel = (void *)0x05B1F898; const void * RTTI_WorkshopBuilderDataModel__WorkshopBuilderEventShuttle = (void *)0x05B1F8D0; const void * RTTI_WorkshopBuilderMenu = (void *)0x05B773D0; const void * RTTI_WorkshopBuilderMenu_ChangeBuildItem = (void *)0x05B771B8; const void * RTTI_WorkshopBuilderMenu_SelectedItem = (void *)0x05B77250; const void * RTTI_WorkshopBuilderMenu_ToggleTracking = (void *)0x05B77458; const void * RTTI_WorkshopCamera__CameraHitCollector = (void *)0x05AA9A28; const void * RTTI_WorkshopCamera__WorkshopCharacterProxyListener = (void *)0x05AA9A60; const void * RTTI_WorkshopCategoryBarDataModel = (void *)0x05B1E638; const void * RTTI_WorkshopCategoryBarDataModel__WorkshopCategoryBarEventShuttle = (void *)0x05B1E670; const void * RTTI_WorkshopCategoryInfoDataModel = (void *)0x05B1E228; const void * RTTI_WorkshopCategoryInfoDataModel__WorkshopCategoryInfoEventShuttle = (void *)0x05B1DF90; const void * RTTI_WorkshopColorModeDataModel = (void *)0x05AF0238; const void * RTTI_WorkshopColorModeDataModel__WorkshopColorModeEventShuttle = (void *)0x05AF04F0; const void * RTTI_WorkshopColorMode_ApplyColors = (void *)0x05AF0750; const void * RTTI_WorkshopColorMode_SelectedTab = (void *)0x05AF07E0; const void * RTTI_WorkshopColorMode_SliderChanged = (void *)0x05AF0870; const void * RTTI_WorkshopColorMode_SwatchChanged = (void *)0x05AF0900; const void * RTTI_WorkshopEngine__ActivateItemEvent = (void *)0x05C84F80; const void * RTTI_WorkshopEngine__BulldozeItemEvent = (void *)0x05C87C48; const void * RTTI_WorkshopEngine__CancelEvent = (void *)0x05C87AC8; const void * RTTI_WorkshopEngine__CommitEvent = (void *)0x05C87940; const void * RTTI_WorkshopEngine__ConnectTransferLinkEvent = (void *)0x05C87900; const void * RTTI_WorkshopEngine__ConnectWireEvent = (void *)0x05C877E0; const void * RTTI_WorkshopEngine__CycleBehaviorEvent = (void *)0x05C87A90; const void * RTTI_WorkshopEngine__EditColorsEvent = (void *)0x05C87CB8; const void * RTTI_WorkshopEngine__EditItemEvent = (void *)0x05C878C8; const void * RTTI_WorkshopEngine__EngineFrame = (void *)0x05C85320; const void * RTTI_WorkshopEngine__ExitEvent = (void *)0x05C87978; const void * RTTI_WorkshopEngine__FinishRepairEvent = (void *)0x05C879E8; const void * RTTI_WorkshopEngine__InspectColorItemsEvent = (void *)0x05C84F40; const void * RTTI_WorkshopEngine__ItemCombatChangedEvent = (void *)0x05C879A8; const void * RTTI_WorkshopEngine__NewItemEvent = (void *)0x05C87818; const void * RTTI_WorkshopEngine__PlaceOutpostEvent = (void *)0x05C87770; const void * RTTI_WorkshopEngine__PreviewColorsEvent = (void *)0x05C87C80; const void * RTTI_WorkshopEngine__RemoveItemEvent = (void *)0x05C87890; const void * RTTI_WorkshopEngine__RemoveOutpostEvent = (void *)0x05C87A20; const void * RTTI_WorkshopEngine__RemoveSingleWorkshopItemEvent = (void *)0x05C87B80; const void * RTTI_WorkshopEngine__RemoveWorkshopItemsEvent = (void *)0x05C87BC8; const void * RTTI_WorkshopEngine__RequestRepairItemEvent = (void *)0x05C87850; const void * RTTI_WorkshopEngine__ResetColorsToDefaultEvent = (void *)0x05C87C08; const void * RTTI_WorkshopEngine__RevertBehaviorEvent = (void *)0x05C87B38; const void * RTTI_WorkshopEngine__RotateItemEvent = (void *)0x05C87B00; const void * RTTI_WorkshopEngine__StartQuickMenuEvent = (void *)0x05C876F8; const void * RTTI_WorkshopEngine__StartSnappedEvent = (void *)0x05C87A58; const void * RTTI_WorkshopEngine__StartWorkshopEvent = (void *)0x05C87738; const void * RTTI_WorkshopEngine__StateBulldoze = (void *)0x05C85738; const void * RTTI_WorkshopEngine__StateCreatePowerLink = (void *)0x05C85600; const void * RTTI_WorkshopEngine__StateCreateReferences = (void *)0x05C84FF0; const void * RTTI_WorkshopEngine__StateCreateTransferLink = (void *)0x05C853C8; const void * RTTI_WorkshopEngine__StateCycleSnapBehavior = (void *)0x05C856B8; const void * RTTI_WorkshopEngine__StateDuplicateReferences = (void *)0x05C85150; const void * RTTI_WorkshopEngine__StateIdle = (void *)0x05C85030; const void * RTTI_WorkshopEngine__StateInspect = (void *)0x05C85868; const void * RTTI_WorkshopEngine__StateInspectColorItems = (void *)0x05C856F8; const void * RTTI_WorkshopEngine__StateModifyColors = (void *)0x05C85770; const void * RTTI_WorkshopEngine__StatePostCommitEdit = (void *)0x05C85828; const void * RTTI_WorkshopEngine__StateSetupReferences = (void *)0x05C850D8; const void * RTTI_WorkshopEngine__StateUpdateAutoFoundation = (void *)0x05C857E8; const void * RTTI_WorkshopEngine__StateUpdateCommitSnapEdit = (void *)0x05C857A8; const void * RTTI_WorkshopEngine__StateUpdatePlacement = (void *)0x05C85098; const void * RTTI_WorkshopEngine__StateUpdatePowerLink = (void *)0x05C855C0; const void * RTTI_WorkshopEngine__StateUpdateSnapped = (void *)0x05C85358; const void * RTTI_WorkshopEngine__StateUpdateTransferLink = (void *)0x05C85678; const void * RTTI_WorkshopEngine__StateWait3D = (void *)0x05C85118; const void * RTTI_WorkshopEngine__TrackItemEvent = (void *)0x05C84F08; const void * RTTI_WorkshopEngine__UntrackItemEvent = (void *)0x05C84ED0; const void * RTTI_WorkshopEngine__UpdateEvent = (void *)0x05C877A8; const void * RTTI_WorkshopHavokUtils__AutoFoundationHeightCastCollisionfilter = (void *)0x05AA6110; const void * RTTI_WorkshopHavokUtils__ClosestCanHaveAutoFoundationsCollector = (void *)0x05AA8290; const void * RTTI_WorkshopHavokUtils__ForwardCastCollector = (void *)0x05AA6258; const void * RTTI_WorkshopHavokUtils__GroundInfoCollisionfilter = (void *)0x05AA8A40; const void * RTTI_WorkshopHavokUtils__IgnoreBulldozedReferencesCollisionFilter = (void *)0x05AA6200; const void * RTTI_WorkshopHavokUtils__IntersectionTestCollisionfilter = (void *)0x05AA6070; const void * RTTI_WorkshopHavokUtils__ItemPlacementForwardCastCollector = (void *)0x05AA7D40; const void * RTTI_WorkshopHavokUtils__TempItemPlacementCollector = (void *)0x05C87F60; const void * RTTI_WorkshopHavokUtils__WorkshopClosestHitGroundCollector = (void *)0x05AA7D90; const void * RTTI_WorkshopHavokUtils__WorkshopGroundCollector = (void *)0x05AA7CF0; const void * RTTI_WorkshopHavokUtils__hknpWorkshopCastCollector = (void *)0x05AA60C0; const void * RTTI_WorkshopHavokUtils__hknpWorkshopIntersectCollector = (void *)0x05AA61B0; const void * RTTI_WorkshopHighlightUtils__EventListener = (void *)0x05C87CF0; const void * RTTI_WorkshopInteractiveMessageDataModel = (void *)0x05B1FC48; const void * RTTI_WorkshopInteractiveMessageDataModel__ICallback = (void *)0x05B7AF00; const void * RTTI_WorkshopInteractiveMessageDataModel__WorkshopInteractiveMessageEventShuttle = (void *)0x05B1FB30; const void * RTTI_WorkshopIsoCameraState = (void *)0x05C489A0; const void * RTTI_WorkshopLOD__WorkshopLODManager = (void *)0x05C83AB8; const void * RTTI_WorkshopMenu = (void *)0x05B7AC18; const void * RTTI_WorkshopMenuShared = (void *)0x05B7D9A8; const void * RTTI_WorkshopMenu_AttemptBuild = (void *)0x05B7AEC8; const void * RTTI_WorkshopMenu_CancelAction = (void *)0x05B7B098; const void * RTTI_WorkshopMenu_ChangeVariant = (void *)0x05B7B120; const void * RTTI_WorkshopMenu_ConnectionEvent = (void *)0x05B7AAF0; const void * RTTI_WorkshopMenu_ExitMenu = (void *)0x05B7B018; const void * RTTI_WorkshopMenu_MessageCallback = (void *)0x05B7AD20; const void * RTTI_WorkshopMenu_SelectedCategory = (void *)0x05B7ADB0; const void * RTTI_WorkshopMenu_SelectedGridObject = (void *)0x05B7AE40; const void * RTTI_WorkshopMenu_ShowExtras = (void *)0x05B7AA68; const void * RTTI_WorkshopMenu_SwitchMode = (void *)0x05B7AF98; const void * RTTI_WorkshopMenu_ToggleDistance = (void *)0x05B7A960; const void * RTTI_WorkshopMenu_ToggleTracking = (void *)0x05B7AC90; const void * RTTI_WorkshopMenu_ToggleView = (void *)0x05B7A9E8; const void * RTTI_WorkshopMessageDataModel = (void *)0x05B1FD68; const void * RTTI_WorkshopMessageDataModel__WorkshopMessageEventShuttle = (void *)0x05B1FDA0; const void * RTTI_WorkshopObjectInfoCardDataModel = (void *)0x05B1DB08; const void * RTTI_WorkshopObjectInfoCardDataModel__WorkshopObjectInfoCardEventShuttle = (void *)0x05B1DB40; const void * RTTI_WorkshopOperations__CandidateSnapper = (void *)0x05C88098; const void * RTTI_WorkshopPickRefDataModel = (void *)0x05B20218; const void * RTTI_WorkshopPickRefDataModel__WorkshopPickRefEventShuttle = (void *)0x05B20040; const void * RTTI_WorkshopQuickMenu = (void *)0x05B7BAC8; const void * RTTI_WorkshopQuickMenuDataModel = (void *)0x05B20500; const void * RTTI_WorkshopQuickMenuDataModel__WorkshopQuickMenuEventShuttle = (void *)0x05B203C0; const void * RTTI_WorkshopQuickMenu_ConfirmAction = (void *)0x05B7BBD0; const void * RTTI_WorkshopQuickMenu_ExitMenu = (void *)0x05B7BB40; const void * RTTI_WorkshopResources__WorkshopResourcesManager = (void *)0x05AA85A0; const void * RTTI_WorkshopShared_SetActionHandles = (void *)0x05B7D7A0; const void * RTTI_WorkshopShared_StartAction = (void *)0x05B7D830; const void * RTTI_WorkshopStateDataModel = (void *)0x05B21118; const void * RTTI_WorkshopStateDataModel__WorkshopStateEventShuttle = (void *)0x05B211A0; const void * RTTI_WorkshopStatusDataModel = (void *)0x05AF0A08; const void * RTTI_WorkshopStatusDataModel__WorkshopStatusEventShuttle = (void *)0x05AF0A90; const void * RTTI_WorkshopTargetMenu = (void *)0x05B7CBA8; const void * RTTI_WorkshopTargetMenu_TargetHovered = (void *)0x05B7CC30; const void * RTTI_WorkshopTargetMenu_TargetPicked = (void *)0x05B7CCC0; const void * RTTI_WorkshopTargetMenu__OutpostData = (void *)0x05B7C740; const void * RTTI_WorkshopTargetMenu__ResourceData = (void *)0x05B7CEA0; const void * RTTI_WorkshopTargetMenu__SourceData = (void *)0x05B7C8A0; const void * RTTI_WorkshopTargetMenu__TargetData = (void *)0x05B7CE68; const void * RTTI_WorkshopTargetMenu__TargetMenuData = (void *)0x05B7C538; const void * RTTI_WorkshopTargetMenu__WorkshopTargetEventShuttle = (void *)0x05B7CEE0; const void * RTTI_WorkshopUI__ConfirmDeferDeleteCallback = (void *)0x05C89208; const void * RTTI_WorkshopUI__StateBulldoze = (void *)0x05C89550; const void * RTTI_WorkshopUI__StateIdle = (void *)0x05C894E8; const void * RTTI_WorkshopUI__StateInspectColors = (void *)0x05C89518; const void * RTTI_WorkshopUI__StateInspectIdle = (void *)0x05C89310; const void * RTTI_WorkshopUI__StateInspectItem = (void *)0x05C89380; const void * RTTI_WorkshopUI__StateModifyColors = (void *)0x05C89580; const void * RTTI_WorkshopUI__StateUpdateExistingItemPlacement = (void *)0x05C894A0; const void * RTTI_WorkshopUI__StateUpdateNewDeployablePlacement = (void *)0x05C89450; const void * RTTI_WorkshopUI__StateUpdateNewItemPlacement = (void *)0x05C892D0; const void * RTTI_WorkshopUI__StateUpdateTransferLinkPlacement = (void *)0x05C893C0; const void * RTTI_WorkshopUI__StateUpdateWirePlacement = (void *)0x05C89408; const void * RTTI_WorkshopUI__UIStateMachine = (void *)0x05C896F8; const void * RTTI_Workshop_BlueprintMenu = (void *)0x05B7D1F0; const void * RTTI_Workshop__BulldozeOnlyWorkshopItem = (void *)0x05C875E8; const void * RTTI_Workshop__DecoratedHabWorkshopItem = (void *)0x05AA82E0; const void * RTTI_Workshop__ExtraData = (void *)0x05AA78D0; const void * RTTI_Workshop__InventoryItemWorkshopItem = (void *)0x05C87620; const void * RTTI_Workshop__MainStatusHandler = (void *)0x05AA59D8; const void * RTTI_Workshop__PackinWorkshopItem = (void *)0x05AA81D8; const void * RTTI_Workshop__PowerLinkWorkshopItem = (void *)0x05C87660; const void * RTTI_Workshop__SingleWorkshopItem = (void *)0x05AA8160; const void * RTTI_Workshop__TESObjectREFRGameEventListener = (void *)0x05C87448; const void * RTTI_Workshop__TransferLinkWorkshopItem = (void *)0x05C875B0; const void * RTTI_Workshop__WireWorkshopItem = (void *)0x05C87D30; const void * RTTI_Workshop__WorkshopMenuNode = (void *)0x05AA6298; const void * RTTI_Workshop__WorkshopMenuNodeBuildableObject = (void *)0x05AA6528; const void * RTTI_Workshop__WorkshopMenuNodeBulldozer = (void *)0x05AA6568; const void * RTTI_Workshop__WorkshopMenuNodeDecoratedHab = (void *)0x05C87F18; const void * RTTI_Workshop__WorkshopMenuNodeLockLevel = (void *)0x05AA64E8; const void * RTTI_Workshop__WorkshopMenuNodeOutpost = (void *)0x05AA6030; const void * RTTI_Workshop__WorkshopStatisticsEventSink = (void *)0x05C874E0; const void * RTTI_ZeroOverheadHeap = (void *)0x05C9CB38; const void * RTTI_ZeroPitchHandler = (void *)0x05BCEBA8; const void * RTTI_ZoneEntry = (void *)0x05A85120; const void * RTTI_allCreationsDownloadedCallback = (void *)0x05C819E0; const void * RTTI_bhkBipedOrientationController = (void *)0x05CAC620; const void * RTTI_bhkBlockStreamAllocatorBase = (void *)0x05CA2B30; const void * RTTI_bhkCharProxyController = (void *)0x05CA6620; const void * RTTI_bhkCharProxyControllerCinfo = (void *)0x05CA6650; const void * RTTI_bhkCharProxyManager = (void *)0x05CA3820; const void * RTTI_bhkCharRigidBodyController = (void *)0x05CA7620; const void * RTTI_bhkCharRigidBodyControllerCinfo = (void *)0x05CA7820; const void * RTTI_bhkCharRigidBodyManager = (void *)0x05CA37F0; const void * RTTI_bhkCharacterCollisionHandler = (void *)0x05BB6C10; const void * RTTI_bhkCharacterController = (void *)0x05CA63B8; const void * RTTI_bhkCharacterControllerCinfo = (void *)0x05CA62F8; const void * RTTI_bhkCharacterControllerShapeManager = (void *)0x05CA6010; const void * RTTI_bhkCharacterControllerShapeManager__hknpConvexShapeEx = (void *)0x05CA5EA0; const void * RTTI_bhkCharacterPointCollector = (void *)0x05CACA50; const void * RTTI_bhkCharacterProxy = (void *)0x05CA65F8; const void * RTTI_bhkCharacterRigidBody = (void *)0x05CA7858; const void * RTTI_bhkCharacterRigidBodyCinfo = (void *)0x05CA78C0; const void * RTTI_bhkCharacterStateClimbing = (void *)0x05CA6418; const void * RTTI_bhkCharacterStateFloating = (void *)0x05CAC8B8; const void * RTTI_bhkCharacterStateFlying = (void *)0x05CA63E8; const void * RTTI_bhkCharacterStateInAir = (void *)0x05CAC888; const void * RTTI_bhkCharacterStateJumping = (void *)0x05CAC858; const void * RTTI_bhkCharacterStateOnGround = (void *)0x05CAC828; const void * RTTI_bhkCharacterStateSpaceship = (void *)0x05CA0C58; const void * RTTI_bhkCharacterStateSwimming = (void *)0x05CA75F0; const void * RTTI_bhkCollisionFilter = (void *)0x05CA59C8; const void * RTTI_bhkICharOrientationController = (void *)0x05CA6330; const void * RTTI_bhkIWorldStepListener = (void *)0x05AA18B8; const void * RTTI_bhkMemorySystem = (void *)0x05CAC518; const void * RTTI_bhkMultithreadedSystem = (void *)0x05CA6E70; const void * RTTI_bhkNPCollisionObject = (void *)0x05BB0B28; const void * RTTI_bhkNPCollisionObjectUnlinked = (void *)0x05BB0BB0; const void * RTTI_bhkNPCollisionObjectUnlinked__LinkExtraData = (void *)0x05CA4520; const void * RTTI_bhkNPCollisionProxyObject = (void *)0x05CA4568; const void * RTTI_bhkNPModelNodeComponent = (void *)0x05A0C298; const void * RTTI_bhkParticlesManagerModifier = (void *)0x05CA3D08; const void * RTTI_bhkPhysicsSystem = (void *)0x05CA5B40; const void * RTTI_bhkQuadOrientationController = (void *)0x05CAC8E8; const void * RTTI_bhkRagdollPenetrationManager = (void *)0x05CABF58; const void * RTTI_bhkRagdollSystem = (void *)0x05CA5B68; const void * RTTI_bhkRandomVelocityGenerator__INISettingCollectionEx = (void *)0x05CA5060; const void * RTTI_bhkRandomVelocityGenerator__INISettingEx = (void *)0x05CA50A8; const void * RTTI_bhkThreadMemorySource = (void *)0x05CACF68; const void * RTTI_bhkThreadMemorySource__RowBlockAllocatorImpl = (void *)0x05CACF20; const void * RTTI_bhkThreadPool = (void *)0x05CA7088; const void * RTTI_bhkTrapListener = (void *)0x05A86778; const void * RTTI_bhkVehicleSetup = (void *)0x05AD5ED8; const void * RTTI_bhkWorld = (void *)0x05CA0BF8; const void * RTTI_bhkWorldM = (void *)0x05CA67E8; const void * RTTI_bnet__Account__ExternalAuthInfo = (void *)0x05D5CA60; const void * RTTI_bnet__AsyncOperationProxy = (void *)0x05D55B30; const void * RTTI_bnet__Mods__BaseUpdatePreferenceInfo = (void *)0x05D61B10; const void * RTTI_bnet__Mods__UpdateContentPreferenceInfo = (void *)0x05D61B50; const void * RTTI_bnet__impl__AsyncOperation = (void *)0x05D56E50; const void * RTTI_bps__client__BIEventClient__BulkEventsResult = (void *)0x059C5D50; const void * RTTI_bps__client__BIEventClient__CreateSessionResult = (void *)0x05C899B0; const void * RTTI_bps__client__BaseRequestImpl = (void *)0x05C89850; const void * RTTI_bps__client__Services = (void *)0x05C8A410; const void * RTTI_castTest__Interface0 = (void *)0x05984DF8; const void * RTTI_castTest__Interface1 = (void *)0x05984E28; const void * RTTI_castTest__Interface2 = (void *)0x05984E58; const void * RTTI_castTest__InterfaceBase = (void *)0x05984D90; const void * RTTI_castTest__InterfaceOtherBase = (void *)0x05984DC0; const void * RTTI_castTest__Leaf = (void *)0x05984D38; const void * RTTI_castTest__OtherLeaf = (void *)0x05984D60; const void * RTTI_castTest__Root = (void *)0x05984D10; const void * RTTI_castTest__WithInterfaces = (void *)0x05984E88; const void * RTTI_downloadConfirmResetCallback = (void *)0x05C81A18; const void * RTTI_errorCallback = (void *)0x05AE2EA8; const void * RTTI_hclAction = (void *)0x05BB4D50; const void * RTTI_hclAntiPinchConstraintInstanceData = (void *)0x0598A2B8; const void * RTTI_hclAntiPinchConstraintSet = (void *)0x05988E28; const void * RTTI_hclBSClothParameterizedWindAction = (void *)0x05CAC570; const void * RTTI_hclBSClothPickingAction = (void *)0x05BB4D70; const void * RTTI_hclBSWorld = (void *)0x05CA21B8; const void * RTTI_hclBendLinkConstraintSet = (void *)0x05988E58; const void * RTTI_hclBendLinkConstraintSetMx = (void *)0x05988E88; const void * RTTI_hclBendStiffnessConstraintSet = (void *)0x05988EC0; const void * RTTI_hclBendStiffnessConstraintSetMx = (void *)0x05988EF8; const void * RTTI_hclBlendOperatorInstanceData = (void *)0x05988B58; const void * RTTI_hclBlendSomeVerticesOperator = (void *)0x05988B20; const void * RTTI_hclBonePlanesConstraintSet = (void *)0x05988F30; const void * RTTI_hclBoneSpaceMeshMeshDeformOperator = (void *)0x05989180; const void * RTTI_hclBoneSpaceMeshMeshDeformPNOperator = (void *)0x059891C0; const void * RTTI_hclBoneSpaceMeshMeshDeformPNTBOperator = (void *)0x05989200; const void * RTTI_hclBoneSpaceMeshMeshDeformPNTOperator = (void *)0x05989240; const void * RTTI_hclBoneSpaceMeshMeshDeformPOperator = (void *)0x05989280; const void * RTTI_hclBoneSpaceSkinOperator = (void *)0x059892C0; const void * RTTI_hclBoneSpaceSkinPNOperator = (void *)0x059892F0; const void * RTTI_hclBoneSpaceSkinPNTBOperator = (void *)0x05989328; const void * RTTI_hclBoneSpaceSkinPNTOperator = (void *)0x05989360; const void * RTTI_hclBoneSpaceSkinPOperator = (void *)0x05989398; const void * RTTI_hclBoneSpaceTransferSimulationOperator = (void *)0x0598A0B8; const void * RTTI_hclBuffer = (void *)0x05CA4A10; const void * RTTI_hclBufferDefinition = (void *)0x059889D0; const void * RTTI_hclCapsuleShape = (void *)0x05988CC0; const void * RTTI_hclClothContainer = (void *)0x05989158; const void * RTTI_hclClothData = (void *)0x05988A28; const void * RTTI_hclClothInstance = (void *)0x05988950; const void * RTTI_hclClothLeafShapeSensor = (void *)0x059909A8; const void * RTTI_hclClothPickingAction = (void *)0x05BB4D20; const void * RTTI_hclClothState = (void *)0x05988A00; const void * RTTI_hclClothStateInstanceData = (void *)0x059898C8; const void * RTTI_hclCollidable = (void *)0x05988978; const void * RTTI_hclCollisionConvexes = (void *)0x05990AD8; const void * RTTI_hclCollisionTriangles = (void *)0x05990AA8; const void * RTTI_hclCompressibleLinkConstraintSet = (void *)0x05988F68; const void * RTTI_hclCompressibleLinkConstraintSetMx = (void *)0x05988FA0; const void * RTTI_hclConstraintSet = (void *)0x05988AA8; const void * RTTI_hclConstraintStiffnessDispatcher = (void *)0x05989FA8; const void * RTTI_hclConvexGeometryShape = (void *)0x05988CE8; const void * RTTI_hclConvexHeightFieldShape = (void *)0x05988D18; const void * RTTI_hclConvexPlanesShape = (void *)0x05988D48; const void * RTTI_hclCopyVerticesOperator = (void *)0x059897E0; const void * RTTI_hclFullClothTask = (void *)0x0598A138; const void * RTTI_hclGatherAllVerticesOperator = (void *)0x05989810; const void * RTTI_hclGatherSomeVerticesOperator = (void *)0x05989848; const void * RTTI_hclInputConvertOperator = (void *)0x059893C8; const void * RTTI_hclLocalRangeConstraintSet = (void *)0x05988FE0; const void * RTTI_hclMeshBoneDeformOperator = (void *)0x05989428; const void * RTTI_hclMeshMeshDeformOperator = (void *)0x05989490; const void * RTTI_hclMoveParticlesOperator = (void *)0x059894C0; const void * RTTI_hclObjectSpaceMeshMeshDeformOperator = (void *)0x059894F0; const void * RTTI_hclObjectSpaceMeshMeshDeformPNOperator = (void *)0x05989530; const void * RTTI_hclObjectSpaceMeshMeshDeformPNTBOperator = (void *)0x05989570; const void * RTTI_hclObjectSpaceMeshMeshDeformPNTOperator = (void *)0x059895B0; const void * RTTI_hclObjectSpaceMeshMeshDeformPOperator = (void *)0x059895F0; const void * RTTI_hclObjectSpaceSkinOperator = (void *)0x05989630; const void * RTTI_hclObjectSpaceSkinPNOperator = (void *)0x05989668; const void * RTTI_hclObjectSpaceSkinPNTBOperator = (void *)0x059896A0; const void * RTTI_hclObjectSpaceSkinPNTOperator = (void *)0x059896D8; const void * RTTI_hclObjectSpaceSkinPOperator = (void *)0x05989710; const void * RTTI_hclObjectSpaceTransferSimulationOperator = (void *)0x0598A0F8; const void * RTTI_hclOperator = (void *)0x05988A80; const void * RTTI_hclOperatorSequenceTask = (void *)0x0598A160; const void * RTTI_hclOutputConvertOperator = (void *)0x059893F8; const void * RTTI_hclPlaneShape = (void *)0x05988D78; const void * RTTI_hclPointContactPlanesShape = (void *)0x05989FE0; const void * RTTI_hclPostExecuteClothTask = (void *)0x0598A1C0; const void * RTTI_hclPreExecuteClothTask = (void *)0x0598A190; const void * RTTI_hclScratchBuffer = (void *)0x05990B08; const void * RTTI_hclScratchBufferDefinition = (void *)0x0598A018; const void * RTTI_hclShadowBuffer = (void *)0x05990B30; const void * RTTI_hclShadowBufferDefinition = (void *)0x0598A050; const void * RTTI_hclShape = (void *)0x05988CA0; const void * RTTI_hclSimClothData = (void *)0x05988AF8; const void * RTTI_hclSimClothInstance = (void *)0x059889A0; const void * RTTI_hclSimClothPose = (void *)0x05988AD0; const void * RTTI_hclSimpleMeshBoneDeformOperator = (void *)0x05989458; const void * RTTI_hclSimpleWindAction = (void *)0x05CAC540; const void * RTTI_hclSimulateOperator = (void *)0x05988DF8; const void * RTTI_hclSimulateOperatorInstanceData = (void *)0x05988C68; const void * RTTI_hclSkinOperator = (void *)0x05989748; const void * RTTI_hclSphereShape = (void *)0x05988DA0; const void * RTTI_hclStandardLinkConstraintSet = (void *)0x05989018; const void * RTTI_hclStandardLinkConstraintSetMx = (void *)0x05989050; const void * RTTI_hclStateDependencyGraph = (void *)0x05988A50; const void * RTTI_hclStateTransition = (void *)0x05988B90; const void * RTTI_hclStaticShadowBuffer = (void *)0x05990B58; const void * RTTI_hclStaticShadowBufferDefinition = (void *)0x0598A080; const void * RTTI_hclStretchLinkConstraintSet = (void *)0x05989088; const void * RTTI_hclStretchLinkConstraintSetMx = (void *)0x059890C0; const void * RTTI_hclTaperedCapsuleShape = (void *)0x05988DC8; const void * RTTI_hclTransformSetDefinition = (void *)0x05988BC0; const void * RTTI_hclTransitionConstraintInstanceData = (void *)0x05988C28; const void * RTTI_hclTransitionConstraintSet = (void *)0x05988BF0; const void * RTTI_hclUpdateAllVertexFramesOperator = (void *)0x05989770; const void * RTTI_hclUpdateSomeVertexFramesOperator = (void *)0x059897A8; const void * RTTI_hclVdbObjectNode__SimulateOperatorInstanceData = (void *)0x05989880; const void * RTTI_hclVolumeConstraint = (void *)0x059890F8; const void * RTTI_hclVolumeConstraintInstanceData = (void *)0x0598A248; const void * RTTI_hclVolumeConstraintMx = (void *)0x05989128; const void * RTTI_hclVolumeConstraintMxInstanceData = (void *)0x0598A280; const void * RTTI_hclWorld = (void *)0x05CA2130; const void * RTTI_hctClothSetup20151Options = (void *)0x05984B58; const void * RTTI_hctClothSetupClothData20151Options = (void *)0x05984B18; const void * RTTI_hctClothSetupObjectData20151 = (void *)0x05984AE0; const void * RTTI_hkBSErrorEmpty = (void *)0x05CA6BD8; const void * RTTI_hkBaseObject = (void *)0x059C31E8; const void * RTTI_hkBlockStreamAllocator = (void *)0x05CA2BD8; const void * RTTI_hkBlockStreamCommandWriter = (void *)0x0598F360; const void * RTTI_hkBmpFileFormat = (void *)0x05990C18; const void * RTTI_hkBsdSocket = (void *)0x05988690; const void * RTTI_hkBufferedStreamReader = (void *)0x059874E8; const void * RTTI_hkBufferedStreamWriter = (void *)0x05987518; const void * RTTI_hkConcurrency = (void *)0x0598F2C0; const void * RTTI_hkDdsFileFormat = (void *)0x05990BF0; const void * RTTI_hkDebugCommandProcessor = (void *)0x0598B7A8; const void * RTTI_hkDebugDisplay = (void *)0x0598A508; const void * RTTI_hkDebugDisplayHandler = (void *)0x0598A460; const void * RTTI_hkDefaultCompoundMeshBody = (void *)0x0598FFB8; const void * RTTI_hkDefaultCompoundMeshShape = (void *)0x0598FF80; const void * RTTI_hkDefaultError = (void *)0x05CA2A78; const void * RTTI_hkDefaultTaskQueue = (void *)0x059877B0; const void * RTTI_hkDefaultTaskQueueDetail__AsyncThreadPoolContext = (void *)0x05987930; const void * RTTI_hkDefaultTaskQueueDetail__BlockingThreadContext = (void *)0x05987890; const void * RTTI_hkDefaultTaskQueueDetail__SpinningThreadContext = (void *)0x059878E0; const void * RTTI_hkDefaultTaskQueueEx__ExecutionContext = (void *)0x05987A48; const void * RTTI_hkDefaultTaskQueue__CriticalSection = (void *)0x059877E0; const void * RTTI_hkDefaultTaskQueue__EmptyTask = (void *)0x05987858; const void * RTTI_hkDefaultTaskQueue__ThreadContext = (void *)0x05987820; const void * RTTI_hkDisplayAABB = (void *)0x0598A4E0; const void * RTTI_hkDisplayCapsule = (void *)0x0598A490; const void * RTTI_hkDisplayGeometry = (void *)0x0598A438; const void * RTTI_hkDisplaySphere = (void *)0x0598A4B8; const void * RTTI_hkDisplayWireframe = (void *)0x0598A530; const void * RTTI_hkErrStream = (void *)0x059855E0; const void * RTTI_hkError = (void *)0x05CA2B10; const void * RTTI_hkErrorRouter = (void *)0x05987AB0; const void * RTTI_hkFileSystem = (void *)0x05A855D8; const void * RTTI_hkFileSystem__Watcher = (void *)0x059854B0; const void * RTTI_hkGeometry = (void *)0x059853B8; const void * RTTI_hkGeometryUtils__IVertices = (void *)0x059914E8; const void * RTTI_hkHardwareInfo = (void *)0x05987A88; const void * RTTI_hkHdrFileFormat = (void *)0x05990C68; const void * RTTI_hkImageConversionStep = (void *)0x05990C90; const void * RTTI_hkImageConversion_AddAlpha = (void *)0x05990DA8; const void * RTTI_hkImageConversion_Decode555 = (void *)0x059912F8; const void * RTTI_hkImageConversion_DiscardChannels = (void *)0x059912C0; const void * RTTI_hkImageConversion_FLOAT16_to_32 = (void *)0x05990FF8; const void * RTTI_hkImageConversion_FLOAT32_to_16 = (void *)0x05990FC0; const void * RTTI_hkImageConversion_FLOAT_to_R11G11B10 = (void *)0x059911C0; const void * RTTI_hkImageConversion_FLOAT_to_SNORM8 = (void *)0x05990F08; const void * RTTI_hkImageConversion_FLOAT_to_UNORM16 = (void *)0x05990F40; const void * RTTI_hkImageConversion_FLOAT_to_UNORM8 = (void *)0x05990ED0; const void * RTTI_hkImageConversion_FLOAT_to_UNORM8_SRGB = (void *)0x05990F80; const void * RTTI_hkImageConversion_Pad_to_RGBA32 = (void *)0x05991150; const void * RTTI_hkImageConversion_Pad_to_RGBA8 = (void *)0x05991188; const void * RTTI_hkImageConversion_R11G11B10_to_FLOAT = (void *)0x05991200; const void * RTTI_hkImageConversion_R11G11B10_to_HALF = (void *)0x05991240; const void * RTTI_hkImageConversion_R32_G32_B32_FLOAT_to_B8_G8_R8_UNSIGNED_NORMALIZED = (void *)0x05991030; const void * RTTI_hkImageConversion_R32_G32_B32_FLOAT_to_R8_G8_B8_A8_UNSIGNED_NORMALIZED = (void *)0x059910F0; const void * RTTI_hkImageConversion_R32_G32_B32_FLOAT_to_R8_G8_B8_UNSIGNED_NORMALIZED = (void *)0x05991090; const void * RTTI_hkImageConversion_R8G8B8A8_to_R8G8B8 = (void *)0x05991280; const void * RTTI_hkImageConversion_SNORM8_to_FLOAT = (void *)0x05990E18; const void * RTTI_hkImageConversion_SetAlpha = (void *)0x05990D70; const void * RTTI_hkImageConversion_UNORM16_to_FLOAT = (void *)0x05990E50; const void * RTTI_hkImageConversion_UNORM8_SRGB_to_FLOAT = (void *)0x05990E90; const void * RTTI_hkImageConversion_UNORM8_to_FLOAT = (void *)0x05990DE0; const void * RTTI_hkImageRef = (void *)0x05990208; const void * RTTI_hkImageSwizzleConversion32_2103 = (void *)0x05990D38; const void * RTTI_hkIndexedTransformSet = (void *)0x05990150; const void * RTTI_hkIo__Detail__ArrayWriteBufferImpl = (void *)0x05986FD8; const void * RTTI_hkIo__Detail__ReadBufferImpl = (void *)0x05986EF8; const void * RTTI_hkIo__Detail__StreamReaderImpl = (void *)0x05986F30; const void * RTTI_hkIo__Detail__StreamWriteBufferImpl = (void *)0x05986FA0; const void * RTTI_hkKeycodeData = (void *)0x05990338; const void * RTTI_hkLifoAllocator = (void *)0x059852C8; const void * RTTI_hkLocalFrameGroup = (void *)0x05986C28; const void * RTTI_hkLog__Output = (void *)0x05985390; const void * RTTI_hkMallocAllocator = (void *)0x05988708; const void * RTTI_hkMemoryAllocator = (void *)0x05CAC4C8; const void * RTTI_hkMemoryMeshBody = (void *)0x0598FFE8; const void * RTTI_hkMemoryMeshMaterial = (void *)0x05990040; const void * RTTI_hkMemoryMeshShape = (void *)0x05990070; const void * RTTI_hkMemoryMeshTexture = (void *)0x05990010; const void * RTTI_hkMemoryMeshTexture__Sampler = (void *)0x05990278; const void * RTTI_hkMemoryMeshVertexBuffer = (void *)0x059902E0; const void * RTTI_hkMemoryResourceContainer = (void *)0x05986B90; const void * RTTI_hkMemoryResourceHandle = (void *)0x05986B60; const void * RTTI_hkMemorySystem = (void *)0x05CAC4F0; const void * RTTI_hkMemory__ScopedStats__Collector = (void *)0x05986D48; const void * RTTI_hkMeshTexture__Sampler = (void *)0x059902B0; const void * RTTI_hkMeshVertexBuffer = (void *)0x059901B0; const void * RTTI_hkMonitorStreamColorTable = (void *)0x05986A80; const void * RTTI_hkMonitorStreamContainer = (void *)0x05986AB0; const void * RTTI_hkMonitorStreamStringMap = (void *)0x05986A20; const void * RTTI_hkMonitorStreamTypeMap = (void *)0x05986A50; const void * RTTI_hkMultipleVertexBuffer = (void *)0x05990180; const void * RTTI_hkObjectResource = (void *)0x05987130; const void * RTTI_hkOstream = (void *)0x05985608; const void * RTTI_hkParserBuffer = (void *)0x059886B8; const void * RTTI_hkPrimaryCommandDispatcher = (void *)0x0598D218; const void * RTTI_hkProcessFactory = (void *)0x0598A410; const void * RTTI_hkRefCountedProperties = (void *)0x05985200; const void * RTTI_hkReferencedObject = (void *)0x059D46E0; const void * RTTI_hkReferencedObjectLock = (void *)0x05985268; const void * RTTI_hkReflect__Any__ArrayImpl = (void *)0x05985928; const void * RTTI_hkReflect__AttributeArrayWithOwnership__AllocImpl = (void *)0x05985830; const void * RTTI_hkReflect__ClonerCallback = (void *)0x05985418; const void * RTTI_hkReflect__Detail__AllocationImpl = (void *)0x059852F0; const void * RTTI_hkReflect__Detail__AttributeAllocImpl = (void *)0x05985658; const void * RTTI_hkReflect__Detail__BuiltinTypeReg = (void *)0x05987600; const void * RTTI_hkReflect__Detail__BuiltinTypeReg__SubscriptionImpl = (void *)0x05987640; const void * RTTI_hkReflect__Detail__CharBufferImpl = (void *)0x05985DC0; const void * RTTI_hkReflect__Detail__CloneOnHeap = (void *)0x05985448; const void * RTTI_hkReflect__Detail__DerivedDataCache = (void *)0x05985700; const void * RTTI_hkReflect__Detail__HavokRecordImpl = (void *)0x05986898; const void * RTTI_hkReflect__Detail__HavokStringImpl = (void *)0x059868D0; const void * RTTI_hkReflect__Detail__HeapAllocImpl = (void *)0x05985988; const void * RTTI_hkReflect__Detail__HomogeneousArrayImpl = (void *)0x05986858; const void * RTTI_hkReflect__Detail__Impl = (void *)0x05985160; const void * RTTI_hkReflect__Detail__NullptrImpl = (void *)0x05985E30; const void * RTTI_hkReflect__Detail__OpaqueImpl = (void *)0x05987C68; const void * RTTI_hkReflect__Detail__RawPointerImpl = (void *)0x05985DF8; const void * RTTI_hkReflect__Detail__ReferenceImpl = (void *)0x05985EB8; const void * RTTI_hkReflect__Detail__ReferencedObjectAllocImpl = (void *)0x05986760; const void * RTTI_hkReflect__Detail__ReferencedObjectPointerImpl = (void *)0x05985E70; const void * RTTI_hkReflect__Detail__RepeatImpl = (void *)0x05985D50; const void * RTTI_hkReflect__Detail__ScopedPtrImpl = (void *)0x059866F8; const void * RTTI_hkReflect__Detail__SetterArrayImpl = (void *)0x05984A58; const void * RTTI_hkReflect__Detail__SetterRecordImpl = (void *)0x059849C8; const void * RTTI_hkReflect__Detail__StaticArrayImpl = (void *)0x059867A8; const void * RTTI_hkReflect__Detail__StaticStringImpl = (void *)0x05985D88; const void * RTTI_hkReflect__Detail__StringOut__StringOutImpl = (void *)0x059869B0; const void * RTTI_hkReflect__Detail__ViewPointerImpl = (void *)0x05986908; const void * RTTI_hkReflect__Detail__VoidImpl = (void *)0x05987CA0; const void * RTTI_hkReflect__Detail__hkArrayImpl = (void *)0x059867E0; const void * RTTI_hkReflect__Detail__hkInplaceArrayImpl = (void *)0x05986818; const void * RTTI_hkReflect__MutableTypeReg = (void *)0x05986E98; const void * RTTI_hkReflect__TypeBuilder = (void *)0x059857F8; const void * RTTI_hkReflect__TypeCopier = (void *)0x05986EC8; const void * RTTI_hkReflect__TypeReg = (void *)0x05985368; const void * RTTI_hkReflect__Var__VarImpl = (void *)0x05985480; const void * RTTI_hkReflect__Version__PatchInfoCache = (void *)0x059876F0; const void * RTTI_hkReflect__Version__PatchRegistry = (void *)0x05987728; const void * RTTI_hkReflect__Version__PatchSet = (void *)0x059876B8; const void * RTTI_hkReflect__Version__Patcher = (void *)0x05986980; const void * RTTI_hkRelArray_ArrayImpl = (void *)0x059858F8; const void * RTTI_hkResource = (void *)0x05986E40; const void * RTTI_hkScalarF_FloatImpl = (void *)0x059869F0; const void * RTTI_hkSecondaryCommandDispatcher = (void *)0x0598B6A0; const void * RTTI_hkSeekableStreamReader = (void *)0x059854E0; const void * RTTI_hkSerialize__Bundle = (void *)0x05987BA8; const void * RTTI_hkSerialize__BundleBuilder = (void *)0x05987C38; const void * RTTI_hkSerialize__Detail__ChainingCloneCallback = (void *)0x05986DC0; const void * RTTI_hkSerialize__Detail__CloneToRegistered = (void *)0x05986D80; const void * RTTI_hkSerialize__Detail__SkipDyingCallback = (void *)0x05986E00; const void * RTTI_hkSerialize__Detail__TagfileArrayImpl = (void *)0x05987D80; const void * RTTI_hkSerialize__Detail__TagfileBundle = (void *)0x05987D08; const void * RTTI_hkSerialize__Detail__TagfilePointerImpl = (void *)0x05987D40; const void * RTTI_hkSerialize__Detail__TagfileStringImpl = (void *)0x05987DC0; const void * RTTI_hkSerialize__NoteHandler = (void *)0x05987048; const void * RTTI_hkSerialize__ReadFormat = (void *)0x05987C08; const void * RTTI_hkSerialize__TagfileReadFormat = (void *)0x05987CD0; const void * RTTI_hkSerialize__TagfileWriteFormat = (void *)0x05987158; const void * RTTI_hkSerialize__TagfileWriteFormat__Impl = (void *)0x059871C0; const void * RTTI_hkSerialize__WriteFormat = (void *)0x05987190; const void * RTTI_hkSimdDouble64_FloatImpl = (void *)0x059856D0; const void * RTTI_hkSimpleLocalFrame = (void *)0x05986C78; const void * RTTI_hkSkinBinding = (void *)0x05990098; const void * RTTI_hkSkinnedRefMeshShape = (void *)0x05990120; const void * RTTI_hkSlot = (void *)0x05A1E1D8; const void * RTTI_hkSocket = (void *)0x05987AD8; const void * RTTI_hkSocket__ReaderAdapter = (void *)0x05987AF8; const void * RTTI_hkSocket__WriterAdapter = (void *)0x05987B28; const void * RTTI_hkSolverAllocator = (void *)0x05988758; const void * RTTI_hkStackTracer = (void *)0x05987B58; const void * RTTI_hkStdioStreamReader = (void *)0x05987548; const void * RTTI_hkStorageSkinnedMeshShape = (void *)0x059900F0; const void * RTTI_hkStreamReader = (void *)0x05A85878; const void * RTTI_hkStreamWriter = (void *)0x05A858A0; const void * RTTI_hkStringBuf__StringImpl = (void *)0x05986730; const void * RTTI_hkStringObject = (void *)0x059849A0; const void * RTTI_hkStringPtr__StringImpl = (void *)0x05985298; const void * RTTI_hkStringView__StringImpl = (void *)0x059857C8; const void * RTTI_hkTask = (void *)0x05CA3978; const void * RTTI_hkTaskGraph = (void *)0x05CA39F0; const void * RTTI_hkTaskQueue = (void *)0x05987760; const void * RTTI_hkTaskQueue_BatchingTask = (void *)0x05988660; const void * RTTI_hkTask__ExecutionContext = (void *)0x05CA3998; const void * RTTI_hkTgaFileFormat = (void *)0x05990C40; const void * RTTI_hkThread = (void *)0x05987578; const void * RTTI_hkThreadMemory = (void *)0x05988730; const void * RTTI_hkThreadPool = (void *)0x05CA7060; const void * RTTI_hkTransientAllocator = (void *)0x05987688; const void * RTTI_hkTypeVm__ArrayInstruction = (void *)0x05987338; const void * RTTI_hkTypeVm__BlockInstruction = (void *)0x05987368; const void * RTTI_hkTypeVm__BlockPass = (void *)0x05987398; const void * RTTI_hkTypeVm__CheckTypeKindsPass = (void *)0x05987470; const void * RTTI_hkTypeVm__DefaultInstruction = (void *)0x05987290; const void * RTTI_hkTypeVm__GenerateConvertNumericKindPass = (void *)0x059874A8; const void * RTTI_hkTypeVm__InlineFixedArrayPass = (void *)0x059873C8; const void * RTTI_hkTypeVm__InlineRecordPass = (void *)0x05987400; const void * RTTI_hkTypeVm__Instruction = (void *)0x05987230; const void * RTTI_hkTypeVm__IntAndFloatConversionPass = (void *)0x05987430; const void * RTTI_hkTypeVm__NopInstruction = (void *)0x05987260; const void * RTTI_hkTypeVm__Pass = (void *)0x05986CE0; const void * RTTI_hkTypeVm__ProgramInstruction = (void *)0x059872C8; const void * RTTI_hkTypeVm__RecordInstruction = (void *)0x05987300; const void * RTTI_hkUuidObject = (void *)0x05985768; const void * RTTI_hkUuidPseudoRandomGenerator = (void *)0x05985790; const void * RTTI_hkViewport = (void *)0x05984B88; const void * RTTI_hkWin32FileSystem = (void *)0x05A85600; const void * RTTI_hkWin32FileSystem__WatcherImpl = (void *)0x05985578; const void * RTTI_hkWin32StreamWriter = (void *)0x059875D0; const void * RTTI_hkXmlLexAnalyzer = (void *)0x059886E0; const void * RTTI_hkXmlStreamParser = (void *)0x05987B80; const void * RTTI_hk__IsValueArray__Impl = (void *)0x05985628; const void * RTTI_hkaSkeleton = (void *)0x059901E0; const void * RTTI_hkcdDynamicAabbTree = (void *)0x0598FEB0; const void * RTTI_hkcdDynamicAabbTree__Impl = (void *)0x0598FE20; const void * RTTI_hkcdGsk_Float3ShapeAOnlyInterface = (void *)0x0598F770; const void * RTTI_hkcdGsk_Float3ShapeInterface = (void *)0x0598F738; const void * RTTI_hkcdPlanarCsgOperand = (void *)0x0598F448; const void * RTTI_hkcdPlanarEntity = (void *)0x0598F3E8; const void * RTTI_hkcdPlanarGeometry = (void *)0x0598F610; const void * RTTI_hkcdPlanarGeometryPlanesCollection = (void *)0x0598F4B8; const void * RTTI_hkcdPlanarGeometryPolygonCollection = (void *)0x0598F478; const void * RTTI_hkcdPlanarGeometry__VertexStorage = (void *)0x0598F640; const void * RTTI_hkcdPlanarSolid = (void *)0x0598F4F8; const void * RTTI_hkcdPlanarSolid__NodeStorage = (void *)0x0598F410; const void * RTTI_hkcdSimdTreeUtils__Build__EmptyRunnable = (void *)0x0598F7E8; const void * RTTI_hkcdSimdTreeUtils__Build__Task = (void *)0x0598F940; const void * RTTI_hkcdSimdTreeUtils__Build__hkcdRefitWithAabbFloat3Wrapper = (void *)0x0598F9D0; const void * RTTI_hkcdSimdTreeUtils__Build__hkcdRefitWithAabbWrapper = (void *)0x0598F980; const void * RTTI_hkcdSimdTree__BuildContext = (void *)0x0598E108; const void * RTTI_hkcdSimdTree__ICustomRefit = (void *)0x0598F708; const void * RTTI_hkcdSimdTree__IParallelBuild__IRunnable = (void *)0x0598F7A8; const void * RTTI_hkcdSimdTree__LeafCollector = (void *)0x0598BE50; const void * RTTI_hkcdSimdTree__PairCollector = (void *)0x0598E790; const void * RTTI_hkcdStaticAabbTree = (void *)0x0598FE50; const void * RTTI_hkcdStaticAabbTree__Impl = (void *)0x0598FE80; const void * RTTI_hkcdStaticMeshTree__GeometryProvider = (void *)0x05991598; const void * RTTI_hkgpCgo__Config = (void *)0x05CA50E8; const void * RTTI_hkgpConvexHull = (void *)0x05988780; const void * RTTI_hkgpDeprecatedConvexDecompositionImpl__DefaultProgress = (void *)0x0598F5C0; const void * RTTI_hkgpDeprecatedConvexDecompositionInternal__IInternal = (void *)0x0598F570; const void * RTTI_hkgpDeprecatedConvexDecomposition__IProgress = (void *)0x0598F520; const void * RTTI_hkgpMesh__IConvexOverlap = (void *)0x05988828; const void * RTTI_hknpAction = (void *)0x059EAD90; const void * RTTI_hknpActionManager = (void *)0x0598C318; const void * RTTI_hknpAddActiveBodyPairsTask = (void *)0x0598D320; const void * RTTI_hknpAllHitsCollector = (void *)0x059D46B0; const void * RTTI_hknpAnimatedShapeSurfaceVelocityModifier = (void *)0x0598D850; const void * RTTI_hknpAnyHitCollector = (void *)0x059D45F0; const void * RTTI_hknpApiCommandProcessor = (void *)0x0598B8C0; const void * RTTI_hknpApplyDragTask = (void *)0x0598E530; const void * RTTI_hknpArrayAction = (void *)0x05CA7380; const void * RTTI_hknpBSCharacterProxy = (void *)0x05CA7560; const void * RTTI_hknpBSCharacterRigidBody = (void *)0x05CACAB8; const void * RTTI_hknpBSCustomCollisionFilter = (void *)0x059D4650; const void * RTTI_hknpBSMaterial = (void *)0x05CA5848; const void * RTTI_hknpBSMaterialProperties = (void *)0x05A5A330; const void * RTTI_hknpBSMotionPropertiesLibrary = (void *)0x05CA21E0; const void * RTTI_hknpBSMouseSpringAction = (void *)0x05CA75C0; const void * RTTI_hknpBSMoveLimitModifier = (void *)0x05CA6108; const void * RTTI_hknpBSPlacementStreamCache = (void *)0x05CA5AD8; const void * RTTI_hknpBSShapeCodec = (void *)0x05CA1E60; const void * RTTI_hknpBSVehicleInstance = (void *)0x05CA70E0; const void * RTTI_hknpBSVehicleRayCastWheelCollide = (void *)0x05CA68D8; const void * RTTI_hknpBSVehicleSuspension = (void *)0x05CA6950; const void * RTTI_hknpBSWorld = (void *)0x05CA3950; const void * RTTI_hknpBSWorldUtil__hknpBSPhysicsSystem = (void *)0x05CA29B8; const void * RTTI_hknpBSWorldUtil__hknpBSRagdoll = (void *)0x05CA2938; const void * RTTI_hknpBackfaceCollisionModifier = (void *)0x05CA20F8; const void * RTTI_hknpBallGun = (void *)0x0598AC70; const void * RTTI_hknpBinaryAction = (void *)0x0598ABF0; const void * RTTI_hknpBodyData = (void *)0x0598ADA8; const void * RTTI_hknpBodyIntegrator = (void *)0x0598A6A0; const void * RTTI_hknpBodyQuality = (void *)0x05CA3770; const void * RTTI_hknpBodyQualityLibrary = (void *)0x0598A670; const void * RTTI_hknpBodyReference = (void *)0x0598A560; const void * RTTI_hknpBoxShape = (void *)0x0598B320; const void * RTTI_hknpBreakableConstraintData = (void *)0x0598B3E8; const void * RTTI_hknpBroadPhase = (void *)0x05991C78; const void * RTTI_hknpBroadphaseTriggerCollisionDetector = (void *)0x0598DBB8; const void * RTTI_hknpBuildConstraintJacobiansTask = (void *)0x0598E600; const void * RTTI_hknpCapsuleCapsuleConvexConvexManifoldGenerator = (void *)0x0598DAF0; const void * RTTI_hknpCapsuleShape = (void *)0x0598B348; const void * RTTI_hknpCharacterContext = (void *)0x0598B5E0; const void * RTTI_hknpCharacterProxy = (void *)0x05CA7590; const void * RTTI_hknpCharacterProxyCinfo = (void *)0x05AA94E8; const void * RTTI_hknpCharacterProxyInternals__QueryCollector = (void *)0x0598C6A0; const void * RTTI_hknpCharacterProxyListener = (void *)0x05A59768; const void * RTTI_hknpCharacterRigidBody = (void *)0x05CACA88; const void * RTTI_hknpCharacterRigidBodyCinfo = (void *)0x05CA7888; const void * RTTI_hknpCharacterStateManager = (void *)0x0598B610; const void * RTTI_hknpCircularSurfaceVelocity = (void *)0x0598AB88; const void * RTTI_hknpClosestHitCollector = (void *)0x059C3180; const void * RTTI_hknpClosestUniqueBodyIdHitCollector = (void *)0x05CA6570; const void * RTTI_hknpClosestUniqueBodyIdHitCollectorDeprecated = (void *)0x05CA65B0; const void * RTTI_hknpCollideSyncTask = (void *)0x0598D618; const void * RTTI_hknpCollisionDetector = (void *)0x0598D9D0; const void * RTTI_hknpCollisionFilter = (void *)0x059D4710; const void * RTTI_hknpCollisionQueryCollector = (void *)0x059C31B0; const void * RTTI_hknpCollisionQueryDispatcher = (void *)0x0598CF68; const void * RTTI_hknpCompositeCompositeCollisionDetector = (void *)0x0598DB38; const void * RTTI_hknpCompositeShape = (void *)0x0598A588; const void * RTTI_hknpCompoundShape = (void *)0x0599CA78; const void * RTTI_hknpCompoundShapeData = (void *)0x0598A830; const void * RTTI_hknpCompoundShapeInternalsCdDynamicTreeKeyMask = (void *)0x0598A930; const void * RTTI_hknpCompoundShapeInternalsSimdTreeKeyMask = (void *)0x0598A8F0; const void * RTTI_hknpCompressedMeshShape = (void *)0x0598A978; const void * RTTI_hknpCompressedMeshShapeCinfo = (void *)0x05AED7B8; const void * RTTI_hknpCompressedMeshShapeData = (void *)0x05991518; const void * RTTI_hknpCompressedMeshShapeInternals__GeometryProvider = (void *)0x05991550; const void * RTTI_hknpCompressedMeshShapeInternals__GetClosestPointsToConvexQuery = (void *)0x05991920; const void * RTTI_hknpCompressedMeshShapeInternals__GetClosestPointsToConvexQueryScaled = (void *)0x05991980; const void * RTTI_hknpCompressedMeshShapeInternals__GetClosestPointsToHeightFieldQueryScaled0 = (void *)0x05991AB0; const void * RTTI_hknpCompressedMeshShapeInternals__GetClosestPointsToHeightFieldQueryScaled1 = (void *)0x05991B20; const void * RTTI_hknpCompressedMeshShapeInternals__GetClosestPointsToHeightFieldQueryScaled2 = (void *)0x05991B90; const void * RTTI_hknpCompressedMeshShapeInternals__GetClosestPointsToHeightFieldQueryUnscaled = (void *)0x05991A40; const void * RTTI_hknpCompressedMeshShapeInternals__GetClosestPointsToMeshQueryScaled = (void *)0x05991860; const void * RTTI_hknpCompressedMeshShapeInternals__GetClosestPointsToMeshQueryUnscaled = (void *)0x05991800; const void * RTTI_hknpCompressedMeshShapeInternals__KeyMask = (void *)0x059915D8; const void * RTTI_hknpCompressedMeshShapeInternals__RayCastQueryBase = (void *)0x05991700; const void * RTTI_hknpCompressedMeshShapeInternals__ShapeCastQuery = (void *)0x0598C7F0; const void * RTTI_hknpCompressedMeshShapeInternals__ShapeCastQueryScaled = (void *)0x0598C840; const void * RTTI_hknpConstraintAtomSolver = (void *)0x0598B6D8; const void * RTTI_hknpConstraintCollisionFilter = (void *)0x0598CA50; const void * RTTI_hknpConstraintForceEventCreator = (void *)0x0598DBF8; const void * RTTI_hknpConstraintForceExceededEventCreator = (void *)0x0598DC30; const void * RTTI_hknpContactImpulseClippedEventCreator = (void *)0x0598D6A8; const void * RTTI_hknpContactImpulseEventCreator = (void *)0x0598D6E8; const void * RTTI_hknpConvexCompositeCollisionDetector = (void *)0x0598DAA8; const void * RTTI_hknpConvexConvexCollisionDetector = (void *)0x0598E6E0; const void * RTTI_hknpConvexConvexShapeBaseInterface = (void *)0x05991C38; const void * RTTI_hknpConvexShape = (void *)0x05CA6070; const void * RTTI_hknpCylinderShape = (void *)0x0598B370; const void * RTTI_hknpDeactivationMaintenanceTask = (void *)0x0598D470; const void * RTTI_hknpDecoratorShape = (void *)0x0598A8B8; const void * RTTI_hknpDefaultBroadPhaseConfig = (void *)0x05CA3850; const void * RTTI_hknpDefaultCompressedMeshShapeCinfo = (void *)0x05AED7F0; const void * RTTI_hknpDefaultExternMeshShapeGeometry = (void *)0x0598AA10; const void * RTTI_hknpDefaultHeightFieldGeometry = (void *)0x0598B288; const void * RTTI_hknpDefaultModifierSet = (void *)0x0598D648; const void * RTTI_hknpDeflectedLinearCast__CheckStartCollector = (void *)0x0598E050; const void * RTTI_hknpDeflectedLinearCast__FilteredQueryCollector = (void *)0x0598E000; const void * RTTI_hknpDeflectedLinearCast__QueryFilter = (void *)0x0598E098; const void * RTTI_hknpDestructionShapeProperties = (void *)0x0598AD18; const void * RTTI_hknpDisableCollisionFilter = (void *)0x0598A780; const void * RTTI_hknpDummyShape = (void *)0x0598AB28; const void * RTTI_hknpDynamicSpaceSplitter = (void *)0x0598D2F0; const void * RTTI_hknpEaseConstraintsAction = (void *)0x05CA71B8; const void * RTTI_hknpEasePenetrationsAction = (void *)0x0598C5B0; const void * RTTI_hknpEventDispatcher = (void *)0x0598D170; const void * RTTI_hknpEventMergeAndDispatcher = (void *)0x0598D1A0; const void * RTTI_hknpExtendedExternMeshShapeGeometry = (void *)0x0598AA50; const void * RTTI_hknpExternMeshShape = (void *)0x0598B2F0; const void * RTTI_hknpExternMeshShapeBuildContext = (void *)0x059914B0; const void * RTTI_hknpExternMeshShapeData = (void *)0x0598A9A8; const void * RTTI_hknpFaceClipConvexConvexManifoldGenerator = (void *)0x0598E6A0; const void * RTTI_hknpFinalizeNarrowPhaseGridTask = (void *)0x0598D570; const void * RTTI_hknpFinalizeNarrowPhasePairsTask = (void *)0x0598D538; const void * RTTI_hknpFireSignalTask = (void *)0x0598E138; const void * RTTI_hknpFirstPersonCharacter = (void *)0x0598ACE8; const void * RTTI_hknpFirstPersonGun = (void *)0x0598AC40; const void * RTTI_hknpFixedClosestHitCollector = (void *)0x05CA5AA0; const void * RTTI_hknpFixedClosestUniqueBodyHitCollector = (void *)0x05CA5A60; const void * RTTI_hknpFlipBackfaceCollisionModifier = (void *)0x0598D8C0; const void * RTTI_hknpFlippedGetClosestPointsQueryCollector = (void *)0x0598CE60; const void * RTTI_hknpFlippedShapeCastQueryCollector = (void *)0x0598CFA0; const void * RTTI_hknpForwardClosestHitCollector = (void *)0x0598CE20; const void * RTTI_hknpFullCast__ManifoldGenerator = (void *)0x0598E4F8; const void * RTTI_hknpGenSolverTasksTask = (void *)0x0598D4D8; const void * RTTI_hknpGlobals = (void *)0x0598CF10; const void * RTTI_hknpGravityGun = (void *)0x0598AC98; const void * RTTI_hknpGroupCollisionFilter = (void *)0x0598C9A8; const void * RTTI_hknpHeightFieldBoundingVolume = (void *)0x0598B488; const void * RTTI_hknpHeightFieldGeometry = (void *)0x0598B2C0; const void * RTTI_hknpHeightFieldShape = (void *)0x0598A5B8; const void * RTTI_hknpHitScalingCollector = (void *)0x0598BEC0; const void * RTTI_hknpInternalCommandProcessor = (void *)0x0598B668; const void * RTTI_hknpLeafShapeSensor = (void *)0x059909D8; const void * RTTI_hknpLegacyRestitutionModifier = (void *)0x0598D7B0; const void * RTTI_hknpLinearSurfaceVelocity = (void *)0x0598ABC0; const void * RTTI_hknpLodShape = (void *)0x0598A728; const void * RTTI_hknpMalleableConstraintData = (void *)0x0598B450; const void * RTTI_hknpManifoldEventCreator = (void *)0x0598D890; const void * RTTI_hknpMaskedCompoundShape = (void *)0x0598B258; const void * RTTI_hknpMaskedShape = (void *)0x0598A890; const void * RTTI_hknpMaskedShape__MaskWrapper = (void *)0x0598AAF0; const void * RTTI_hknpMassChangerModifier = (void *)0x0598D720; const void * RTTI_hknpMaterialData = (void *)0x0598AD50; const void * RTTI_hknpMaterialLibrary = (void *)0x05CA2C08; const void * RTTI_hknpMaterialPalette = (void *)0x0598A750; const void * RTTI_hknpModifier = (void *)0x05A858F8; const void * RTTI_hknpMotionPropertiesData = (void *)0x0598AD78; const void * RTTI_hknpMotionPropertiesLibrary = (void *)0x05CA2180; const void * RTTI_hknpMotionWeldingModifier = (void *)0x0598D968; const void * RTTI_hknpMountedBallGun = (void *)0x0598CC00; const void * RTTI_hknpMultithreadedSimulation = (void *)0x0598D358; const void * RTTI_hknpNeighborWeldingModifier = (void *)0x0598D930; const void * RTTI_hknpNullShapeTagCodec = (void *)0x0598CF38; const void * RTTI_hknpPairCollisionFilter = (void *)0x0598B228; const void * RTTI_hknpParticleEventCreator = (void *)0x0598DC70; const void * RTTI_hknpParticleShapeLibrary = (void *)0x0598E490; const void * RTTI_hknpParticleSimulationContext = (void *)0x0598DDD8; const void * RTTI_hknpParticlesClosestHitOnMeshCollector = (void *)0x0598E750; const void * RTTI_hknpParticlesCollider = (void *)0x0598E0D8; const void * RTTI_hknpParticlesColliderShape = (void *)0x0598AB50; const void * RTTI_hknpParticlesCollisionFilter = (void *)0x0598E718; const void * RTTI_hknpParticlesDynamicHitsCollector = (void *)0x0598E868; const void * RTTI_hknpParticlesStaticCollector = (void *)0x0598E830; const void * RTTI_hknpPhysicsSceneData = (void *)0x0598ADF8; const void * RTTI_hknpPhysicsSystem = (void *)0x05CA2910; const void * RTTI_hknpPhysicsSystemData = (void *)0x059E57E0; const void * RTTI_hknpPostCollideTask = (void *)0x0598D390; const void * RTTI_hknpPostSolveTask = (void *)0x0598D410; const void * RTTI_hknpPreSolveTask = (void *)0x0598D3E8; const void * RTTI_hknpPrepareConstraintsTask = (void *)0x0598E5C8; const void * RTTI_hknpPrepareNarrowPhasePairsTask = (void *)0x0598E590; const void * RTTI_hknpPrepareNarrowPhaseTask = (void *)0x0598E558; const void * RTTI_hknpPrepareSolverData = (void *)0x0598E668; const void * RTTI_hknpProcessFullCastsTask = (void *)0x0598D4A8; const void * RTTI_hknpProcessNarrowPhaseGridTask = (void *)0x0598D438; const void * RTTI_hknpProcessNarrowPhasePairsTask = (void *)0x0598E4C0; const void * RTTI_hknpProjectileGun = (void *)0x0598ACC0; const void * RTTI_hknpRagdoll = (void *)0x05CA2880; const void * RTTI_hknpRagdollData = (void *)0x0598CDF8; const void * RTTI_hknpRefDragProperties = (void *)0x0598A640; const void * RTTI_hknpRefMassDistribution = (void *)0x05CA5B90; const void * RTTI_hknpRefMaterial = (void *)0x0598A700; const void * RTTI_hknpRefWorldCinfo = (void *)0x0598ADD0; const void * RTTI_hknpReorientAction = (void *)0x05CA2150; const void * RTTI_hknpRestitutionModifier = (void *)0x0598D780; const void * RTTI_hknpSafeEaseConstraintsAction = (void *)0x05CA71E8; const void * RTTI_hknpScaledConvexShape = (void *)0x0598AAC0; const void * RTTI_hknpScaledConvexShapeBase = (void *)0x0598AA90; const void * RTTI_hknpSetShapeKeyACdDetector = (void *)0x0598DA38; const void * RTTI_hknpShape = (void *)0x05CA6050; const void * RTTI_hknpShapeBuffer = (void *)0x059D4688; const void * RTTI_hknpShapeFunctionsSingleton = (void *)0x0598B4C0; const void * RTTI_hknpShapeKeyArrayCacheCdDetector = (void *)0x0598DA70; const void * RTTI_hknpShapeKeyMask = (void *)0x0598A5E8; const void * RTTI_hknpShapeManager = (void *)0x0598CFE0; const void * RTTI_hknpShapeMassProperties = (void *)0x0598A610; const void * RTTI_hknpShapeScalingUtil = (void *)0x05991ED8; const void * RTTI_hknpShape__MassConfig = (void *)0x05CA5B10; const void * RTTI_hknpSignedDistanceFieldCollisionDetector = (void *)0x0598DB78; const void * RTTI_hknpSimdTreeBroadPhase = (void *)0x05991CA0; const void * RTTI_hknpSimdTreeBroadPhaseTasks__CollideTrees = (void *)0x05991DD8; const void * RTTI_hknpSimdTreeBroadPhaseTasks__CopyAabbsAndMarkActiveBodiesDirty = (void *)0x05991D30; const void * RTTI_hknpSimdTreeBroadPhaseTasks__Finalize = (void *)0x05991E18; const void * RTTI_hknpSimdTreeBroadPhaseTasks__PrepareTreeBuildData = (void *)0x05991D90; const void * RTTI_hknpSimulation = (void *)0x0598B640; const void * RTTI_hknpSingleCellSpaceSplitter = (void *)0x0598D2B8; const void * RTTI_hknpSingleThreadedSimulation = (void *)0x0598B770; const void * RTTI_hknpSingleThreadedSolverData = (void *)0x0598D138; const void * RTTI_hknpSoftContactModifier = (void *)0x0598D7E8; const void * RTTI_hknpSolveFinalizeTask = (void *)0x0598D508; const void * RTTI_hknpSolverData = (void *)0x0598D110; const void * RTTI_hknpSolverFactoryTask = (void *)0x0598D5A8; const void * RTTI_hknpSolverSchedulerTask = (void *)0x0598E638; const void * RTTI_hknpSortFinalizeNarrowPhasePairsTask = (void *)0x0598D5D8; const void * RTTI_hknpSpaceSplitter = (void *)0x0598D290; const void * RTTI_hknpSphereShape = (void *)0x0598B398; const void * RTTI_hknpSpringAction = (void *)0x0598AC18; const void * RTTI_hknpStreamContactSolver = (void *)0x0598BA08; const void * RTTI_hknpSurfaceVelocityModifier = (void *)0x0598D818; const void * RTTI_hknpTaskGraph = (void *)0x05CA39C8; const void * RTTI_hknpTriangleShape = (void *)0x0598B200; const void * RTTI_hknpTriangleWeldingModifier = (void *)0x0598D8F8; const void * RTTI_hknpTriggerModifier = (void *)0x0598D750; const void * RTTI_hknpTyremarksInfo = (void *)0x0598B0D8; const void * RTTI_hknpTyremarksWheel = (void *)0x0598B0A8; const void * RTTI_hknpUnaryAction = (void *)0x059EADB8; const void * RTTI_hknpUniqueBodyIdHitCollector = (void *)0x05A508D0; const void * RTTI_hknpVariableTimeStepUtil = (void *)0x0598DD50; const void * RTTI_hknpVehicleData = (void *)0x0598B080; const void * RTTI_hknpVehicleDefaultAerodynamics = (void *)0x0598AE58; const void * RTTI_hknpVehicleDefaultAnalogDriverInput = (void *)0x0598AF18; const void * RTTI_hknpVehicleDefaultBrake = (void *)0x0598AEE8; const void * RTTI_hknpVehicleDefaultEngine = (void *)0x0598AFB0; const void * RTTI_hknpVehicleDefaultSteering = (void *)0x0598B010; const void * RTTI_hknpVehicleDefaultSuspension = (void *)0x05CA6868; const void * RTTI_hknpVehicleDefaultTransmission = (void *)0x0598B048; const void * RTTI_hknpVehicleDefaultVelocityDamper = (void *)0x0598B130; const void * RTTI_hknpVehicleDriverInputAnalogStatus = (void *)0x05CA6910; const void * RTTI_hknpVehicleInstance = (void *)0x05CA70B0; const void * RTTI_hknpVehicleLinearCastWheelCollide = (void *)0x0598B168; const void * RTTI_hknpVehicleRayCastWheelCollide = (void *)0x05CA68A0; const void * RTTI_hknpVehicleSuspension = (void *)0x05CA6838; const void * RTTI_hknpVehicleWheelCollide = (void *)0x05CA6808; const void * RTTI_hknpVehicleWheelCollide__WheelHitCollector = (void *)0x0598DFC0; const void * RTTI_hknpWeldingModifier = (void *)0x0598D678; const void * RTTI_hknpWorld = (void *)0x05CA1CC8; const void * RTTI_hknpWorldSnapshot = (void *)0x0598B1D8; const void * RTTI_hkp6DofConstraintData = (void *)0x0598E8F8; const void * RTTI_hkpAngularFrictionConstraintData = (void *)0x0598EE88; const void * RTTI_hkpBallAndSocketConstraintData = (void *)0x0598E928; const void * RTTI_hkpCallbackConstraintMotor = (void *)0x0598EDA8; const void * RTTI_hkpCogWheelConstraintData = (void *)0x0598E998; const void * RTTI_hkpConstraintData = (void *)0x0598B3C0; const void * RTTI_hkpConstraintMotor = (void *)0x0598E8C8; const void * RTTI_hkpDeformableFixedConstraintData = (void *)0x0598E9C8; const void * RTTI_hkpFixedConstraintData = (void *)0x0598EA00; const void * RTTI_hkpHingeConstraintData = (void *)0x0598EA60; const void * RTTI_hkpHingeLimitsData = (void *)0x0598EA30; const void * RTTI_hkpLimitedForceConstraintMotor = (void *)0x0598ED70; const void * RTTI_hkpLimitedHingeConstraintData = (void *)0x0598EA90; const void * RTTI_hkpLinearClearanceConstraintData = (void *)0x0598E960; const void * RTTI_hkpLinearParametricCurve = (void *)0x0598EAF8; const void * RTTI_hkpPointToPathConstraintData = (void *)0x0598EB28; const void * RTTI_hkpPointToPlaneConstraintData = (void *)0x0598EB60; const void * RTTI_hkpPositionConstraintMotor = (void *)0x0598EDE0; const void * RTTI_hkpPrismaticConstraintData = (void *)0x0598EB98; const void * RTTI_hkpPulleyConstraintData = (void *)0x0598EBD0; const void * RTTI_hkpRackAndPinionConstraintData = (void *)0x0598EC00; const void * RTTI_hkpRagdollConstraintData = (void *)0x0598EC68; const void * RTTI_hkpRagdollLimitsData = (void *)0x0598EC38; const void * RTTI_hkpRotationalConstraintData = (void *)0x0598EC98; const void * RTTI_hkpSpringDamperConstraintMotor = (void *)0x0598EE18; const void * RTTI_hkpStiffSpringConstraintData = (void *)0x0598ECD0; const void * RTTI_hkpVehicleFrictionDescription = (void *)0x0598B1A0; const void * RTTI_hkpVelocityConstraintMotor = (void *)0x0598EE50; const void * RTTI_hkpWheelConstraintData = (void *)0x0598ED40; const void * RTTI_hkpWheelFrictionConstraintData = (void *)0x0598ED08; const void * RTTI_hkpWrappedConstraintData = (void *)0x0598B420; const void * RTTI_idLogging__ILogger = (void *)0x05B99078; const void * RTTI_idTCP = (void *)0x05D52EB8; const void * RTTI_nlohmann__detail__exception = (void *)0x05B72820; const void * RTTI_nlohmann__detail__input_buffer_adapter = (void *)0x05B72778; const void * RTTI_nlohmann__detail__input_stream_adapter = (void *)0x05B8ADD0; const void * RTTI_nlohmann__detail__out_of_range = (void *)0x05B72AC8; const void * RTTI_nlohmann__detail__parse_error = (void *)0x05B72B00; const void * RTTI_nsContainerMenu__ConfirmTakeAllTheThingsCallback = (void *)0x05C49B00; const void * RTTI_nsControlMappingData__RemapHandler = (void *)0x05B0CFD0; const void * RTTI_nsDataMenuData__GameLoadListener = (void *)0x05AF6CC8; const void * RTTI_nsDialogueMenu__MenuEventCatcher = (void *)0x05C4D5A0; const void * RTTI_nsMainMenu__DisplayCreditsCTACallback = (void *)0x05C52F80; const void * RTTI_nsMainMenu__InvalidUserCallback = (void *)0x05C52FC0; const void * RTTI_nsMonocle__MenuEventCatcher = (void *)0x05B3A290; const void * RTTI_nsMonocle__MonocleFastTravelConfirmFunc = (void *)0x05B3A688; const void * RTTI_nsPauseMenu__UserDisengagedCallback = (void *)0x05B5E108; const void * RTTI_nsPickpocketMenu__MenuEventCatcher = (void *)0x05B3EBC0; const void * RTTI_nsWorkshop_BlueprintMenu__WarnAboutInvalidNameCallback = (void *)0x05B7D1A0; const void * RTTI_rcContext = (void *)0x059D11E8; const void * RTTI_returnToMainMenuCallback = (void *)0x05AE3C68; const void * RTTI_std___Node_assert = (void *)0x059C53C8; const void * RTTI_std___Node_back = (void *)0x059C5378; const void * RTTI_std___Node_base = (void *)0x059C5350; const void * RTTI_std___Node_capture = (void *)0x059C53F0; const void * RTTI_std___Node_end_group = (void *)0x059C5320; const void * RTTI_std___Node_end_rep = (void *)0x059C50C8; const void * RTTI_std___Node_endif = (void *)0x059C53A0; const void * RTTI_std___Node_if = (void *)0x059C5138; const void * RTTI_std___Node_rep = (void *)0x059C5160; const void * RTTI_std___Root_node = (void *)0x059C52F8; const void * RTTI_std__bad_alloc = (void *)0x05991F08; const void * RTTI_std__bad_array_new_length = (void *)0x05991F58; const void * RTTI_std__bad_cast = (void *)0x05992248; const void * RTTI_std__bad_optional_access = (void *)0x05996D60; const void * RTTI_std__bad_variant_access = (void *)0x05992440; const void * RTTI_std__exception = (void *)0x05991F30; const void * RTTI_std__invalid_argument = (void *)0x05997BE0; const void * RTTI_std__logic_error = (void *)0x05991FB0; const void * RTTI_std__out_of_range = (void *)0x05991F88; const void * RTTI_std__overflow_error = (void *)0x0598EF30; const void * RTTI_std__range_error = (void *)0x0598F108; const void * RTTI_std__runtime_error = (void *)0x05997AA0; const void * RTTI_std__underflow_error = (void *)0x0598EF60; const void * RTTI_type_info = (void *)0x059BD478; const void * RTTI_winrt__impl__error_info_fallback = (void *)0x05C9E4B0; ================================================ FILE: sfse/GameReferences.h ================================================ #pragma once #include "sfse/GameForms.h" #include "sfse/GameExtraData.h" #include "sfse/NiTypes.h" class BGSLocation; class TESTopicInfo; class BGSScene; class TESRace; class TESObjectCELL; class CombatGroup; class TESObjectREFR : public TESForm { public: ~TESObjectREFR() override; // 00 // add virtual void Predestroy(); // 062 virtual bool Unk_63(); // 063 - { return extraList.HasExtraData(14);}; virtual bool GetEditorLocation(NiPoint3& a_originalLocation, NiPoint3& a_originalAngle, TESForm*& a_locationFormOut); // 064 - new virtual void Unk_65(); // 065 virtual BGSLocation* GetEditorLocation() const; // 066 virtual bool GetEditorLocation(NiPoint3& a_originalLocation, NiPoint3& a_originalAngle, TESForm*& a_locationFormOut, TESForm* a_locationForm); // 067 virtual bool IsTalking() const; // 068 virtual void ForceEditorLocation(BGSLocation* a_location); // 069 virtual void Unk_6A(); // 06A virtual void UpdateSoundCallBack(bool a_endSceneAction); // 06B virtual bool SetDialoguewithPlayer(bool a_flag, bool a_forceGreet, TESTopicInfo* a_topicInfo); // 06C virtual void Unk_6D(); // 06D virtual void Unk_6E(); // 06E virtual void Unk_6F(); // 06F virtual void Unk_70(); // 070 virtual void Unk_71(); // 071 virtual void Unk_72(); // 072 virtual void Unk_73(); // 073 virtual void Unk_74(); // 074 virtual void Unk_75(); // 075 virtual void Unk_76(); // 076 virtual void Unk_77(); // 077 virtual void Unk_78(); // 078 virtual void Unk_79(); // 079 virtual BGSScene* GetCurrentScene() const; // 07A virtual void Unk_7B(); // 07B virtual void Unk_7C(); // 07C virtual void Unk_7D(); // 07D virtual void Unk_7E(); // 07E virtual void Unk_7F(); // 07F virtual void Unk_80(); // 080 virtual void Unk_81(); // 081 virtual void Unk_82(); // 082 virtual void Unk_83(); // 083 virtual void Unk_84(); // 084 virtual void Unk_85(); // 085 virtual void Unk_86(); // 086 virtual void Unk_87(); // 087 virtual void Unk_88(); // 088 virtual void Unk_89(); // 089 virtual void Unk_8A(); // 08A virtual void Unk_8B(); // 08B virtual void Unk_8C(); // 08C virtual void Unk_8D(); // 08D virtual void Unk_8E(); // 08E virtual void Unk_8F(); // 08F virtual void Unk_90(); // 090 virtual void Unk_91(); // 091 virtual void Unk_92(); // 092 virtual void Unk_93(); // 093 virtual void Unk_94(); // 094 virtual void Unk_95(); // 095 virtual void Unk_96(); // 096 virtual void Unk_97(); // 097 virtual float GetGravityScale(); // 098 - new virtual void Unk_99(); // 099 virtual void Unk_9A(); // 09A virtual void Unk_9B(); // 09B virtual void Unk_9C(); // 09C virtual void Unk_9D(); // 09D virtual void Unk_9E(); // 09E virtual bool IsChild() const; // 09F virtual void Unk_A0(); // 0A0 virtual void Unk_A1(); // 0A1 virtual void Unk_A2(); // 0A2 virtual void Unk_A3(); // 0A3 virtual void Unk_A4(); // 0A4 virtual void Unk_A5(); // 0A5 virtual void Unk_A6(); // 0A6 virtual void Unk_A7(); // 0A7 virtual void Unk_A8(); // 0A8 virtual void Unk_A9(); // 0A9 virtual void Unk_AA(); // 0AA virtual void Unk_AB(); // 0AB - { return Get3D(a_objectOut) };? virtual void Unk_AC(); // 0AC - Get3D(NiPointer&)? virtual void Unk_AD(); // 0AD virtual void Unk_AE(); // 0AE virtual void Unk_AF(); // 0AF virtual TESRace* GetVisualsRace() const; // 0B0 virtual void Unk_B1(); // 0B1 virtual void Unk_B2(); // 0B2 virtual void Unk_B3(); // 0B3 virtual NiPoint3 GetBoundMin() const; // 0B4 virtual NiPoint3 GetBoundMax() const; // 0B5 virtual void Unk_B6(); // 0B6 virtual void Unk_B7(); // 0B7 virtual void Unk_B8(); // 0B8 virtual void Unk_B9(); // 0B9 virtual void Unk_BA(); // 0BA virtual void Unk_BB(); // 0BB virtual void Unk_BC(); // 0BC virtual void Unk_BD(); // 0BD virtual void Unk_BE(); // 0BE virtual void Unk_BF(); // 0BF virtual void Unk_C0(); // 0C0 virtual void Unk_C1(); // 0C1 virtual void Unk_C2(); // 0C2 virtual void Unk_C3(); // 0C3 virtual void Unk_C4(); // 0C4 virtual void Unk_C5(); // 0C5 virtual void Unk_C6(); // 0C6 virtual void Unk_C7(); // 0C7 virtual void Unk_C8(); // 0C8 virtual void Unk_C9(); // 0C9 virtual void Unk_CA(); // 0CA virtual void Unk_CB(); // 0CB virtual void Unk_CC(); // 0CC virtual void Unk_CD(); // 0CD virtual void Unk_CE(); // 0CE virtual void Unk_CF(); // 0CF virtual void Unk_D0(); // 0D0 virtual void Unk_D1(); // 0D1 virtual void Unk_D2(); // 0D2 virtual void Unk_D3(); // 0D3 virtual void Unk_D4(); // 0D4 virtual void Unk_D5(); // 0D5 virtual void Unk_D6(); // 0D6 virtual void Unk_D7(); // 0D7 virtual void Unk_D8(); // 0D8 virtual void Unk_D9(); // 0D9 virtual void Unk_DA(); // 0DA virtual void Unk_DB(); // 0DB virtual void Unk_DC(); // 0DC virtual void Unk_DD(); // 0DD virtual void Unk_DE(); // 0DE virtual void Unk_DF(); // 0DF virtual void Unk_E0(); // 0E0 virtual void Unk_E1(); // 0E1 virtual void Unk_E2(); // 0E2 virtual void Unk_E3(); // 0E3 virtual void Unk_E4(); // 0E4 virtual void Unk_E5(); // 0E5 virtual void Unk_E6(); // 0E6 virtual void Unk_E7(); // 0E7 virtual void Unk_E8(); // 0E8 virtual void Unk_E9(); // 0E9 virtual void Unk_EA(); // 0EA virtual void Unk_EB(); // 0EB virtual void Unk_EC(); // 0EC virtual void Unk_ED(); // 0ED virtual void Unk_EE(); // 0EE virtual void Unk_EF(); // 0EF virtual void Unk_F0(); // 0F0 virtual void Unk_F1(); // 0F1 virtual void Unk_F2(); // 0F2 virtual void Unk_F3(); // 0F3 virtual void Unk_F4(); // 0F4 virtual void Unk_F5(); // 0F5 virtual void Unk_F6(); // 0F6 virtual void Unk_F7(); // 0F7 virtual void Unk_F8(); // 0F8 virtual void Unk_F9(); // 0F9 virtual void Unk_FA(); // 0FA virtual void Unk_FB(); // 0FB virtual void Unk_FC(); // 0FC virtual void Unk_FD(); // 0FD virtual void Unk_FE(); // 0FE virtual void Unk_FF(); // 0FF virtual void Unk_100(); // 100 virtual void Unk_101(); // 101 virtual void Unk_102(); // 102 virtual void Unk_103(); // 103 virtual void Unk_104(); // 104 virtual void Unk_105(); // 105 virtual void Unk_106(); // 106 virtual void Unk_107(); // 107 virtual void Unk_108(); // 108 virtual void Unk_109(); // 109 virtual void Unk_10A(); // 10A virtual void Unk_10B(); // 10B virtual void Unk_10C(); // 10C virtual bool IsDead(bool a_notEssential) const; // 10D virtual bool ProcessInWater(u32 a_bodyID, float a_waterHeight, float a_deltaTime); // 10E virtual void Unk_10F(); // 10F virtual void Unk_110(); // 110 virtual void Unk_111(); // 111 virtual void Unk_112(); // 112 virtual void Unk_113(); // 113 virtual void Unk_114(); // 114 virtual void Unk_115(); // 115 virtual void Unk_116(); // 116 virtual void Unk_117(); // 117 virtual void Unk_118(); // 118 virtual void Unk_119(); // 119 virtual void Unk_11A(); // 11A virtual void Unk_11B(); // 11B virtual void Unk_11C(); // 11C virtual void Unk_11D(); // 11D virtual void Unk_11E(); // 11E virtual void Unk_11F(); // 11F virtual void Unk_120(); // 120 virtual void Unk_121(); // 121 virtual void Unk_122(); // 122 virtual void Unk_123(); // 123 virtual void Unk_124(); // 124 virtual void Unk_125(); // 125 virtual void Unk_126(); // 126 virtual void Unk_127(); // 127 virtual void Unk_128(); // 128 virtual void Unk_129(); // 129 virtual void Unk_12A(); // 12A virtual void Unk_12B(); // 12B virtual void Unk_12C(); // 12C virtual void Unk_12D(); // 12D virtual void Unk_12E(); // 12E virtual void Unk_12F(); // 12F // the following should be inherited when decoded properly void* BSTransformDeltaEvent; // 30 void* IMovementProcessMessageInterface; // 38 void* IPostAnimationChannelUpdateFunctor; // 40 void* BSAnimationGraphEvent; // 48 void* BGSInventoryListEvent; // 50 void* IAnimationGraphManagerHolder; // 58 void* IKeywordFormBase; // 60 void* ActorValueOwner; // 68 void* ActorValueChangedEvent; // 70 // members OBJ_REFR data; // 78 BSGuarded inventoryList; // A0 TESObjectCELL* parentCell; // A8 BSGuarded loadedData; // B0 BSTSmartPointer extraDataList; // C0 u16 scale; // C8 u8 unkE2; // CB u8 flags; // CC DEFINE_MEMBER_FN_0(IsInSpaceship, bool, 0x02119780) DEFINE_MEMBER_FN_0(IsInSpace, bool, 0x00B59470) DEFINE_MEMBER_FN_1(HasKeyword, bool, 0x004804C0, BGSKeyword*); }; static_assert(offsetof(TESObjectREFR, data) == 0x80); static_assert(offsetof(TESObjectREFR, parentCell) == 0xB0); static_assert(offsetof(TESObjectREFR, scale) == 0xD0); static_assert(sizeof(TESObjectREFR) == 0xD8); class Actor : public TESObjectREFR { public: ~Actor() override; // 00 // add virtual void Unk_130(); // 130 virtual void Unk_131(); // 131 virtual void Unk_132(); // 132 virtual void Unk_133(); // 133 virtual void Unk_134(); // 134 virtual void Unk_135(); // 135 virtual void Unk_136(); // 136 virtual void Unk_137(); // 137 virtual void Unk_138(); // 138 virtual void Unk_139(); // 139 virtual void Unk_13A(); // 13A virtual void Unk_13B(); // 13B virtual void Unk_13C(); // 13C virtual void Unk_13D(); // 13D virtual void Unk_13E(); // 13E virtual void Update(float a_delta); // 13F virtual void Unk_140(); // 140 virtual void Unk_141(); // 141 virtual void Unk_142(); // 142 virtual void Unk_143(); // 143 virtual void Unk_144(); // 144 virtual void Unk_145(); // 145 virtual void Unk_146(); // 146 virtual void Unk_147(); // 147 virtual void Unk_148(); // 148 virtual void Unk_149(); // 149 virtual void Unk_14A(); // 14A virtual void Unk_14B(); // 14B virtual void Unk_14C(); // 14C virtual void Unk_14D(); // 14D virtual void Unk_14E(); // 14E virtual void Unk_14F(); // 14F virtual void Unk_150(); // 150 virtual void Unk_151(); // 151 virtual void Unk_152(); // 152 virtual void Unk_153(); // 153 virtual void Unk_154(); // 154 virtual void Unk_155(); // 155 virtual void Unk_156(); // 156 virtual void Unk_157(); // 157 virtual void Unk_158(); // 158 virtual void Unk_159(); // 159 virtual void Unk_15A(); // 15A virtual void Unk_15B(); // 15B virtual void Unk_15C(); // 15C virtual void Unk_15D(); // 15D virtual void Unk_15E(); // 15E virtual void Unk_15F(); // 15F virtual CombatGroup* GetCombatGroup(); // 160 virtual void SetCombatGroup(CombatGroup* a_group); // 161 virtual bool CheckValidTarget(TESObjectREFR& a_ref) const; // 162 virtual void Unk_163(); // 163 virtual void Unk_164(); // 164 virtual void Unk_165(); // 165 virtual void Unk_166(); // 166 virtual void Unk_167(); // 167 virtual void Unk_168(); // 168 virtual void Unk_169(); // 169 virtual void Unk_16A(); // 16A virtual void Unk_16B(); // 16B virtual bool IsInCombat() const; // 16C virtual void Unk_16D(); // 16D virtual void Unk_16E(); // 16E virtual void Unk_16F(); // 16F virtual void SetLifeState(u32 a_state); // 170 virtual void Unk_171(); // 171 virtual void Unk_172(); // 172 virtual void Unk_173(); // 173 virtual void Unk_174(); // 174 virtual void Unk_175(); // 175 virtual void Unk_176(); // 176 virtual void Unk_177(); // 177 virtual void Unk_178(); // 178 virtual void Unk_179(); // 179 virtual void Unk_17A(); // 17A virtual void Unk_17B(); // 17B virtual void Unk_17C(); // 17C virtual void Unk_17D(); // 17D virtual void Unk_17E(); // 17E virtual void Unk_17F(); // 17F virtual void Unk_180(); // 180 virtual void Unk_181(); // 181 virtual void Unk_182(); // 182 virtual void Unk_183(); // 183 virtual void Unk_184(); // 184 virtual void Unk_185(); // 185 virtual void Unk_186(); // 186 virtual void Unk_187(); // 187 virtual void Unk_188(); // 188 virtual void Unk_189(); // 189 virtual void Unk_18A(); // 18A virtual void Unk_18B(); // 18B virtual void Unk_18C(); // 18C virtual void Unk_18D(); // 18D virtual void Unk_18E(); // 18E virtual void Unk_18F(); // 18F virtual void Unk_190(); // 190 virtual void Unk_191(); // 191 virtual void Unk_192(); // 192 virtual void Unk_193(); // 193 virtual void Unk_194(); // 194 virtual void Unk_195(); // 195 virtual void Unk_196(); // 196 virtual void Unk_197(); // 197 virtual void Unk_198(); // 198 virtual void Unk_199(); // 199 virtual void Unk_19A(); // 19A virtual void Unk_19B(); // 19B virtual void Unk_19C(); // 19C virtual void Unk_19D(); // 19D virtual void Unk_19E(); // 19E virtual void Unk_19F(); // 19F virtual void Unk_1A0(); // 1A0 virtual void Unk_1A1(); // 1A1 // This function is very slow, do not use for realtime updates, mainly used for "entire character changed" // The fields represent which subsets of chargen to update, usually you want (false, 0x28, false) DEFINE_MEMBER_FN_3(UpdateAppearance, void, 0x0195FDE0, bool unk1, u32 flags, bool changeRace); DEFINE_MEMBER_FN_0(UpdateChargenAppearance, void, 0x017AB4B0); DEFINE_MEMBER_FN_1(SetSkinTone, void, 0x017ABD60, u32 skinToneIndex); u64 unkF0[(0x240 - 0xF0) >> 3]; // F0 void* unk240; // 240 }; class MenuActor : public Actor { public: virtual ~MenuActor(); }; //inline RelocPtr g_playerCharacter(0x05598CB8); ================================================ FILE: sfse/GameReflection.h ================================================ #pragma once #include "sfse_common/Types.h" namespace BSReflection { class IType; // 10 struct TypedData { IType * type; // 00 void * data; // 08 }; // 08 class IType { virtual TypedData * GetZeroed(TypedData * dst, void * buf) = 0; virtual TypedData * Copy(TypedData * dst, void * buf, TypedData * src) = 0; virtual TypedData * Copy2(TypedData * dst, void * buf, TypedData * src) = 0; // presumably these are not the same thing virtual void Unk03() = 0; virtual const char * GetName() = 0; // void ** _vtbl; // 00 }; // 20 class BasicType : public IType { u32 size; // 08 u16 size2; // 0C - repeat of size field? unk8 unk0E; // 0E - 00 unk8 unk0F; // 0F - FF const char * name; // 10 u8 id; // 18 u8 isSigned; // 19 unk16 unk1A; // 1A unk32 unk1C; // 1C }; // size size2 0E 0F id isSigned // int8_t 1 1 00 FF 00 1 // int16_t 2 2 00 FF 02 1 // int32_t 4 4 00 FF 04 1 // int64_t 8 8 00 FF 06 1 // uint8_t 1 1 00 FF 01 0 // uint16_t 2 2 00 FF 03 0 // uint32_t 4 4 00 FF 05 0 // uint64_t 8 8 00 FF 07 0 // bool 1 1 00 FF 08 0 // float 4 4 00 FF 09 1 // double 8 8 00 FF 0A 1 class IObject { public: virtual void Unk_00(); // 00 virtual ~IObject(); // 01 }; } ================================================ FILE: sfse/GameScript.cpp ================================================ #include "GameScript.h" RelocPtr g_firstScriptCommand(0x05EC5780); RelocPtr g_firstConsoleCommand(0x05EB8E10); ================================================ FILE: sfse/GameScript.h ================================================ #pragma once #include "sfse_common/Relocation.h" #include "sfse_common/Utilities.h" #include "sfse/GameTypes.h" class TESObjectREFR; class TESForm; class TESQuest; struct ACTION_OBJECT { TESForm* pForm; // 00 u32 iFlags; // 08 }; struct alignas(4) SCRIPT_LOCAL { u32 uiID; float fValue; bool bIsInteger; }; struct ScriptVariable { SCRIPT_LOCAL data; void*/*BSStringT*/ cName; }; struct alignas(4) SCRIPT_HEADER { u32 variableCount; u32 refObjectCount; u32 dataSize; u32 m_uiLastID; bool bIsQuestScript; bool bIsMagicEffectScript; bool bIsCompiled; }; struct SCRIPT_REFERENCED_OBJECT { void*/*BSStringT*/ cEditorID; TESForm* pForm; u32 uiVariableID; }; struct SCRIPT_EFFECT_DATA { bool m_bScriptEffectStart; bool m_bScriptEffectFinish; float m_fSecondsElapsed; }; struct SCRIPT_PARAMETER_DEF { u32 eParamType; // 00 u8 bCanBeVariable; // 04 u8 bReferencedObject; // 05 }; // 0C struct SCRIPT_PARAMETER { const char* pParamName; // 00 u32 eParamType; // 04 u32 bOptional; // 08 }; struct SCRIPT_OPERATOR { u32 eCode; // 00 u8 cPrecedence; // 04 u8 pOperator; // 05 }; class Script; struct ScriptLocals { Script* m_pMasterScript; // 00 u8 m_cFlags; // 08 u8 pad09[7]; // 09 BSSimpleList* m_pActionList; // 10 BSSimpleList* m_pLocalList; // 20 SCRIPT_EFFECT_DATA* m_pScriptEffectData; // 38 }; typedef bool (*ExecuteFunction)(const SCRIPT_PARAMETER* paramInfo, const char*, TESObjectREFR* thisObj, TESObjectREFR* containingObj, Script* script, ScriptLocals* locals, float* result, u32* opcodeOffsetPtr); class Script { public: // 58 struct SCRIPT_FUNCTION { const char* pFunctionName; // 00 const char* pShortName; // 08 u32 eOutput; // 10 u32 pad14; // 14 const char* pHelpString; // 18 u8 bReferenceFunction; // 20 u8 pad21; // 21 u16 sParamCount; // 22 u32 pad24; // 24 SCRIPT_PARAMETER* pParameters; // 28 ExecuteFunction pExecuteFunction; // 30 void* pCompileFunction; // 38 void* pConditionFunction; // 40 u8 bEditorFilter; // 48 u8 bInvalidatesCellList; // 49 u8 unk4A; // 4A u8 unk4B; // 4B u8 unk4C; // 4C u8 unk4E; // 4D u8 unk4F; // 4F u8 unk50; // 50 u8 unk51; // 51 }; enum { kScript_NumScriptCommands = 0x03C0, kScript_NumConsoleCommands = 0x0247, kScript_ScriptOpBase = 0x1000, kScript_ConsoleOpBase = 0x0100, }; SCRIPT_HEADER m_header; char* m_text; char* m_data; float fProfilerTimer; float fQuestScriptDelay; float fQuestScriptGetSecondsBuffer; TESQuest* pParentQuest; BSSimpleList listRefObjects; BSSimpleList listVariables; }; extern RelocPtr g_firstScriptCommand; extern RelocPtr g_firstConsoleCommand; ================================================ FILE: sfse/GameSettings.cpp ================================================ #include "sfse/GameSettings.h" RelocPtr SettingT::pCollection(0x06202A48); RelocPtr SettingT::pCollection(0x06202A58); RelocPtr SettingT::pCollection(0x062020C0); RelocPtr SettingT::pCollection(0x061E7FD0); u32 Setting::GetType(void) const { if (!name || !name[0]) return kType_None; switch (name[0]) { case 'b': return kType_Binary; case 'c': return kType_Char; case 'h': return kType_UChar; case 'i': return kType_Int; case 'u': return kType_UInt; case 'f': return kType_Float; case 'S': return kType_String; // dynamically allocated string case 's': return kType_String; // statically allocated string case 'r': return kType_RGB; case 'a': return kType_RGBA; } return kType_None; } bool Setting::GetDouble(double* out) const { switch (GetType()) { case kType_Int: *out = data.s32; break; case kType_Float: *out = data.f32; break; case kType_String: return false; case kType_Binary: *out = data.u8 ? 1 : 0; break; default: return false; case kType_None: return false; } return true; } bool Setting::SetDouble(double value) { switch (GetType()) { case kType_Int: data.s32 = static_cast(value); break; case kType_Float: data.f32 = static_cast(value); break; case kType_String: return false; case kType_Binary: data.u8 = value ? 1 : 0; break; default: return false; case kType_None: return false; } return true; } Setting* INISettingCollection::GetSetting(const char* name) { auto node = &SettingsA.node; do { auto item = node->m_item; if (item) { if (_stricmp(name, item->name) == 0) { return item; } } node = node->m_pkNext; } while (node); return nullptr; } ================================================ FILE: sfse/GameSettings.h ================================================ #pragma once #include "sfse_common/Types.h" #include "sfse_common/Relocation.h" #include "sfse_common/Utilities.h" #include "sfse/GameTypes.h" class Setting { public: virtual ~Setting(); enum { kType_Binary, // b kType_Char, // c kType_UChar, // h kType_Int, // i kType_UInt, // u kType_Float, // f kType_String, // s/S kType_RGB, // r kType_RGBA, // a kType_None }; union Data { u32 u32; s32 s32; float f32; u8 u8; // used for bool char* s; }; Data data; // 08 Data defaultData; // 10 char* name; // 18 u32 GetType(void) const; bool GetDouble(double* out) const; bool SetDouble(double value); bool SetString(const char* value); }; template class SettingCollection { public: virtual ~SettingCollection(); virtual void Add(T* apSetting) = 0; // 01 virtual void Remove(T* apSetting) = 0; // 02 virtual void Unk_03() = 0; // 03 virtual void WriteSetting(T& arSetting) = 0; // 04 virtual void ReadSetting(T& arSetting) = 0; // 05 virtual bool Open(); // 06 virtual bool Close(); // 07 virtual bool ReadSettingsFromProfile(); // 08 virtual void Unk_09(); // 09 virtual bool WriteSettings(); // 0A virtual bool ReadSettings(); // 0B char pSettingFile[260]; // 008 u32 pad10C; // 10C void* pHandle; // 110 }; template class SettingCollectionList : public SettingCollection { public: virtual ~SettingCollectionList(); BSSimpleList SettingsA; // 118 u64 unk128; // 128 u64 unk130; // 130 }; template class SettingCollectionMap : public SettingCollection { public: virtual ~SettingCollectionMap(); u64 unk118; // BSTBTree ? Doesnt match F4 exactly u64 unk120; u64 unk128; u64 unk130; u64 unk138; u64 unk140; u64 unk148; u64 unk150; }; class INISettingCollection : public SettingCollectionList { public: virtual ~INISettingCollection(); Setting* GetSetting(const char* name); }; class INIPrefSettingCollection : public INISettingCollection { public: virtual ~INIPrefSettingCollection(); }; class RegSettingCollection : public SettingCollectionList { public: virtual ~RegSettingCollection(); }; class GameSettingCollection : public SettingCollectionMap { public: virtual ~GameSettingCollection(); DEFINE_MEMBER_FN_1(GetSetting, Setting*, 0x00685440, const char*); }; static_assert(sizeof(GameSettingCollection) == 0x158); template class SettingT { public: static RelocPtr pCollection; }; ================================================ FILE: sfse/GameSingleton.h ================================================ #pragma once template class BSTSingletonImplicit { public: using value_type = T; }; template class BSTSingletonExplicit { public: using value_type = T; }; template struct BSTSingletonSDMOpStaticBuffer { public: using value_type = T; }; template struct BSTSingletonSDMBase : public Traits, public BSTSingletonSDMOpStaticBuffer { public: }; template struct BSTSDMTraits { public: using value_type = T; }; template class Buffer = BSTSingletonSDMOpStaticBuffer> struct BSTSingletonSDM : public BSTSingletonSDMBase>> { public: using value_type = T; }; ================================================ FILE: sfse/GameStreams.h ================================================ #pragma once #include "sfse_common/Types.h" #include "sfse_common/Utilities.h" namespace BSResource { enum ErrorCode { EC_NONE = 0, EC_NOT_EXIST, EC_INVALID_PATH, EC_FILE_ERROR, EC_INVALID_TYPE, EC_MEMORY_ERROR, EC_BUSY, EC_INVALID_PARAM, EC_UNSUPPORTED, }; class Info { public: struct FILETIME { u32 dwLowDateTime; u32 dwHighDateTime; }; FILETIME ModifyTime; FILETIME CreateTime; u64 uiFileSize; }; class StreamBase { public: virtual ~StreamBase(); virtual BSResource::ErrorCode DoOpen() = 0; virtual void DoClose() = 0; virtual u64 DoGetKey() = 0; virtual BSResource::ErrorCode DoGetInfo(Info*) = 0; u32 uiTotalSize; u32 uiFlags; }; }; class NiBinaryStream { public: NiBinaryStream() : m_uiAbsoluteCurrentPos(0) { } virtual ~NiBinaryStream() { } virtual operator bool() = 0; virtual void Seek(s64 iNumBytes) = 0; virtual u64 GetPosition() const = 0; struct BufferInfo { void* pvBuffer; u64 uiTotalSize; u64 uiBufferAllocSize; u64 uiBufferReadSize; u64 uiBufferPos; u64 uiStreamPos; }; virtual void GetBufferInfo(BufferInfo& info) { info.pvBuffer = nullptr; info.uiTotalSize = 0; info.uiBufferAllocSize = 0; info.uiBufferReadSize = 0; info.uiBufferPos = 0; info.uiStreamPos = 0; } virtual u64 DoRead(void* apBuffer, u64 auiBytes) = 0; virtual u64 DoWrite(const void* apBuffer, u64 auiBytes) = 0; u64 m_uiAbsoluteCurrentPos; // 08 }; class BSResourceNiBinaryStream : public NiBinaryStream { public: BSResourceNiBinaryStream() = delete; BSResourceNiBinaryStream(const char* apName) { Construct(apName); } virtual ~BSResourceNiBinaryStream() { Destroy(); } virtual operator bool() override { return spStream != nullptr; } virtual void Seek(s64 iNumBytes) override { Seek_Impl(iNumBytes); } virtual u64 GetPosition() const override { return uiStreamPos; } virtual void GetBufferInfo(BufferInfo& info) override { GetBufferInfo_Impl(info); } virtual u64 DoRead(void* apBuffer, u64 auiBytes) override { return DoRead_Impl(apBuffer, auiBytes); }; virtual u64 DoWrite(const void* apBuffer, u64 auiBytes) override { return DoWrite_Impl(apBuffer, auiBytes); }; u32 GetSize() const { return spStream ? spStream->uiTotalSize : 0; } template void GetLine(T* apDest, u32 auiBufferSize, int aiDelim) { T* iter = apDest; if (auiBufferSize == 0) return 0; for (u32 i = 0; i < auiBufferSize - 1; i++) { T data; u64 bytesRead = DoRead(&data, sizeof(T)) != sizeof(T); m_uiAbsoluteCurrentPos += bytesRead; if (!bytesRead) break; if (data == aiDelim) break; *iter++ = data; } // null terminate *iter = 0; return iter - apDest; } BSResource::StreamBase*/*BSTSmartPointer*/ spStream; // 10 void/*BSResourceNiBinaryStream::BufferType*/* pBuffer; // 18 u64 uiStreamPos; // 20 BSResource::ErrorCode eLastError; // 28 DEFINE_MEMBER_FN_1(Construct, void, 0x02BD2E10, const char* apName); DEFINE_MEMBER_FN_0(Destroy, void, 0x02BD3100); DEFINE_MEMBER_FN_1(Seek_Impl, void, 0x02BD3250, s64 iNumBytes); DEFINE_MEMBER_FN_1(GetBufferInfo_Impl, void, 0x02BD33A0, BufferInfo& info); DEFINE_MEMBER_FN_2(DoRead_Impl, u64, 0x02BD32A0, void* apBuffer, u64 auiBytes); DEFINE_MEMBER_FN_2(DoWrite_Impl, u64, 0x02BD3320, const void* apBuffer, u64 auiBytes); }; static_assert(sizeof(BSResourceNiBinaryStream) == 0x30); ================================================ FILE: sfse/GameTypes.cpp ================================================ #include "sfse/GameTypes.h" RelocAddr BSStringPool::Entry::GetEntry(0x028CFB80); RelocAddr BSStringPool::Entry::GetEntryW(0x028D0230); RelocAddr BSStringPool::Entry::Release(0x028CEF30); RelocPtr BSCRC32::uiCRCTable(0x04D5CD80); ================================================ FILE: sfse/GameTypes.h ================================================ #pragma once #include "sfse_common/Types.h" #include "sfse_common/Relocation.h" #include "sfse/GameMemory.h" #include #include #include #if _HAS_CXX20 #include #endif #include template class BSSimpleList { public: struct Node { T m_item; Node* m_pkNext; }; Node node; }; // Does not actually do refcounting atm, just a wrapper template class BSTSmartPointer { public: constexpr element_type* get() const noexcept { return _ptr; } explicit constexpr operator bool() const noexcept { return _ptr != nullptr; } constexpr element_type& operator*() const noexcept { return *_ptr; } constexpr element_type* operator->() const noexcept { return _ptr; } private: element_type* _ptr; }; class BSTArrayBase { public: using size_type = u32; BSTArrayBase() : uiSize(0), uiAllocSize(0) { } struct IAllocatorFunctor { virtual bool Allocate(u32 auiMinNewSize, u32 auiElemSize) = 0; virtual bool Reallocate(u32 auiMinNewSizeInItems, u32 auiFrontCopyCount, u32 auiShiftCount, u32 auiBackCopyCount, u32 auiElemSize) = 0; virtual void Deallocate() = 0; virtual ~IAllocatorFunctor() { }; }; size_type uiSize; // 00 size_type uiAllocSize; // 04 [[nodiscard]] size_type size() const noexcept { return uiSize; } [[nodiscard]] size_type capacity() const noexcept { return uiAllocSize; } void set_capacity(size_type a_capacity, size_type) noexcept { uiAllocSize = a_capacity; } }; template class BSTArrayAllocatorFunctor : public BSTArrayBase::IAllocatorFunctor { public: T* pAllocator; // 00 }; class BSTArrayHeapAllocator { public: [[nodiscard]] void* allocate(u32 a_bytes) { return GetMemoryManager()->Allocate(a_bytes, 0, false); } void deallocate(void* a_ptr) { GetMemoryManager()->Free(a_ptr, false); } }; class BSScrapArrayAllocator { public: void* pScrapHeap; // 00 }; template class BSTArray : public BSTArrayBase, public Allocator { public: using value_type = T; using allocator_type = Allocator; using size_type = std::uint32_t; using difference_type = std::ptrdiff_t; using reference = value_type&; using const_reference = const value_type&; using pointer = value_type*; using const_pointer = const value_type*; using iterator = pointer; using const_iterator = const_pointer; using reverse_iterator = std::reverse_iterator; using const_reverse_iterator = std::reverse_iterator; BSTArray() : pData(nullptr) { } [[nodiscard]] iterator begin() noexcept { return pData; } [[nodiscard]] iterator end() noexcept { return begin() + uiSize; } [[nodiscard]] reference front() noexcept { return *begin(); } [[nodiscard]] reference back() noexcept { return *std::prev(end()); } [[nodiscard]] const_iterator cbegin() const noexcept { return pData; } [[nodiscard]] const_iterator cend() const noexcept { return cbegin() + uiSize; } [[nodiscard]] size_type max_size() const noexcept { return (std::numeric_limits::max)(); } [[nodiscard]] size_type capacity() const noexcept { return uiAllocSize; } void clear() { erase(begin(), end()); } value_type& at(u32 i) const noexcept { return pData[i]; } void push_back(value_type&& x) { emplace_back(std::move(x)); } reference operator[](size_type n) { return pData[n]; } const_reference operator[](size_type n) const { return pData[n]; } #if !_HAS_CXX20 template constexpr auto construct_at(_Tp* __location, _Args&&... __args) noexcept(noexcept(::new((void*)0) _Tp(std::declval<_Args>()...))) -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } #endif bool empty() const { return size() == 0; } template iterator insert(const_iterator a_pos, ForwardIt a_first, ForwardIt a_last) // { const auto distance = static_cast(std::distance(a_first, a_last)); if (distance == 0) { return decay_iterator(a_pos); } const auto pos = static_cast(std::distance(cbegin(), a_pos)); resize(size() + distance); const auto iter = begin() + pos; std::move_backward(iter, iter + distance, end()); std::copy(a_first, a_last, iter); return iter; } template iterator emplace(const_iterator a_pos, Args&&... a_args) { const auto pos = static_cast(std::distance(cbegin(), a_pos)); if (pos < size()) { emplace_back(std::move(back())); std::move_backward(begin() + pos, end() - 2, end() - 1); } else { reserve_auto(size() + 1); uiSize += 1; } #if _HAS_CXX20 std::construct_at(data() + pos, std::forward(a_args)...); #else construct_at(data() + pos, std::forward(a_args)...); #endif return begin() + pos; } iterator erase(const_iterator a_first, const_iterator a_last) { const auto first = decay_iterator(a_first); const auto last = decay_iterator(a_last); const auto distance = static_cast(std::distance(first, last)); if (distance == 0) { return last; } std::move(last, end(), first); std::destroy(end() - distance, end()); uiSize -= distance; return end(); } iterator erase(const_iterator a_pos) { return erase(a_pos, std::next(a_pos)); } template reference emplace_back(Args&&... a_args) { return *emplace(end(), std::forward(a_args)...); } void pop_back() { erase(std::prev(end())); } void resize(size_type a_count) { resize_impl(a_count, nullptr); } void resize(size_type a_count, const value_type& a_value) { resize_impl(a_count, std::addressof(a_value)); } void swap(BSTArray& a_rhs) { auto tmp = std::move(*this); *this = std::move(a_rhs); a_rhs = std::move(tmp); } DEFINE_STATIC_HEAP(Heap_Allocate, Heap_Free) private: [[nodiscard]] iterator decay_iterator(const_iterator a_iter) noexcept { return const_cast(std::addressof(*a_iter)); } void reserve_auto(size_type a_capacity) { if (a_capacity > capacity()) { const auto grow = (std::max)(a_capacity, capacity() * 2); reserve_exact(grow); } } void reserve_exact(size_type a_capacity) { if (a_capacity == capacity()) { return; } const auto ndata = static_cast(allocator_type().allocate(a_capacity * sizeof(value_type))); const auto odata = data(); if (ndata != odata) { std::uninitialized_move_n(odata, size(), ndata); std::destroy_n(odata, size()); allocator_type().deallocate(odata); set_data(ndata); set_capacity(a_capacity, a_capacity * sizeof(value_type)); } } void resize_impl(size_type a_count, const value_type* a_value) { if (a_count < size()) { erase(begin() + a_count, end()); } else if (a_count > size()) { reserve_auto(a_count); #if _HAS_CXX20 std::span range{ data() + uiSize, a_count - uiSize }; if (a_value) { std::for_each( range.begin(), range.end(), [=](auto& a_elem) { std::construct_at(std::addressof(a_elem), *a_value); }); } else { std::uninitialized_default_construct( range.begin(), range.end()); } #else if (a_value) { for (size_type i = uiSize; i < a_count - uiSize; ++i) { construct_at(std::addressof(data() + i), *a_value); } } else { std::uninitialized_default_construct_n(data() + uiSize, a_count - uiSize); } #endif uiSize = a_count; } } [[nodiscard]] T* data() noexcept { return pData; } [[nodiscard]] const T* data() const noexcept { return pData; } void set_data(T* a_data) noexcept { pData = a_data; } T* pData; // 08 or 10 }; static_assert(sizeof(BSTArray) == 0x10); template class BSScrapArray : public BSTArray { public: }; static_assert(sizeof(BSScrapArray) == 0x18); namespace BSStringPool { class Entry { public: Entry() = delete; Entry(const Entry& other) = delete; Entry& operator=(const Entry& other) = delete; Entry(Entry&& other) = delete; enum { kFlags_External = 0x2 }; BSStringPool::Entry* pLeft; // 00 u64 uiLengthOrPtr; // 08 volatile long refCount; // 10 u8 uFlags; // 14 u8 pad[3]; // 15 char pData[0]; // 18 template const C* GetStringC() { Entry* iter = this; while (iter->uFlags & kFlags_External) iter = reinterpret_cast(uiLengthOrPtr); return reinterpret_cast(&iter->pData[0]); } size_t GetLength() { Entry * iter = this; while (iter->uFlags & kFlags_External) iter = reinterpret_cast(uiLengthOrPtr); return iter->uiLengthOrPtr; } using GetEntryT = void (*)(Entry*& entry, const char* apString, bool abCaseSensitive); static RelocAddr GetEntry; using GetEntryWT = void (*)(Entry*& entry, const wchar_t* apString, bool abCaseSensitive); static RelocAddr GetEntryW; using ReleaseT = void (*)(Entry*& entry); static RelocAddr Release; }; } class BSFixedString { public: BSFixedString(const char* apString, bool abCaseSensitive = false) { pData = nullptr; if(apString) BSStringPool::Entry::GetEntry(pData, apString, abCaseSensitive); } ~BSFixedString() { if (pData) BSStringPool::Entry::Release(pData); } BSFixedString(const BSFixedString& other) { if (other.pData) { _InterlockedExchangeAdd(&other.pData->refCount, 1); } pData = other.pData; } BSFixedString& operator=(const BSFixedString& other) { if (pData != other.pData) { if (other.pData) { _InterlockedExchangeAdd(&other.pData->refCount, 1); } BSStringPool::Entry* prevData = pData; pData = other.pData; BSStringPool::Entry::Release(prevData); } return *this; } BSFixedString(BSFixedString&& other) noexcept { pData = other.pData; other.pData = nullptr; } bool operator==(const char* lhs) const { BSFixedString tmp(lhs); return pData == tmp.pData; } size_t size() const { return pData ? pData->GetLength() : 0; } bool operator==(const BSFixedString& lhs) const { return pData == lhs.pData; } bool operator<(const BSFixedString& lhs) const { return pData < lhs.pData; } const char* c_str() const { return pData ? pData->GetStringC() : nullptr; } operator const char* () const { return pData ? pData->GetStringC() : nullptr; } static BSFixedString& Empty() { static BSFixedString empty(""); return empty; } BSStringPool::Entry* pData; }; class BSFixedStringW { public: BSFixedStringW(const wchar_t* apString, bool abCaseSensitive = false) { pData = nullptr; if(apString) BSStringPool::Entry::GetEntryW(pData, apString, abCaseSensitive); } ~BSFixedStringW() { if (pData) BSStringPool::Entry::Release(pData); } BSFixedStringW(const BSFixedStringW& other) { if (other.pData) { _InterlockedExchangeAdd(&other.pData->refCount, 1); } pData = other.pData; } BSFixedStringW& operator=(const BSFixedStringW& other) { if (pData != other.pData) { if (other.pData) { _InterlockedExchangeAdd(&other.pData->refCount, 1); } BSStringPool::Entry* prevData = pData; pData = other.pData; BSStringPool::Entry::Release(prevData); } return *this; } BSFixedStringW(BSFixedStringW&& other) noexcept { pData = other.pData; other.pData = nullptr; } bool operator==(const wchar_t* lhs) const { BSFixedStringW tmp(lhs); return pData == tmp.pData; } size_t size() const { return pData ? pData->GetLength() : 0; } bool operator==(const BSFixedString& lhs) const { return pData == lhs.pData; } bool operator<(const BSFixedString& lhs) const { return pData < lhs.pData; } const wchar_t* c_str() const { return pData ? pData->GetStringC() : nullptr; } operator const wchar_t* () const { return pData ? pData->GetStringC() : nullptr; } BSStringPool::Entry* pData; }; class BSFixedStringWCS : public BSFixedStringW { public: BSFixedStringWCS(const wchar_t* apString) : BSFixedStringW(apString, true) { } static BSFixedStringWCS& Empty() { static BSFixedStringWCS empty(L""); return empty; } }; class BSFixedStringCS : public BSFixedString { public: BSFixedStringCS(const char* apString) : BSFixedString(apString, true) { } static BSFixedStringCS& Empty() { static BSFixedStringCS empty(""); return empty; } }; class BGSLocalizedStringDL { public: u32 uiID; }; // 08 struct BSIntrusiveRefCounted { public: volatile long m_refCount; // 00 u32 unk04; // 04 }; struct BSCRC32 { static RelocPtr uiCRCTable; static u32 GenerateCRC(u32 initial, const void* buf, size_t len) { u32 c = initial; const u8* u = static_cast(buf); for (size_t i = 0; i < len; ++i) { c = uiCRCTable[(c ^ u[i]) & 0xFF] ^ (c >> 8); } return c; } }; namespace BSHash { class FNV1a { public: size_t operator()(const u32& key) { return std::_Fnv1a_append_bytes(0xCBF29CE484222325, reinterpret_cast(&key), 4); } }; template class String { size_t operator()(const T& key) { return BSCRC32::GenerateCRC(0, key.c_str(), key.size()); } }; class XOR { public: size_t operator()(const BSFixedString& key) { return (reinterpret_cast(key.c_str()) >> 32) ^ (reinterpret_cast(key.c_str()) & 0xFFFFFFFF); } size_t operator()(const BSFixedStringW& key) { return (reinterpret_cast(key.c_str()) >> 32) ^ (reinterpret_cast(key.c_str()) & 0xFFFFFFFF); } }; } template class BSTScatterTableDefaultHashPolicy { public: size_t operator()(const T& key) = delete; }; template<> class BSTScatterTableDefaultHashPolicy { public: size_t operator()(const BSFixedString& key) { return BSHash::XOR()(key); } }; template<> class BSTScatterTableDefaultHashPolicy { public: size_t operator()(const BSFixedStringCS& key) { return BSHash::XOR()(key); } }; template<> class BSTScatterTableDefaultHashPolicy { public: size_t operator()(const BSFixedStringW& key) { return BSHash::XOR()(key); } }; template<> class BSTScatterTableDefaultHashPolicy { public: size_t operator()(const BSFixedStringW& key) { return BSHash::XOR()(key); } }; template<> class BSTScatterTableDefaultHashPolicy { public: size_t operator()(const u32& key) { return BSCRC32::GenerateCRC(0, &key, 4); } }; template struct BSTScatterTableDefaultKVStorage { public: BSTScatterTableDefaultKVStorage() : Key(), Value() {} BSTScatterTableDefaultKVStorage(const T1& a_first, const T2& a_second) : Key(a_first), Value(a_second) {} BSTScatterTableDefaultKVStorage(const BSTScatterTableDefaultKVStorage& a_rhs) : Key(a_rhs.Key), Value(a_rhs.Value) {} BSTScatterTableDefaultKVStorage(BSTScatterTableDefaultKVStorage&& a_rhs) : Key(std::move(a_rhs.Key)), Value(std::move(a_rhs.Value)) { } BSTScatterTableDefaultKVStorage& operator=(const BSTScatterTableDefaultKVStorage& a_rhs) { Key = a_rhs.Key; Value = a_rhs.Value; } BSTScatterTableDefaultKVStorage& operator=(BSTScatterTableDefaultKVStorage&& a_rhs) { Key = std::move(a_rhs.Key); Value = std::move(a_rhs.Value); } // Convenience to convert from std::make_pair BSTScatterTableDefaultKVStorage(const std::pair& pair) : Key(pair.first), Value(pair.second) {} T1 Key; // 00 T2 Value; // ?? }; template class Storage = BSTScatterTableDefaultKVStorage> struct BSTScatterTableTraits { public: using key_type = Key; using mapped_type = T; using value_type = Storage; const key_type& operator()(const value_type& a_value) const { return a_value.Key; } }; template class Storage = BSTScatterTableDefaultKVStorage> struct BSTScatterTableEntry { Storage Value; s32 iNextIndex; s32 iIndex; BSTScatterTableEntry(BSTScatterTableEntry&& a_rhs) : Value(std::move(a_rhs.Value)), iNextIndex(std::move(a_rhs.iNextIndex)), iIndex(std::move(a_rhs.iIndex)) { a_rhs.iIndex = -1; a_rhs.iNextIndex = -1; } }; template struct BSTScatterTableHeapAllocator { public: using entry_type = T; using size_type = u32; BSTScatterTableHeapAllocator() {} entry_type* allocate(std::size_t a_num) { auto size = a_num * sizeof(entry_type); auto mem = (entry_type*)GetMemoryManager()->Allocate(size, 8, 1); memset(mem, 0, size); for (u64 i = 0; i < a_num; ++i) { mem[i].iNextIndex = -1; mem[i].iIndex = -1; } return mem; } void deallocate(entry_type* a_ptr) { GetMemoryManager()->Free(a_ptr, true); } size_type min_size() const { return static_cast(1) << 3; } size_type max_size() const { return static_cast(1) << 31; } }; // Maybe related to the allocator type? struct BSTScatterTableParent1 { void* unk00 = nullptr; u64 unk08 = 0; u64 unk10 = 0; }; // Maybe related to the allocator type? struct BSTScatterTableParent2 { void* unk00 = nullptr; u64 unk08 = 0; }; template < class Traits, u32 N, template class Allocator, class Hash, class KeyEqual, class Parent > class BSTScatterTableBase : public Parent { public: using traits_type = Traits; using key_type = typename traits_type::key_type; using mapped_type = typename traits_type::mapped_type; using value_type = typename traits_type::value_type; using hasher = Hash; using key_equal = KeyEqual; using size_type = u32; using entry_type = BSTScatterTableEntry; using allocator_type = Allocator; BSTScatterTableBase() : Parent(), pTable(nullptr), uiSize(0), uiFree(0), uiLastFree(0) { } ~BSTScatterTableBase() { if (pTable) { deallocate(pTable); pTable = nullptr; } } DEFINE_STATIC_HEAP(Heap_Allocate, Heap_Free) template struct iterator_base { public: typedef std::ptrdiff_t difference_type; typedef U value_type; typedef U* pointer; typedef U& reference; typedef std::forward_iterator_tag iterator_category; iterator_base() : _entry(nullptr), _end(nullptr) {} iterator_base(const iterator_base& a_rhs) : _entry(a_rhs._entry), _end(a_rhs._end) {} iterator_base(iterator_base&& a_rhs) noexcept : _entry(std::move(a_rhs._entry)), _end(a_rhs._end) { a_rhs._entry = a_rhs._end; } iterator_base(entry_type* a_entry, entry_type* a_end) : _entry(a_entry), _end(a_end) { while (_entry != _end && _entry->iNextIndex == -1) { ++_entry; } } ~iterator_base(){} iterator_base& operator=(const iterator_base& a_rhs) { _entry = a_rhs._entry; } iterator_base& operator=(iterator_base&& a_rhs) { _entry = std::move(a_rhs._entry); a_rhs._entry = a_rhs._end; } void swap(iterator_base& a_rhs) { std::swap(_entry, a_rhs._entry); } reference operator*() const { return _entry->Value; } pointer operator->() const { return std::addressof(_entry->Value); } bool operator==(const iterator_base& a_rhs) const { return _entry == a_rhs._entry; } bool operator!=(const iterator_base& a_rhs) const { return !operator==(a_rhs); } iterator_base& operator++() { do { ++_entry; } while (_entry != _end && _entry->iNextIndex == -1); return *this; } iterator_base operator++(int) { iterator_base tmp{ *this }; operator++(); return tmp; } private: entry_type* _entry; entry_type* _end; }; using iterator = iterator_base; using const_iterator = iterator_base; hasher hash_function() const { return hasher(); } key_equal key_eq() const { return key_equal(); } bool comp_key(const key_type& a_lhs, const key_type& a_rhs) const { return key_eq()(a_lhs, a_rhs); } iterator begin() { return get_entries() ? make_iterator(get_entries()) : iterator(); } const_iterator begin() const { return get_entries() ? make_iterator(get_entries()) : const_iterator(); } const_iterator cbegin() const { return begin(); } iterator end() { return get_entries() ? make_iterator(get_entries() + uiSize) : iterator(); } const_iterator end() const { return get_entries() ? make_iterator(get_entries() + uiSize) : const_iterator(); } const_iterator cend() const { return end(); } bool empty() const { return !get_entries() || uiFree == 0; } size_type size() const { return uiSize - uiFree; } size_type max_size() const { return allocator_type().max_size(); } std::pair insert(const value_type& a_value) { return insert_impl(false, a_value); } std::pair insert(value_type&& a_value) { return insert_impl(false, std::move(a_value)); } std::pair insert_or_assign(const value_type& a_value) { return insert_impl(true, a_value); } std::pair insert_or_assign(value_type&& a_value) { return insert_impl(true, std::move(a_value)); } std::pair insert_or_assign(const key_type& a_key, const mapped_type& a_value) { return insert_impl(true, value_type(a_key, a_value)); } size_type erase(const key_type& a_key) { if (!get_entries()) { // no entries return 0; } auto entry = get_pos(calc_idx(a_key)); if (entry->iNextIndex == -1) { // key not in table return 0; } entry_type* tail = nullptr; while (!comp_key(get_key(entry->Value), a_key)) { // find key in table tail = entry; entry = get_pos(entry->iNextIndex); if (entry == get_pos(uiSize)) { return 0; } } entry->Value.~value_type(); if (entry->iNextIndex == uiSize) { // if no chain if (tail) { tail->iNextIndex = static_cast(uiSize); } entry->iNextIndex = -1; entry->iIndex = -1; } else { // else move next entry into current and clear the old entry new (entry) entry_type(std::move(*get_pos(entry->iNextIndex))); } ++uiFree; return 1; } iterator find(const key_type& a_key) { auto entry = find_impl(a_key); return entry ? make_iterator(entry) : end(); } const_iterator find(const key_type& a_key) const { auto entry = find_impl(a_key); return entry ? make_iterator(entry) : end(); } void reserve(size_type a_count) { if (a_count <= uiSize) { return; } u32 leftShifts = 0; while ((a_count & static_cast(1 << 31)) == 0) { a_count <<= 1; ++leftShifts; } auto bitPos = 31 - leftShifts; auto newCount = static_cast(1 << bitPos); grow(newCount); } void clear() { auto entries = get_entries(); clear_entries(0, uiSize); uiFree = uiSize; } private: bool grow() { if (uiSize == (u32)1 << 31) { return false; } u32 newCapacity = static_cast(uiSize ? uiSize << 1 : min_size()); return grow(newCapacity); } void clear_entries(u64 start, u64 end) { for (u64 i = start; i < end; ++i) { auto entry = get_pos(i); if (entry->iNextIndex != -1) { entry->Value.~value_type(); entry->iNextIndex = -1; entry->iIndex = -1; } } } bool grow(u32 a_newCapacity) { auto oldEntries = get_entries(); auto begIter = begin(); auto endIter = end(); auto newEntries = allocate(a_newCapacity); if (!newEntries) { return false; } else if (newEntries == oldEntries) { uiSize = a_newCapacity; return true; } else { uiSize = a_newCapacity; uiLastFree = a_newCapacity; uiFree = a_newCapacity; set_entries(newEntries); while (begIter != endIter) { insert(std::move(*begIter)); ++begIter; } deallocate(oldEntries); return true; } } size_t calc_hash(const key_type& a_key) const { return hash_function()(a_key); } u64 calc_idx(const key_type& a_key) const { return calc_hash(a_key) & (uiSize - 1); // capacity is always a factor of 2, so this is a faster modulo } entry_type* find_impl(const key_type& a_key) const { if (!get_entries()) { return nullptr; } auto probe = get_pos(calc_idx(a_key)); // try ideal pos if (probe->iNextIndex == -1) { return nullptr; // nothing there } do { if (comp_key(get_key(probe->Value), a_key)) { return probe; } else { probe = get_pos(probe->iNextIndex); } } while (probe != get_pos(uiSize)); // follow chain return nullptr; } template std::pair insert_impl(bool a_overwrite, Arg&& a_value) { if (!get_entries() || !uiFree) { if (!grow()) { return std::make_pair(end(), false); // maybe throw? } } auto idealEntry = calc_pos(get_key(a_value)); // Slot is empty, fill it if (idealEntry->iNextIndex == -1) { new (std::addressof(idealEntry->Value)) value_type(std::forward(a_value)); idealEntry->iNextIndex = static_cast(uiSize); idealEntry->iIndex = static_cast(std::distance(get_pos(0), idealEntry)); --uiFree; return std::make_pair(make_iterator(idealEntry), true); } for (auto iter = idealEntry; iter != get_pos(uiSize); iter = get_pos(iter->iNextIndex)) { if (comp_key(get_key(iter->Value), get_key(a_value))) { if (a_overwrite) { iter->Value.~value_type(); new (std::addressof(iter->Value)) value_type(std::forward(a_value)); } return std::make_pair(make_iterator(iter), false); } } auto freeEntry = get_free_entry(); auto takenIdealEntry = calc_pos(get_key(idealEntry->Value)); if (takenIdealEntry == idealEntry) { // if entry occupying our slot would've hashed here anyway freeEntry->iIndex = idealEntry->iIndex; freeEntry->iNextIndex = idealEntry->iNextIndex; idealEntry->iNextIndex = static_cast(std::distance(get_pos(0), freeEntry)); new (std::addressof(freeEntry->Value)) value_type(std::forward(a_value)); --uiFree; return std::make_pair(make_iterator(freeEntry), true); } while (takenIdealEntry->iNextIndex != static_cast(std::distance(get_pos(0), idealEntry))) { // find entry that links here takenIdealEntry = get_pos(takenIdealEntry->iNextIndex); } // move taken slot out, so we can move in new (std::addressof(freeEntry->Value)) value_type(std::move(idealEntry->Value)); freeEntry->iNextIndex = idealEntry->iNextIndex; freeEntry->iIndex = idealEntry->iIndex; takenIdealEntry->iNextIndex = static_cast(std::distance(get_pos(0), freeEntry)); new (std::addressof(idealEntry->Value)) value_type(std::forward(a_value)); idealEntry->iNextIndex = static_cast(uiSize); --uiFree; return std::make_pair(make_iterator(idealEntry), true); } entry_type* get_pos(u64 index) const { return const_cast(get_entries() + index); } entry_type* calc_pos(const key_type& a_key) const { return get_pos(calc_idx(a_key)); } entry_type* get_free_entry() { entry_type* entry = nullptr; do { uiLastFree = (uiSize - 1) & (uiLastFree - 1); entry = get_pos(uiLastFree); } while (entry->iNextIndex != -1); return entry; } const key_type& get_key(const value_type& a_value) const { traits_type traits; return traits(a_value); } iterator make_iterator(entry_type* a_entry) { return iterator(a_entry, pTable + uiSize); } const_iterator make_iterator(entry_type* a_entry) const { return const_iterator(a_entry, pTable + uiSize); } entry_type* allocate(std::size_t a_num) { return allocator_type().allocate(a_num); } void deallocate(entry_type* a_ptr) { allocator_type().deallocate(a_ptr); } entry_type* get_entries() const { return pTable; } void set_entries(entry_type* a_entries) { pTable = a_entries; } size_type min_size() const { return allocator_type().min_size(); } entry_type* pTable; u64 uiSize; u64 uiFree; u64 uiLastFree; }; template , class KeyEqual = std::equal_to> class BSTHashMap : public BSTScatterTableBase, 8, BSTScatterTableHeapAllocator, Hash, KeyEqual, BSTScatterTableParent1> { public: }; static_assert(sizeof(BSTHashMap) == 0x38); template , class KeyEqual = std::equal_to> class BSTHashMap2 : public BSTScatterTableBase, 8, BSTScatterTableHeapAllocator, Hash, KeyEqual, BSTScatterTableParent2> { public: }; static_assert(sizeof(BSTHashMap2) == 0x30); ================================================ FILE: sfse/GameUI.cpp ================================================ #include "sfse/GameUI.h" ================================================ FILE: sfse/GameUI.h ================================================ #pragma once #include "sfse_common/Types.h" #include "sfse_common/Utilities.h" #include "sfse/GameSingleton.h" #include "sfse/GameEvents.h" #include class IMenu; class TESObjectCELL; class MenuActor; class BGSKeyword; class TESObjectREFR; class UICellRenderer : public BSIntrusiveRefCounted { public: virtual ~UICellRenderer(); TESObjectCELL* unk10; // 10 void* unk18; // 18 - const BSResource2::TEntryType<0,LoadedCellDB::DBTraits,BSResource2::DBDefaultStreamPolicy> float unk20; // 20 float unk24; // 24 u64 unk28; // 28 void* unk30[4]; // 30 - const BSResource2::TEntryType<0,TextureDB::DBTraits,BSResource2::DBDefaultStreamPolicy> u64 unk50; // 50 u8 unk58[8]; // 58 u64 unk60; // 60 u64 unk68; // 68 - BSMenu3D::Scene }; class MenuPaperDoll : public UICellRenderer { public: virtual ~MenuPaperDoll(); u64 unk70; // 70 u64 unk78; // 78 u64 unk80; // 80 u64 unk88; // 88 u64 unk90; // 90 u64 unk98; // 98 u64 unkA0; // A0 u64 unkA8; // A8 MenuActor* menuActor; // B0 u64 unkB8[(0x1A0 - 0xB8) >> 3]; BGSKeyword* unk1A0; // 1A0 TESObjectREFR* unk1A8; // 1A8 }; static_assert(offsetof(MenuPaperDoll, menuActor) == 0xB0); static_assert(offsetof(MenuPaperDoll, unk1A0) == 0x1A0); class IDataModel { public: virtual ~IDataModel(); virtual void Unk_01(); virtual void Unk_02(); virtual void Unk_03(); void* unk08; // 08 - Model object? }; class BSInputEventUser { public: virtual ~BSInputEventUser(); virtual void Unk_01(); virtual void Unk_02(); virtual void Unk_03(); virtual void Unk_04(); virtual void Unk_05(); virtual void Unk_06(); virtual void Unk_07(); virtual void Unk_08(); virtual void Unk_09(); u64 unk08[(0x38 - 0x08) >> 3]; // 08 bool InputEventHandlingEnabled; // 38 }; static_assert(sizeof(BSInputEventUser) == 0x40); class BSInputEventReceiver { public: virtual ~BSInputEventReceiver(); virtual void Unk_01() = 0; void* unk08; // 08 }; static_assert(sizeof(BSInputEventReceiver) == 0x10); class UI : //public BSTSingletonSDM, public BSInputEventReceiver, // 00 public BSTEventSource, // 10 public BSTEventSource, // 38 public BSTEventSource, // 60 public BSTEventSource, // 88 public BSTEventSource, // B0 public BSTEventSource, // D8 public BSTEventSource, // 100 public BSTEventSource, // 128 public BSTEventSource // 150 { public: virtual ~UI(); virtual void Unk_01(); u64 unk178[(0x430 - 0x178) >> 3]; // 178 BSTArray openMenus; // 430 u64 unk440[(0x4F8 - 0x440) >> 3]; // 440 // This properly locks the data structure, use this DEFINE_MEMBER_FN_2(IsMenuOpen, bool, 0x02547180, const BSFixedString&); static UI* GetSingleton() { RelocPtr singleton(0x05FE1900); return *singleton; } }; static_assert(offsetof(UI, openMenus) == 0x430); ================================================ FILE: sfse/Hooks_Command.cpp ================================================ #include "Hooks_Command.h" #include "sfse_common/Relocation.h" #include "sfse_common/Types.h" #include "sfse_common/Log.h" #include "sfse_common/SafeWrite.h" #include "sfse_common/BranchTrampoline.h" #include "xbyak/xbyak.h" #include #include #include using _Command_Process = bool (*)(void* __this); RelocAddr <_Command_Process> Command_Process(0x028DC380); _Command_Process Command_Process_Original = nullptr; namespace TaskInterface { std::recursive_mutex s_taskQueueLock; std::queue s_tasks; std::vector s_tasksPermanent; bool Command_Process_Hook(void* __this) { bool ret = Command_Process_Original(__this); std::lock_guard lock(s_taskQueueLock); for (auto task : s_tasksPermanent) { task->Run(); } while (!s_tasks.empty()) { auto cmd = s_tasks.front(); s_tasks.pop(); cmd->Run(); cmd->Destroy(); } return ret; } void addTask(SFSETaskInterface::ITaskDelegate* task) { std::lock_guard lock(s_taskQueueLock); s_tasks.push(task); } void addTaskPermanent(SFSETaskInterface::ITaskDelegate* task) { std::lock_guard lock(s_taskQueueLock); s_tasksPermanent.push_back(task); } } void Hooks_Command_Apply() { { struct Command_Process_Code : Xbyak::CodeGenerator { Command_Process_Code(void* buf) : Xbyak::CodeGenerator(4096, buf) { Xbyak::Label retnLabel; mov(ptr[rsp + 0x10], rbx); push(rdi); sub(rsp, 0x20); jmp(ptr[rip + retnLabel]); L(retnLabel); dq(Command_Process.getUIntPtr() + 0x0A); } }; void* codeBuf = g_localTrampoline.startAlloc(); Command_Process_Code code(codeBuf); g_localTrampoline.endAlloc(code.getCurr()); Command_Process_Original = (_Command_Process)codeBuf; g_branchTrampoline.write6Branch(Command_Process.getUIntPtr(), (uintptr_t)TaskInterface::Command_Process_Hook); } } ================================================ FILE: sfse/Hooks_Command.h ================================================ #pragma once #include "PluginAPI.h" namespace TaskInterface { void addTask(SFSETaskInterface::ITaskDelegate* task); void addTaskPermanent(SFSETaskInterface::ITaskDelegate* task); } void Hooks_Command_Apply(); ================================================ FILE: sfse/Hooks_Data.cpp ================================================ #include "Hooks_Data.h" #include "sfse/GameData.h" #include "sfse/PluginManager.h" #include "sfse_common/BranchTrampoline.h" #include "sfse_common/Relocation.h" #include "xbyak/xbyak.h" #if _DEBUG #include "sfse/GameSettings.h" #endif RelocAddr GameDataLoad_Target(0x018966E0 + 0xFBF); typedef void (*_Hooks_GameData_Original)(uint32_t a); RelocAddr <_Hooks_GameData_Original> Hooks_GameData_Original(0x0033BF90); void Hook_GameData_Loaded(uint32_t a) { Hooks_GameData_Original(a); auto dataHandler = TESDataHandler::GetSingleton(); #if 0 auto settings = &(*SettingT::pCollection)->SettingsA.node; do { if (settings->m_item) { if (stricmp(settings->m_item->name, "sTestFile1:General") == 0) { break; } } settings = settings->m_pkNext; } while (settings != nullptr); for (auto item : dataHandler->pFormArray[static_cast(FormType::kRACE)].pFormsA) { auto race = static_cast(item); if (race->editorID == "HumanRace") { auto& chargenData = race->chargenData[0]; for (u32 i = 0; i < 30; ++i) { auto slider = new BGSCharacterMorph::FacialBoneSculptSlider(); slider->BoneExtentMap.insert_or_assign({ "faceBone_C_MouthPivot", new BGSCharacterMorph::FacialBoneSlider::SliderExtents( { { 0,0,0 }, { 0,0,0 }, { -0.1, -0.1, -0.1 } }, { { 0,0,0 }, { 0,0,0 }, { 1.0, 1.0, 1.0 } } ) }); slider->BoneExtentMap.insert_or_assign({ "faceBone_C_TopTeeth", new BGSCharacterMorph::FacialBoneSlider::SliderExtents( { { 0,0,0 }, { 0,0,0 }, { -0.1, -0.1, -0.1 } }, { { 0,0,0 }, { 0,0,0 }, { 1.0, 1.0, 1.0 } } ) }); slider->BoneExtentMap.insert_or_assign({ "faceBone_C_BottomTeeth", new BGSCharacterMorph::FacialBoneSlider::SliderExtents( { { 0,0,0 }, { 0,0,0 }, { -0.1, -0.1, -0.1 } }, { { 0,0,0 }, { 0,0,0 }, { 1.0, 1.0, 1.0 } } ) }); slider->ID = i + 666; char buff[256]; sprintf_s(buff, "mouth - scale - %d", i); slider->unk40 = buff; slider->unk48 = buff; slider->zeroToOne = false; auto mouthKey = chargenData->faceMorphMap.find(22); if (mouthKey != chargenData->faceMorphMap.end()) { mouthKey->Value->PostBlendSliderA.push_back(i + 666); } chargenData->facialSliderMap.insert_or_assign({ (i + 666), slider }); chargenData->sliderCount++; } break; } } #endif PluginManager::dispatchMessage(0, SFSEMessagingInterface::kMessage_PostDataLoad, dataHandler, sizeof(u64), nullptr); PluginManager::dispatchMessage(0, SFSEMessagingInterface::kMessage_PostPostDataLoad, dataHandler, sizeof(u64), nullptr); } void Hooks_Data_Apply() { g_branchTrampoline.write5Branch(GameDataLoad_Target.getUIntPtr(), uintptr_t(Hook_GameData_Loaded)); } ================================================ FILE: sfse/Hooks_Data.h ================================================ #pragma once void Hooks_Data_Apply(); ================================================ FILE: sfse/Hooks_Scaleform.cpp ================================================ #include "Hooks_Scaleform.h" #include "sfse_common/Relocation.h" #include "sfse_common/Types.h" #include "sfse_common/Log.h" #include "sfse_common/SafeWrite.h" #include "sfse_common/BranchTrampoline.h" #include "sfse_common/Utilities.h" #include "xbyak/xbyak.h" #include "sfse/GameMenu.h" #include "sfse/ScaleformManager.h" #include "sfse/ScaleformMemory.h" #include "sfse/ScaleformLog.h" #include "sfse/ScaleformTranslator.h" #include #ifdef _DEBUG #include #endif typedef bool(*_IMenu_LoadMovie)(IMenu* menu, bool addEventDispatcher, bool unk2); RelocAddr <_IMenu_LoadMovie> IMenu_LoadMovie(0x02553D70); // IMenu vtable +7 _IMenu_LoadMovie IMenu_LoadMovie_Original = nullptr; using _BSScaleformManager_ctor = BSScaleformManager*(*)(BSScaleformManager* __this); RelocAddr <_BSScaleformManager_ctor> BSScaleformManager_ctor(0x02558C90); _BSScaleformManager_ctor BSScaleformManager_ctor_Original = nullptr; static bool s_enableScaleformLog = false; static std::list s_menuPlugins; void RegisterMenuPlugin(SFSEMenuInterface::MenuMovieCreatedCallback callback) { s_menuPlugins.push_back(callback); } static std::list s_managerPlugins; void RegisterManagerPlugin(SFSEMenuInterface::ScaleformManagerCreatedCallback callback) { s_managerPlugins.push_back(callback); } bool IMenu_LoadMovie_Hook(IMenu* menu, bool addEventDispatcher, bool unk2) { bool ret = IMenu_LoadMovie_Original(menu, addEventDispatcher, unk2); for (auto cb : s_menuPlugins) { cb(menu); } return ret; } class SFSEScaleformLogger : public Scaleform::Log { public: virtual void LogMessageVarg(Scaleform::LogMessageId messageId, const char* fmt, va_list argList) final override { if(!s_enableScaleformLog) return; DebugLog::log(DebugLog::kLevel_Message, fmt, argList); #ifdef _DEBUG char szBuff[1024]; vsnprintf_s(szBuff, sizeof(szBuff), fmt, argList); strcat_s(szBuff, "\n"); OutputDebugString(szBuff); #endif } DEFINE_STATIC_HEAP(ScaleformHeap_Allocate, ScaleformHeap_Free); }; BSScaleformManager* BSScaleformManager_ctor_Hook(BSScaleformManager* __this) { auto ret = BSScaleformManager_ctor_Original(__this); if (ret->pLoader) { ret->pLoader->SetState(Scaleform::GFx::State::State_Log, new Scaleform::GFx::LogState(new SFSEScaleformLogger)); } for (auto cb : s_managerPlugins) { cb(ret); } return ret; } void Hooks_Scaleform_Apply() { { struct IMenu_LoadMovie_Code : Xbyak::CodeGenerator { IMenu_LoadMovie_Code(void* buf) : Xbyak::CodeGenerator(4096, buf) { Xbyak::Label retnLabel; mov(ptr[rsp + 0x10], rbx); jmp(ptr[rip + retnLabel]); L(retnLabel); dq(IMenu_LoadMovie.getUIntPtr() + 5); } }; void* codeBuf = g_localTrampoline.startAlloc(); IMenu_LoadMovie_Code code(codeBuf); g_localTrampoline.endAlloc(code.getCurr()); IMenu_LoadMovie_Original = (_IMenu_LoadMovie)codeBuf; g_branchTrampoline.write5Branch(IMenu_LoadMovie.getUIntPtr(), (uintptr_t)IMenu_LoadMovie_Hook); } u32 enableScaleformLog = 0; if(getConfigOption_u32("Scaleform", "EnableLog", &enableScaleformLog)) s_enableScaleformLog = enableScaleformLog != 0; { struct BSScaleformManager_ctor_Code : Xbyak::CodeGenerator { BSScaleformManager_ctor_Code(void* buf) : Xbyak::CodeGenerator(4096, buf) { Xbyak::Label retnLabel; mov(ptr[rsp + 0x08], rcx); jmp(ptr[rip + retnLabel]); L(retnLabel); dq(BSScaleformManager_ctor.getUIntPtr() + 5); } }; void* codeBuf = g_localTrampoline.startAlloc(); BSScaleformManager_ctor_Code code(codeBuf); g_localTrampoline.endAlloc(code.getCurr()); BSScaleformManager_ctor_Original = (_BSScaleformManager_ctor)codeBuf; g_branchTrampoline.write5Branch(BSScaleformManager_ctor.getUIntPtr(), (uintptr_t)BSScaleformManager_ctor_Hook); } } ================================================ FILE: sfse/Hooks_Scaleform.h ================================================ #pragma once #include "sfse/PluginAPI.h" void RegisterMenuPlugin(SFSEMenuInterface::MenuMovieCreatedCallback callback); void RegisterManagerPlugin(SFSEMenuInterface::ScaleformManagerCreatedCallback callback); void Hooks_Scaleform_Apply(); ================================================ FILE: sfse/Hooks_Script.cpp ================================================ #include "Hooks_Script.h" #include "sfse/GameConsole.h" #include "sfse/GameScript.h" #include "sfse/GameReferences.h" #include "sfse_common/SafeWrite.h" #include "sfse_common/sfse_version.h" #include "sfse_common/BranchTrampoline.h" #include "sfse_common/Relocation.h" #include "sfse_common/Log.h" #include "xbyak/xbyak.h" #ifdef _DEBUG #include "sfse/GameObjects.h" #include "sfse/GameChargen.h" #include "sfse/GameSettings.h" #include "sfse/GameUI.h" #include "sfse/GameMenu.h" bool Test_Execute(const SCRIPT_PARAMETER* paramInfo, const char*, TESObjectREFR* thisObj, TESObjectREFR* containingObj, Script* script, ScriptLocals* locals, float* result, u32* opcodeOffsetPtr) { if (thisObj) { TESNPC* npc = (TESNPC*)thisObj->data.objectReference; /*dumpClass(thisObj, 0x1100 >> 3); _MESSAGE("Name: %s", npc->strFullName.c_str()); dumpClass(npc, 0x488 >> 3); dumpClass(TESNPCData::ChargenDataModel::GetSingleton(), 0x700 >> 3);*/ npc->MorphWeight.x = 1.0f; npc->MorphWeight.y = 1.0f; npc->MorphWeight.z = 1.0f; bool unk1 = false; u32 unk2 = 0x28; bool unk3 = false; static_cast(thisObj)->UpdateAppearance(unk1, unk2, unk3); } else { /*auto ui = UI::GetSingleton(); //dumpClass(ui, 0x500 >> 3); for (u32 i = 0; i < ui->openMenus.size; ++i) { //dumpClass(ui->openMenus.pData[i], 0x658); if (ui->openMenus.pData[i]->MenuName == BSFixedString("ChargenMenu")) { auto chargenMenu = static_cast(ui->openMenus.pData[i]); if (chargenMenu->pPaperDoll) { dumpClass(chargenMenu->npc, sizeof(TESNPC) >> 3); } } }*/ auto& gameSettings = (*SettingT::pCollection); auto setting = gameSettings->GetSetting("sSkinToneDisplayName"); Console_Print("Game Settings: %s", setting->name); } Console_Print("Dump Complete"); return true; } #endif bool GetSFSEVersion_Execute(const SCRIPT_PARAMETER* paramInfo, const char*, TESObjectREFR* thisObj, TESObjectREFR* containingObj, Script* script, ScriptLocals* locals, float* result, u32* opcodeOffsetPtr) { _MESSAGE("GetSFSEVersion_Execute"); Console_Print("SFSE version: %d.%d.%d, release idx %d, runtime %08X", SFSE_VERSION_INTEGER, SFSE_VERSION_INTEGER_MINOR, SFSE_VERSION_INTEGER_BETA, SFSE_VERSION_RELEASEIDX, RUNTIME_VERSION); return true; } typedef bool (*_ConsoleCommandInit)(void* unk1); RelocAddr <_ConsoleCommandInit> ConsoleCommandInit(0x005838D0); _ConsoleCommandInit ConsoleCommandInit_Original = nullptr; void ConsoleCommandInit_Hook(void* unk1) { ConsoleCommandInit_Original(unk1); for (Script::SCRIPT_FUNCTION* iter = g_firstConsoleCommand; iter->eOutput < (Script::kScript_NumConsoleCommands + Script::kScript_ConsoleOpBase); ++iter) { if (!iter->pExecuteFunction) continue; if (!strcmp(iter->pFunctionName, "BetaComment")) { Script::SCRIPT_FUNCTION& cmd = *iter; cmd.pFunctionName = "GetSFSEVersion"; cmd.pShortName = ""; cmd.pHelpString = ""; cmd.bReferenceFunction = 0; cmd.sParamCount = 0; cmd.pExecuteFunction = GetSFSEVersion_Execute; cmd.bEditorFilter = 0; cmd.bInvalidatesCellList = 0; } #ifdef _DEBUG else if (!strcmp(iter->pFunctionName, "GameComment")) { Script::SCRIPT_FUNCTION& cmd = *iter; cmd.pFunctionName = "test"; cmd.pShortName = ""; cmd.pHelpString = ""; cmd.bReferenceFunction = 0; cmd.sParamCount = 0; cmd.pExecuteFunction = Test_Execute; cmd.bEditorFilter = 0; cmd.bInvalidatesCellList = 0; } RelocAddr EmptyFunc(0x01217900); _MESSAGE("%s (%s)", iter->pFunctionName, iter->pExecuteFunction == EmptyFunc ? "Empty" : "Implemented"); #endif } } void Hooks_Script_Apply() { { struct ConsoleCommandInit_Code : Xbyak::CodeGenerator { ConsoleCommandInit_Code(void* buf) : Xbyak::CodeGenerator(4096, buf) { Xbyak::Label retnLabel; push(rbx); push(rbp); push(rsi); push(rdi); push(r14); jmp(ptr[rip + retnLabel]); L(retnLabel); dq(ConsoleCommandInit.getUIntPtr() + 7); } }; void* codeBuf = g_localTrampoline.startAlloc(); ConsoleCommandInit_Code code(codeBuf); g_localTrampoline.endAlloc(code.getCurr()); ConsoleCommandInit_Original = (_ConsoleCommandInit)codeBuf; g_branchTrampoline.write6Branch(ConsoleCommandInit.getUIntPtr(), (uintptr_t)ConsoleCommandInit_Hook); } } ================================================ FILE: sfse/Hooks_Script.h ================================================ #pragma once void Hooks_Script_Apply(); ================================================ FILE: sfse/Hooks_Serialization.cpp ================================================ #include "Hooks_Serialization.h" #include "sfse_common/BranchTrampoline.h" #include "sfse_common/Relocation.h" #include "sfse_common/SafeWrite.h" #include "sfse/PluginManager.h" #include "sfse/Serialization.h" #include "xbyak/xbyak.h" class BGSSaveLoadGame; class BGSSaveLoadManager; typedef void (*_SaveGame)(BGSSaveLoadGame* a_this, void* a_unk1, void* a_unk2, const char* a_name); RelocAddr <_SaveGame> SaveGame_Call(0x02551DF0 + 0x12B); RelocAddr <_SaveGame> SaveGame_Original(0x02554FD0); typedef bool (*_LoadGame)(BGSSaveLoadGame* a_this, const char* a_name, void* a_unk1, void* a_unk2); RelocAddr <_LoadGame> LoadGame_Call(0x02585C00 + 0x572); RelocAddr <_LoadGame> LoadGame_Original(0x0255B7D0); typedef bool (*_DeleteSaveFile)(const char* a_filePath); RelocAddr <_DeleteSaveFile> DeleteSaveFile_Call(0x025853DC + 0x65); RelocAddr <_DeleteSaveFile> DeleteSaveFile_Original(0x02583D98); typedef bool (*_VM_SaveGame)(void* a_this, void* a_storage, void* a_handleReaderWriter, bool a_flag); typedef bool (*_VM_LoadGame)(void* a_this, void* a_storage, void* a_handleReaderWriter, bool* a_flag, bool* b_flag); typedef void* (*_VM_DropAllRunningData)(void* a_this); _VM_SaveGame VM_SaveGame_Original = nullptr; _VM_LoadGame VM_LoadGame_Original = nullptr; _VM_DropAllRunningData VM_DropAllRunningData_Original = nullptr; RelocAddr VirtualMachine_IVMSaveLoadInterface_VTable(0x055DDB58); void SaveGame_Hook(BGSSaveLoadGame* a_this, void* a_unk1, void* a_unk2, const char* a_name) { Serialization::SetSaveName(a_name, true); PluginManager::dispatchMessage(0, SFSEMessagingInterface::kMessage_PreSaveGame, (void*)a_name, (u32)strlen(a_name), NULL); SaveGame_Original(a_this, a_unk1, a_unk2, a_name); PluginManager::dispatchMessage(0, SFSEMessagingInterface::kMessage_PostSaveGame, (void*)a_name, (u32)strlen(a_name), NULL); Serialization::SetSaveName(NULL); } bool LoadGame_Hook(BGSSaveLoadGame* a_this, const char* a_name, void* a_unk1, void* a_unk2) { Serialization::SetSaveName(a_name, false); Serialization::HandleBeginLoad(); PluginManager::dispatchMessage(0, SFSEMessagingInterface::kMessage_PreLoadGame, (void*)a_name, (u32)strlen(a_name), NULL); bool result = LoadGame_Original(a_this, a_name, a_unk1, a_unk2); PluginManager::dispatchMessage(0, SFSEMessagingInterface::kMessage_PostLoadGame, (void*)a_name, (u32)strlen(a_name), NULL); Serialization::HandleEndLoad(); Serialization::SetSaveName(NULL); return result; } bool DeleteSaveFile_Hook(const char* a_filePath) { bool result = DeleteSaveFile_Original(a_filePath); Serialization::HandleDeleteSave(a_filePath); return result; } void* VM_DropAllRunningData_Hook(void* a_this) { void* result = VM_DropAllRunningData_Original(a_this); Serialization::HandleRevertGlobalData(); return result; } bool VM_SaveGame_Hook(void* a_this, void* a_storage, void* a_handleReaderWriter, bool a_flag) { bool result = VM_SaveGame_Original(a_this, a_storage, a_handleReaderWriter, a_flag); Serialization::HandleSaveGlobalData(); return result; } bool VM_LoadGame_Hook(void* a_this, void* a_storage, void* a_handleReaderWriter, bool* a_flag, bool* b_flag) { bool result = VM_LoadGame_Original(a_this, a_storage, a_handleReaderWriter, a_flag, b_flag); Serialization::HandleLoadGlobalData(); return result; } void Hooks_Serialization_Apply() { #if 0 // write call hooks for SaveGame, LoadGame & DeleteSaveFile g_branchTrampoline.write5Call(SaveGame_Call.getUIntPtr(), (uintptr_t)SaveGame_Hook); g_branchTrampoline.write5Call(LoadGame_Call.getUIntPtr(), (uintptr_t)LoadGame_Hook); g_branchTrampoline.write5Call(DeleteSaveFile_Call.getUIntPtr(), (uintptr_t)DeleteSaveFile_Hook); // get pointers to IVMSaveLoadInterface vfunc entries uintptr_t VM_SaveGame_VFunc = VirtualMachine_IVMSaveLoadInterface_VTable.getUIntPtr() + (0x1 * 0x8); uintptr_t VM_LoadGame_VFunc = VirtualMachine_IVMSaveLoadInterface_VTable.getUIntPtr() + (0x2 * 0x8); uintptr_t VM_DropAllRunningData_VFunc = VirtualMachine_IVMSaveLoadInterface_VTable.getUIntPtr() + (0x7 * 0x8); // save original vfuncs VM_SaveGame_Original = *reinterpret_cast<_VM_SaveGame*>(VM_SaveGame_VFunc); VM_LoadGame_Original = *reinterpret_cast<_VM_LoadGame*>(VM_LoadGame_VFunc); VM_DropAllRunningData_Original = *reinterpret_cast<_VM_DropAllRunningData*>(VM_DropAllRunningData_VFunc); // overwrite vfuncs safeWrite64(VM_SaveGame_VFunc, (uintptr_t)VM_SaveGame_Hook); safeWrite64(VM_LoadGame_VFunc, (uintptr_t)VM_LoadGame_Hook); safeWrite64(VM_DropAllRunningData_VFunc, (uintptr_t)VM_DropAllRunningData_Hook); #endif } ================================================ FILE: sfse/Hooks_Serialization.h ================================================ #pragma once void Hooks_Serialization_Apply(); ================================================ FILE: sfse/Hooks_Version.cpp ================================================ #include "Hooks_Version.h" #include "sfse_common/SafeWrite.h" #include "sfse_common/sfse_version.h" #include "sfse_common/Errors.h" #include "sfse_common/BranchTrampoline.h" #include "sfse_common/Relocation.h" #include "xbyak/xbyak.h" #include const char * kHook_ShowVersion_FormatString = "%08x v%s %s [SFSE " __PREPRO_TOKEN_STR__(SFSE_VERSION_INTEGER) "." __PREPRO_TOKEN_STR__(SFSE_VERSION_INTEGER_MINOR) "." __PREPRO_TOKEN_STR__(SFSE_VERSION_INTEGER_BETA) "]"; RelocAddr kHook_ShowVersion_Offset(0x017D6EA0 + 0x10C); void Hooks_Version_Apply() { // show SFSE version in main menu settings (not hooking ingame settings) { struct ShowVersion_Code: Xbyak::CodeGenerator { ShowVersion_Code(void * buf) : Xbyak::CodeGenerator(4096, buf) { Xbyak::Label retnLabel; Xbyak::Label dataLabel; mov(rdx, ptr[rip + dataLabel]); jmp(ptr[rip + retnLabel]); L(retnLabel); dq(kHook_ShowVersion_Offset.getUIntPtr() + 0x7); L(dataLabel); dq(uintptr_t(kHook_ShowVersion_FormatString)); } }; void * codeBuf = g_localTrampoline.startAlloc(); ShowVersion_Code code(codeBuf); g_localTrampoline.endAlloc(code.getCurr()); g_branchTrampoline.write6Branch(kHook_ShowVersion_Offset.getUIntPtr(), uintptr_t(code.getCode())); safeWrite8(kHook_ShowVersion_Offset.getUIntPtr() + 6, 0x90); } } ================================================ FILE: sfse/Hooks_Version.h ================================================ #pragma once void Hooks_Version_Apply(); ================================================ FILE: sfse/NiExtraData.cpp ================================================ #include "sfse/NiExtraData.h" ================================================ FILE: sfse/NiExtraData.h ================================================ #pragma once #include "sfse/NiObject.h" #include "sfse/GameTypes.h" class NiExtraData : public NiObject { public: BSFixedString m_kName; // 10 }; class BSTransformExtra : public NiExtraData { public: u64 unk18; // 18 - Probably just padding, doesnt get initialized NiTransform m_transform; // 20 }; static_assert(offsetof(BSTransformExtra, m_transform) == 0x20); static_assert(sizeof(BSTransformExtra) == 0x60); ================================================ FILE: sfse/NiObject.cpp ================================================ #include "sfse/NiObject.h" ================================================ FILE: sfse/NiObject.h ================================================ #pragma once #include "sfse_common/Types.h" #include "sfse/GameLock.h" #include "sfse/GameTypes.h" #include "sfse/NiTypes.h" class NiRTTI; class NiCamera; class NiNode; class NiCollisionObject; class BSGeometry; class BSDynamicGeometry; class NiExtraData; class NiRefObject { public: NiRefObject() : m_uiRefCount(0), pad0C(-1) { }; virtual ~NiRefObject() { }; virtual void DeleteThis(void) { delete this; }; // calls virtual dtor void IncRef() { _InterlockedIncrement(&m_uiRefCount); } bool Release() { return _InterlockedDecrement(&m_uiRefCount) == 0; } void DecRef() { if (Release()) DeleteThis(); } volatile long m_uiRefCount; // 08 s32 pad0C; // 0C }; class NiObject : public NiRefObject { public: virtual NiRTTI* GetRTTI() const; virtual const NiNode* IsNode() const; virtual NiNode* IsNode(); virtual NiNode* IsSwitchNode(); virtual NiNode* IsFadeNode(); virtual NiNode* IsMultiBoundNode(); virtual const BSGeometry* IsGeometry() const; virtual BSGeometry* IsGeometry(); virtual void Unk_0A(); virtual void Unk_0B(); virtual void Unk_0C(); virtual void Unk_0D(); virtual void Unk_0E(); virtual void Unk_0F(); virtual void Unk_10(); virtual void Unk_11(); virtual void Unk_12(); virtual void Unk_13(); virtual const BSDynamicGeometry* IsDynamicGeometry() const; virtual BSDynamicGeometry* IsDynamicGeometry(); virtual void Unk_16(); virtual void Unk_17(); virtual void Unk_18(); virtual void Unk_19(); virtual void Unk_1A(); virtual void Unk_1B(); virtual void Unk_1C(); virtual void Unk_1D(); virtual void Unk_1E(); virtual void Unk_1F(); virtual void Unk_20(); virtual void Unk_21(); virtual void Unk_22(); virtual void Unk_23(); virtual void Unk_24(); virtual void Unk_25(); virtual void Unk_26(); virtual void Unk_27(); virtual void Unk_28(); virtual void Unk_29(); virtual void Unk_2A(); virtual void Unk_2B(); virtual void Unk_2C(); virtual void Unk_2D(); virtual void Unk_2E(); virtual void Unk_2F(); virtual void Unk_30(); virtual void Unk_31(); virtual void Unk_32(); virtual void Unk_33(); virtual void Unk_34(); virtual void Unk_35(); }; class NiObjectNET : public NiObject { public: BSFixedString m_kName; // 10 u64 unk18; // 18 u64 unk20; // 20 BSReadWriteLock extraLock; // 28 BSTArray>* pExtra; // 30 // DEFINE_MEMBER_FN_1(AddExtraData, bool, 0x037E6D0C, NiExtraData* pkExtra); DEFINE_MEMBER_FN_1(AddExtraData_NoLock, bool, 0x02BE4270, NiExtraData * pkExtra); // version that doesn't take the lock }; static_assert(sizeof(NiObjectNET) == 0x38); struct NiUpdateData { enum UPDATE_FLAGS : u32 { UF_UPDATE_CONTROLLERS = 0x1, UF_UPDATE_PARALLEL = 0x2, UF_FADENODE_CULLED = 0x4, UF_SKIP_MULTIBOUNDS = 0x8, UF_MOVE_COLLISION_USING_VEL = 0x100, UF_NO_UPWARD_PASS = 0x200, UF_NO_USING_CHECKS = 0x400, UF_TRANSFORMS_ONLY = 0x800, UF_FOUND_PARTICLES = 0x10000, UF_FOUND_MORPHS = 0x20000, UF_SCENEGRAPH_CHANGE = 0x40000, UF_BOUND_CHANGE = 0x80000, UF_FOUND_TRANSF_CONTROL_UD = 0x100000, UF_FOUND_EFFECT_LIGHTING = 0x200000, UF_SETONUPDATE_MASK = 0xFFFF0000, }; u64 unk00 = 0; // 00 u64 unk08 = 0; // 08 u64 unk10 = 0; // 10 u64 unk18 = 0; // 18 u64 unk20 = 0; // 20 u64 unk28 = 0; // 28 u64 unk30 = 0; // 30 u32 Flags = 0; // 38 u32 unk3C = 0; // 3C u32 unk40 = 0; // 40 u32 unk44 = 0; // 44 }; static_assert(sizeof(NiUpdateData) == 0x48); struct NiBound { NiPoint3 m_kCenter; union { float m_fRadius; s32 m_iRadiusAsInt; }; }; class NiAVObject : public NiObjectNET { public: virtual void Unk_36(); virtual void UpdateControllers(); virtual void PerformOp(); virtual void Unk_39(); virtual void Unk_3A(); virtual void Unk_3B(); virtual void SetAppCulled(bool bAppCulled); virtual NiAVObject* GetObjectByName(const BSFixedString& name); virtual void SetSelectiveUpdateFlags(bool& bSelectedUpdate, bool bSelectiveUpdateTransforms, bool& bRigid); virtual void Unk_3F(); virtual void Unk_40(); virtual void Unk_41(); virtual void Unk_42(); virtual void Unk_43(); virtual void Unk_44(); virtual void Unk_45(); virtual void Unk_46(); virtual void Unk_47(); virtual void Unk_48(); virtual void Unk_49(); virtual void Unk_4A(); virtual void Unk_4B(); virtual void Unk_4C(); virtual void Unk_4D(); virtual void Unk_4E(); virtual void UpdateWorldData(NiUpdateData& apData); virtual void UpdateTransformAndBounds(NiUpdateData& apData); virtual void UpdateTransforms(NiUpdateData& apData); virtual void Unk_52(); virtual void Unk_53(); NiNode* m_pkParent; // 38 NiTransform m_kLocal; // 40 NiTransform m_kWorld; // 80 NiTransform m_kPreviousWorld; // C0 NiBound m_kWorldBound; // 100 NiPointer m_spCollisionObject; // 110 u64 m_uFlags; // 118 u64 unk120; // 120 u32 unk128; // 128 u32 unk12C; // 12C DEFINE_MEMBER_FN_1(Update, void, 0x02BD89A0, NiUpdateData& apData); }; static_assert(sizeof(NiAVObject) == 0x130); static_assert(offsetof(NiAVObject, m_pkParent) == 0x38); static_assert(offsetof(NiAVObject, m_kLocal) == 0x40); static_assert(offsetof(NiAVObject, m_kWorld) == 0x80); static_assert(offsetof(NiAVObject, m_kPreviousWorld) == 0xC0); class NiNode : public NiAVObject { public: virtual void AttachChild(NiAVObject* pkChild, bool bFirstAvail); virtual void InsertChildAt(u32 i, NiAVObject* pkChild); virtual void DetachChild(NiAVObject* pkChild, NiPointer& aspAVObject); virtual void DetachChild(NiAVObject* pkChild); virtual void Unk_58(); virtual void DetachChildAt(u32 i, NiPointer& aspAVObject); virtual void DetachChildAt(u32 i); virtual void SetAt(u32 i, NiAVObject* pkChild, NiPointer& aspAVObject); virtual void SetAt(u32 i, NiAVObject* pkChild); virtual void UpdateUpwardPass(NiUpdateData& apData); virtual void Unk_5E(); NiTArray> m_kChildren; // 130 }; static_assert(sizeof(NiNode) == 0x150); ================================================ FILE: sfse/NiRTTI.cpp ================================================ #include "sfse/NiRTTI.h" #include "sfse/NiObject.h" NiObject* DoNiRTTICast(NiObject* src, const NiRTTI* typeInfo) { if (src) for (NiRTTI* iter = src->GetRTTI(); iter; iter = iter->parent) if (iter == typeInfo) return src; return nullptr; } ================================================ FILE: sfse/NiRTTI.h ================================================ #pragma once class NiObject; class NiRTTI { public: const char* name; NiRTTI* parent; }; NiObject* DoNiRTTICast(NiObject* src, const NiRTTI* typeInfo); ================================================ FILE: sfse/NiTypes.h ================================================ #pragma once #include "sfse_common/Types.h" template class NiPointer { public: T* m_pObject; inline NiPointer(const NiPointer& rhs) : m_pObject(rhs.m_pObject) { if (m_pObject) { m_pObject->IncRef(); } } inline NiPointer(T* pObject = (T*)0) { m_pObject = pObject; if (m_pObject) m_pObject->IncRef(); } inline ~NiPointer() { if (m_pObject) m_pObject->DecRef(); } inline operator T* () const { return m_pObject; } inline T& operator*() const { return *m_pObject; } inline T* operator->() const { return m_pObject; } inline NiPointer & operator=(const NiPointer& rhs) { if (m_pObject != rhs.m_pObject) { if (rhs) rhs.m_pObject->IncRef(); if (m_pObject) m_pObject->DecRef(); m_pObject = rhs.m_pObject; } return *this; } inline NiPointer & operator=(T* rhs) { if (m_pObject != rhs) { if (rhs) rhs->IncRef(); if (m_pObject) m_pObject->DecRef(); m_pObject = rhs; } return *this; } inline bool operator==(T* pObject) const { return m_pObject == pObject; } inline bool operator!=(T* pObject) const { return m_pObject != pObject; } inline bool operator==(const NiPointer& ptr) const { return m_pObject == ptr.m_pObject; } inline bool operator!=(const NiPointer& ptr) const { return m_pObject != ptr.m_pObject; } inline T* get() { return m_pObject; } }; class NiPoint3 { public: NiPoint3() : x(0), y(0), z(0) { } NiPoint3(float _x, float _y, float _z) : x(_x), y(_y), z(_z) { } float x; float y; float z; }; static_assert(sizeof(NiPoint3) == 0xC); class alignas(0x10) NiPoint3A : public NiPoint3 { public: }; static_assert(sizeof(NiPoint3A) == 0x10); class NiPoint4 { public: struct NiPoint4Struct { public: // members float x; // 00 float y; // 04 float z; // 08 float w; // 0C }; static_assert(sizeof(NiPoint4Struct) == 0x10); // members union { NiPoint4Struct v; float pt[4]{ 0.0F }; }; // 00 }; static_assert(sizeof(NiPoint4) == 0x10); template class NiTArray { public: virtual ~NiTArray(); T* m_pBase; u16 m_usMaxSize; u16 m_usSize; u16 m_usESize; u16 m_usGrowBy; }; template class NiTPrimitiveArray : public NiTArray { public: virtual ~NiTPrimitiveArray(); }; class alignas(0x10) NiMatrix3 { public: void MakeIdentity() noexcept { entry[0].v = { 1.0F, 0.0F, 0.0F, 0.0F }; entry[1].v = { 0.0F, 1.0F, 0.0F, 0.0F }; entry[2].v = { 0.0F, 0.0F, 1.0F, 0.0F }; } NiMatrix3 operator*(const NiMatrix3& rhs) const { NiMatrix3 tmp; tmp.entry[0].pt[0] = entry[0].pt[0] * rhs.entry[0].pt[0] + entry[0].pt[1] * rhs.entry[1].pt[0] + entry[0].pt[2] * rhs.entry[2].pt[0]; tmp.entry[1].pt[0] = entry[1].pt[0] * rhs.entry[0].pt[0] + entry[1].pt[1] * rhs.entry[1].pt[0] + entry[1].pt[2] * rhs.entry[2].pt[0]; tmp.entry[2].pt[0] = entry[2].pt[0] * rhs.entry[0].pt[0] + entry[2].pt[1] * rhs.entry[1].pt[0] + entry[2].pt[2] * rhs.entry[2].pt[0]; tmp.entry[0].pt[1] = entry[0].pt[0] * rhs.entry[0].pt[1] + entry[0].pt[1] * rhs.entry[1].pt[1] + entry[0].pt[2] * rhs.entry[2].pt[1]; tmp.entry[1].pt[1] = entry[1].pt[0] * rhs.entry[0].pt[1] + entry[1].pt[1] * rhs.entry[1].pt[1] + entry[1].pt[2] * rhs.entry[2].pt[1]; tmp.entry[2].pt[1] = entry[2].pt[0] * rhs.entry[0].pt[1] + entry[2].pt[1] * rhs.entry[1].pt[1] + entry[2].pt[2] * rhs.entry[2].pt[1]; tmp.entry[0].pt[2] = entry[0].pt[0] * rhs.entry[0].pt[2] + entry[0].pt[1] * rhs.entry[1].pt[2] + entry[0].pt[2] * rhs.entry[2].pt[2]; tmp.entry[1].pt[2] = entry[1].pt[0] * rhs.entry[0].pt[2] + entry[1].pt[1] * rhs.entry[1].pt[2] + entry[1].pt[2] * rhs.entry[2].pt[2]; tmp.entry[2].pt[2] = entry[2].pt[0] * rhs.entry[0].pt[2] + entry[2].pt[1] * rhs.entry[1].pt[2] + entry[2].pt[2] * rhs.entry[2].pt[2]; return tmp; } NiMatrix3 operator*(float scalar) const { NiMatrix3 result; result.entry[0].pt[0] = entry[0].pt[0] * scalar; result.entry[0].pt[1] = entry[0].pt[1] * scalar; result.entry[0].pt[2] = entry[0].pt[2] * scalar; result.entry[1].pt[0] = entry[1].pt[0] * scalar; result.entry[1].pt[1] = entry[1].pt[1] * scalar; result.entry[1].pt[2] = entry[1].pt[2] * scalar; result.entry[2].pt[0] = entry[2].pt[0] * scalar; result.entry[2].pt[1] = entry[2].pt[1] * scalar; result.entry[2].pt[2] = entry[2].pt[2] * scalar; return result; } NiPoint3 operator*(const NiPoint3& p) const { return NiPoint3( entry[0].pt[0] * p.x + entry[0].pt[1] * p.y + entry[0].pt[2] * p.z, entry[1].pt[0] * p.x + entry[1].pt[1] * p.y + entry[1].pt[2] * p.z, entry[2].pt[0] * p.x + entry[2].pt[1] * p.y + entry[2].pt[2] * p.z); } // members NiPoint4 entry[3]; // 00 }; static_assert(sizeof(NiMatrix3) == 0x30); class NiTransform { public: void MakeIdentity() noexcept { rotate.MakeIdentity(); translate = NiPoint3{}; scale = 1.0F; } // members NiMatrix3 rotate; // 00 NiPoint3 translate; // 30 float scale{ 1.0F }; // 3C }; static_assert(sizeof(NiTransform) == 0x40); ================================================ FILE: sfse/PapyrusNativeFunctions.h ================================================ #include "sfse/GameTypes.h" #include "sfse/GameReflection.h" #include "sfse_common/Types.h" #include "sfse_common/Utilities.h" #include "sfse_common/Errors.h" // this is all inside the BSScript namespace class VMClassInfo; class VMClassRegistry; class VMState; class VMValue; // 10 class IFunction { public: IFunction() { } virtual ~IFunction() { } struct Unk13 { u64 unk00; u32 unk08; }; // void ** _vtbl; // 00 BSIntrusiveRefCounted refCount; // 08 virtual BSFixedString * GetName(void) = 0; virtual BSFixedString * GetClassName(void) = 0; virtual BSFixedString * GetStr20(void) = 0; virtual u64 * GetReturnType(u64 * dst) = 0; virtual u64 GetNumParams(void) = 0; virtual u64 * GetParam(u32 idx, BSFixedString * nameOut, u64 * typeOut) = 0; virtual u64 GetNumParams2(void) = 0; virtual bool IsNative(void) = 0; virtual bool IsStatic(void) = 0; virtual bool Unk_0A(void) = 0; virtual u32 Unk_0B(void) = 0; virtual u32 GetUnk44(void) = 0; virtual BSFixedString * GetStr48(void) = 0; virtual void Unk_0E(u32 unk) = 0; virtual u32 Invoke(u64 unk0, u64 unk1, VMClassRegistry * registry, VMState * unk3) = 0; virtual BSFixedString * Unk_10(void) = 0; // file/line number? virtual bool Unk_11(u32 unk0, u32 * unk1) = 0; virtual u64 * Unk_12(u64 * out) = 0; // new, might be type reflection virtual Unk13 Unk_13(Unk13 * out) = 0; // new, might be type reflection virtual bool GetParamInfo(u32 idx, void * out) = 0; // param list stuff virtual void * Unk_15(u64 arg0, u64 arg1) = 0; // param list stuff, loop virtual u8 GetUnk41(void) = 0; virtual void SetUnk41(u8 arg) = 0; }; // this is inside the NF_util namespace // 50 class NativeFunctionBase : public IFunction { public: NativeFunctionBase() { } virtual ~NativeFunctionBase() { } // 0C (10 aligned) struct ParameterInfo { // 08 struct Entry { BSFixedString name; // 00 union { u64 type; // 08 - shared with VMValue::type VMClassInfo * typePtr; // 08 }; }; Entry * data; // 00 length = numParams + unk0A u16 numParams; // 08 u16 unk0A; // 0A MEMBER_FN_PREFIX(ParameterInfo); DEFINE_MEMBER_FN(GetParam, u64 *, 0x02827190, u32 idx, BSFixedString * nameOut, u64 * typeOut); }; virtual BSFixedString * GetName(void) override { return &m_fnName; } virtual BSFixedString * GetClassName(void) override { return &m_className; } virtual BSFixedString * GetStr20(void) override { return &unk20; } virtual u64 * GetReturnType(u64 * dst) override { *dst = m_retnType; return dst; } virtual u64 GetNumParams(void) override { return m_params.unk0A; } virtual u64 * GetParam(u32 idx, BSFixedString * nameOut, u64 * typeOut) { return CALL_MEMBER_FN(&m_params, GetParam)(idx, nameOut, typeOut); } virtual u64 GetNumParams2(void) override { return m_params.unk0A; } virtual bool IsNative(void) override { return true; } virtual bool IsStatic(void) override { return m_isStatic; } virtual bool Unk_0A(void) override { return false; } virtual u32 Unk_0B(void) override { return 0; } virtual u32 GetUnk44(void) override { return unk44; } virtual BSFixedString * GetStr48(void) override { return &unk48; } virtual void Unk_0E(u32 unk) override { } // always nop? virtual u32 Invoke(u64 unk0, u64 unk1, VMClassRegistry * registry, VMState * unk3) override { return CALL_MEMBER_FN(this, Impl_Invoke)(unk0, unk1, registry, unk3); } virtual BSFixedString * Unk_10(void) override { return CALL_MEMBER_FN(this, Impl_Fn10)(); } // static BSFixedString result(""); return result; virtual bool Unk_11(u32 unk0, u32 * unk1) override { *unk1 = 0; return false; } virtual u64 * Unk_12(u64 * out) override { *out = 0; // out[4] = 0; // as u8? return out; } virtual Unk13 Unk_13(Unk13 * out) override { out->unk00 = 0; out->unk08 = 0; // out[8] = 0; // as u8? } virtual bool GetParamInfo(u32 idx, void * out) override { return CALL_MEMBER_FN(this, Impl_GetParamInfo)(idx, out); } virtual void * Unk_15(u64 arg0, u64 arg1) { return CALL_MEMBER_FN(this, Impl_Fn15)(arg0, arg1); } virtual u8 GetUnk41(void) override { return unk41; } virtual void SetUnk41(u8 arg) override { unk41 = arg; } virtual bool HasCallback() = 0; virtual bool Run(VMValue * baseValue, VMClassRegistry * registry, u32 arg2, VMValue * resultValue, VMState * state) = 0; MEMBER_FN_PREFIX(NativeFunctionBase); DEFINE_MEMBER_FN(Impl_Invoke, u32, 0x02827860, u64 unk0, u64 unk1, VMClassRegistry * registry, VMState * unk3); // ??_7?$NativeFunction1@VActiveEffect@@XPEAVTESForm@@@BSScript@@6B@ entry 0x10 DEFINE_MEMBER_FN(Impl_Fn10, BSFixedString *, 0x02827240); DEFINE_MEMBER_FN(Impl_GetParamInfo, bool, 0x02827260, u32 idx, void * out); DEFINE_MEMBER_FN(Impl_Fn15, void *, 0x02827320, u64 arg0, u64 arg1); protected: BSFixedString m_fnName; // 10 BSFixedString m_className; // 18 BSFixedString unk20; // 20 u64 m_retnType; // 28 ParameterInfo m_params; // 30 bool m_isStatic; // 40 u8 unk41; // 41 u8 m_isLatent; // 42 u8 pad43; // 43 u32 unk44; // 44 BSFixedString unk48; // 48 }; STATIC_ASSERT(sizeof(NativeFunctionBase) == 0x50); // 58 // this should be fully functional for deriving class NativeFunction : public NativeFunctionBase { public: NativeFunction() = delete; NativeFunction(const char * fnName, const char * className, u8 isStatic, u32 numParams) { CALL_MEMBER_FN(this, Impl_ctor)(fnName, className, isStatic, numParams); } virtual ~NativeFunction() { CALL_MEMBER_FN(this, Impl_dtor)(); } virtual bool HasCallback(void) override { return m_callback != 0; } MEMBER_FN_PREFIX(NativeFunction); DEFINE_MEMBER_FN(Impl_ctor, NativeFunction *, 0x028273F0, const char * fnName, const char * className, u8 unk0, u32 numParams); DEFINE_MEMBER_FN(Impl_dtor, void, 0x028277C0); // same as NativeFunctionBase dtor protected: void * m_callback; // 50 }; STATIC_ASSERT(sizeof(NativeFunction) == 0x58); ================================================ FILE: sfse/PluginAPI.h ================================================ #pragma once #include typedef std::uint32_t PluginHandle; // treat this as an opaque type class BranchTrampoline; class IMenu; class BSScaleformManager; struct PluginInfo { enum { kInfoVersion = 1 }; std::uint32_t infoVersion; const char * name; std::uint32_t version; }; enum { kPluginHandle_Invalid = 0xFFFFFFFF }; enum { kInterface_Invalid = 0, kInterface_Messaging, kInterface_Trampoline, kInterface_Menu, kInterface_Task, kInterface_Max, }; struct SFSEInterface { enum { kInterfaceVersion = 1 }; std::uint32_t sfseVersion; std::uint32_t runtimeVersion; std::uint32_t interfaceVersion; void * (* QueryInterface)(std::uint32_t id); // call during your Query or Load functions to get a PluginHandle uniquely identifying your plugin // invalid if called at any other time, so call it once and save the result PluginHandle (* GetPluginHandle)(void); // returns the plugin info structure for a plugin by name, only valid to be called after PostLoad message const PluginInfo* (* GetPluginInfo)(const char * name); }; /**** Messaging API docs ******************************************************************** * * Messaging API allows inter-plugin communication at run-time. A plugin may register * one callback for each plugin from which it wishes to receive messages, specifying * the sender by name in the call to RegisterListener(). RegisterListener returns false * if the specified plugin is not loaded, true otherwise. Any messages dispatched by * the specified plugin will then be forwarded to the listener as they occur. Passing NULL as * the sender registers the calling plugin as a listener to every loaded plugin. * * Messages may be dispatched via Dispatch() to either a specific listener (specified * by name) or to all listeners (with NULL passed as the receiver). The contents and format of * messageData are left up to the sender, and the receiver is responsible for casting the message * to the expected type. If no plugins are registered as listeners for the sender, * Dispatch() returns false, otherwise it returns true. * * Calling RegisterListener() or Dispatch() during plugin load is not advised as the requested plugin * may not yet be loaded at that point. Instead, if you wish to register as a listener or dispatch a * message immediately after plugin load, use RegisterListener() during load to register to receive * messages from SFSE (sender name: "SFSE"). You will then receive a message from SFSE once * all plugins have been loaded, at which point it is safe to establish communications between * plugins. * * Some plugin authors may wish to use strings instead of integers to denote message type. In * that case the receiver can pass the address of the string as an integer and require the receiver * to cast it back to a char* on receipt. * *********************************************************************************************/ struct SFSEMessagingInterface { struct Message { const char * sender; std::uint32_t type; std::uint32_t dataLen; void * data; }; typedef void (* EventCallback)(Message* msg); enum { kInterfaceVersion = 1 }; // SFSE messages enum { kMessage_PostLoad, // sent to registered plugins once all plugins have been loaded (no data) kMessage_PostPostLoad, // sent right after kMessage_PostPostLoad to facilitate the correct dispatching/registering of messages/listeners kMessage_PostDataLoad, // sent right after all game data has loaded (Passes TESDataHandler as pointer) kMessage_PostPostDataLoad, // sent after all game data has loaded, and all PostDataLoad events have handled (Passes TESDataHandler as pointer) kMessage_PreSaveGame, kMessage_PostSaveGame, kMessage_PreLoadGame, kMessage_PostLoadGame, }; std::uint32_t interfaceVersion; bool (* RegisterListener)(PluginHandle listener, const char* sender, EventCallback handler); bool (* Dispatch)(PluginHandle sender, std::uint32_t messageType, void * data, std::uint32_t dataLen, const char* receiver); }; struct SFSEMenuInterface { enum { kInterfaceVersion = 2 }; std::uint32_t interfaceVersion; // This callback will be called once for every new menu where its MovieImpl is loaded. typedef void (*MenuMovieCreatedCallback)(IMenu* menu); void (*RegisterMenuMovieCreated)(MenuMovieCreatedCallback callback); // v1 // This callback will be invoked when the BSScaleformManager is initialized typedef void (*ScaleformManagerCreatedCallback)(BSScaleformManager* manager); void (*RegisterScaleformManagerCreated)(ScaleformManagerCreatedCallback callback); // v2 }; struct SFSETaskInterface { enum { kInterfaceVersion = 1 }; std::uint32_t interfaceVersion; class ITaskDelegate { public: virtual void Run() = 0; virtual void Destroy() = 0; // delete this or free/release here }; // This task will be executed once on the Main thread, then deleted void (*AddTask)(ITaskDelegate* task); // This task will be executed every frame on the Main thread without deleting void (*AddTaskPermanent)(ITaskDelegate* task); }; struct SFSETrampolineInterface { enum { kInterfaceVersion = 1 }; std::uint32_t interfaceVersion; void * (* AllocateFromBranchPool)(PluginHandle plugin, size_t size); void * (* AllocateFromLocalPool)(PluginHandle plugin, size_t size); }; typedef bool (* _SFSEPlugin_Load)(const SFSEInterface * sfse); /**** plugin versioning ******************************************************** * * SFSE does not call any code to determine plugin compatibility. Checks are * made against * no longer calls any code. Plugins declare their compatibility, and SFSE * determines whether to load the plugin. Setting this up is simple, just * add something like this to your project: * extern "C" { __declspec(dllexport) SFSEPluginVersionData SFSEPlugin_Version = { SFSEPluginVersionData::kVersion, 1, "my awesome plugin", "my name", 0, // not address independent 0, // not structure independent { RUNTIME_VERSION_1_7_23, 0 }, // compatible with 1.7.23 and that's it 0, // works with any version of the script extender. you probably do not need to put anything here 0, 0, // set these reserved fields to 0 }; }; * ******************************************************************************/ struct SFSEPluginVersionData { enum { kVersion = 1, }; // describe how you find your addresses enum { // signature matching only kAddressIndependence_Signatures = 1 << 0, // Address Library v1 (https://www.nexusmods.com/starfield/mods/3256) kAddressIndependence_AddressLibrary = 1 << 1, // Address Library for 1.15.216+ kAddressIndependence_AddressLibraryV2 = 1 << 2, }; // describe your structure compatibility enum { // doesn't use any game structures kStructureIndependence_NoStructs = 1 << 0, // works with the structure layout the game shipped with kStructureIndependence_InitialLayout = 1 << 1, // works with 1.8.86+ structure layout kStructureIndependence_1_8_86_Layout = 1 << 2, // works with 1.14.70+ structure layout kStructureIndependence_1_14_70_Layout = 1 << 3, // additional bits will be added here when breaking changes happen }; std::uint32_t dataVersion; // set to kVersion std::uint32_t pluginVersion; // version number of your plugin char name[256]; // null-terminated ASCII plugin name (please make this recognizable to users) char author[256]; // null-terminated ASCII plugin author name // version compatibility std::uint32_t addressIndependence; // bitfield. describe how you find your addresses using the kAddressIndependence_ enums std::uint32_t structureIndependence; // bitfield. describe how you handle structure layout using the kStructureIndependence_ enums std::uint32_t compatibleVersions[16]; // zero-terminated list of RUNTIME_VERSION_ defines your plugin is compatible with std::uint32_t seVersionRequired; // minimum version of the script extender required, compared against PACKED_SFSE_VERSION // you probably should just set this to 0 unless you know what you are doing std::uint32_t reservedNonBreaking; // bitfield. set to 0 std::uint32_t reservedBreaking; // bitfield. set to 0 }; /**** plugin API docs ********************************************************** * * The base API is pretty simple. Add version data as shown in the * SFSEPluginVersionData docs above, and export this function: * * bool SFSEPlugin_Load(const SFSEInterface * sfse) * * In this function, use the interfaces above to register your commands, patch * memory, generally do whatever you need to for integration with the runtime. * * At this time, or at any point forward you can call the QueryInterface * callback to retrieve an interface structure for the base services provided * by the SFSE core. * * Note that all structure versions are backwards-compatible, so you only need * to check against the latest version that you need. New fields will be only * added to the end, and all old fields will remain compatible with their * previous implementations. * * If your plugin needs to make modifications before global initializers, add * and export this: * * bool SFSEPlugin_Preload(const SFSEInterface * sfse) * * Game and SFSE functionality may be limited during preload. * ******************************************************************************/ ================================================ FILE: sfse/PluginManager.cpp ================================================ #include "PluginManager.h" #include "sfse_common/DirectoryIterator.h" #include "sfse_common/FileStream.h" #include "sfse_common/Utilities.h" #include "sfse_common/sfse_version.h" #include "sfse_common/BranchTrampoline.h" #include "sfse_common/Log.h" #include "sfse_common/Errors.h" #include "sfse/Hooks_Scaleform.h" #include "sfse/Hooks_Command.h" PluginManager g_pluginManager; PluginManager::LoadedPlugin * PluginManager::s_currentLoadingPlugin = nullptr; PluginHandle PluginManager::s_currentPluginHandle = 0; u32 s_trampolineLog = 1; BranchTrampolineManager g_branchTrampolineManager(g_branchTrampoline); BranchTrampolineManager g_localTrampolineManager(g_localTrampoline); static const SFSEInterface g_SFSEInterface = { PACKED_SFSE_VERSION, RUNTIME_VERSION, SFSEInterface::kInterfaceVersion, PluginManager::queryInterface, PluginManager::getPluginHandle, PluginManager::getPluginInfo }; static const SFSETrampolineInterface g_SFSETrampolineInterface = { SFSETrampolineInterface::kInterfaceVersion, AllocateFromSFSEBranchPool, AllocateFromSFSELocalPool }; static SFSEMessagingInterface g_SFSEMessagingInterface = { SFSEMessagingInterface::kInterfaceVersion, PluginManager::registerListener, PluginManager::dispatchMessage, }; static const SFSEMenuInterface g_SFSEMenuInterface = { SFSEMenuInterface::kInterfaceVersion, RegisterMenuPlugin, RegisterManagerPlugin, }; static const SFSETaskInterface g_SFSETaskInterface = { SFSETaskInterface::kInterfaceVersion, TaskInterface::addTask, TaskInterface::addTaskPermanent }; PluginManager::PluginManager() { // } PluginManager::~PluginManager() { deinit(); } PluginManager::LoadedPlugin::LoadedPlugin() { memset(&info, 0, sizeof(info)); memset(&version, 0, sizeof(version)); } void PluginManager::init() { if(findPluginDirectory()) { _MESSAGE("plugin directory = %s", m_pluginDirectory.c_str()); // avoid realloc m_plugins.reserve(5); __try { scanPlugins(); } __except(EXCEPTION_EXECUTE_HANDLER) { // something very bad happened _ERROR("exception occurred while loading plugins"); } } } void PluginManager::installPlugins(u32 phase) { for(size_t i = 0; i < m_plugins.size(); i++) { auto & plugin = m_plugins[i]; // skip plugins that don't care about this phase if(phase == kPhase_Preload) { if(!plugin.hasPreload) continue; } else { if(!plugin.hasLoad) continue; } _MESSAGE("%sloading plugin \"%s\"", (phase == kPhase_Preload) ? "pre" : "", plugin.version.name); s_currentLoadingPlugin = &plugin; s_currentPluginHandle = plugin.internalHandle; std::string pluginPath = m_pluginDirectory + plugin.dllName; if(!plugin.handle) { plugin.handle = (HMODULE)LoadLibrary(pluginPath.c_str()); if(!plugin.handle) logPluginLoadError(plugin, "couldn't load plugin", GetLastError()); } bool success = false; if(plugin.handle) { plugin.load[phase] = (_SFSEPlugin_Load)GetProcAddress(plugin.handle, (phase == kPhase_Preload) ? "SFSEPlugin_Preload" : "SFSEPlugin_Load"); if(plugin.load) { const char * loadStatus = nullptr; loadStatus = safeCallLoadPlugin(&plugin, &g_SFSEInterface, phase); if(!loadStatus) { success = true; } else { logPluginLoadError(plugin, loadStatus); } } else { logPluginLoadError(plugin, "does not appear to be an SFSE plugin"); } } if(!success) { // failed, unload the library if(plugin.handle) FreeLibrary(plugin.handle); // and remove from plugins list m_plugins.erase(m_plugins.begin() + i); // fix iterator i--; } } s_currentLoadingPlugin = nullptr; s_currentPluginHandle = 0; } void PluginManager::loadComplete() { for(size_t i = 0; i < m_plugins.size(); i++) { auto & plugin = m_plugins[i]; _MESSAGE("plugin %s (%08X %s %08X) %s (handle %d)", plugin.dllName.c_str(), plugin.version.dataVersion, plugin.version.name, plugin.version.pluginVersion, "loaded correctly", plugin.internalHandle); } reportPluginErrors(); // make fake PluginInfo structs after m_plugins is locked for(auto & plugin : m_plugins) { plugin.info.infoVersion = PluginInfo::kInfoVersion; plugin.info.name = plugin.version.name; plugin.info.version = plugin.version.pluginVersion; } // alert any listeners that plugin load has finished dispatchMessage(0, SFSEMessagingInterface::kMessage_PostLoad, nullptr, 0, nullptr); // second post-load dispatch dispatchMessage(0, SFSEMessagingInterface::kMessage_PostPostLoad, nullptr, 0, nullptr); } void PluginManager::deinit() { for(LoadedPluginList::iterator iter = m_plugins.begin(); iter != m_plugins.end(); ++iter) { LoadedPlugin * plugin = &(*iter); if(plugin->handle) { FreeLibrary(plugin->handle); } } m_plugins.clear(); } const PluginInfo * PluginManager::infoByName(const char * name) const { for(LoadedPluginList::const_iterator iter = m_plugins.begin(); iter != m_plugins.end(); ++iter) { const LoadedPlugin * plugin = &(*iter); if(plugin->info.name && !_stricmp(name, plugin->info.name)) return &plugin->info; } return nullptr; } u32 PluginManager::numPlugins() const { u32 result = (u32)m_plugins.size(); // is one currently loading? if(s_currentLoadingPlugin) result++; return result; } const char * PluginManager::pluginNameFromHandle(PluginHandle handle) const { if(handle > 0 && handle <= m_plugins.size()) return (m_plugins[handle - 1].version.name); else if(handle == 0) return "SFSE"; return nullptr; } PluginHandle PluginManager::lookupHandleFromName(const char * pluginName) const { if(!_stricmp("SFSE", pluginName)) return 0; u32 idx = 1; for(LoadedPluginList::const_iterator iter = m_plugins.begin(); iter != m_plugins.end(); ++iter) { const LoadedPlugin * plugin = &(*iter); if(!_stricmp(plugin->version.name, pluginName)) { return idx; } idx++; } return kPluginHandle_Invalid; } void * PluginManager::queryInterface(u32 id) { void * result = nullptr; switch(id) { case kInterface_Messaging: result = (void *)&g_SFSEMessagingInterface; break; case kInterface_Trampoline: result = (void *)&g_SFSETrampolineInterface; break; case kInterface_Menu: result = (void*)&g_SFSEMenuInterface; break; case kInterface_Task: result = (void*)&g_SFSETaskInterface; break; default: _WARNING("unknown QueryInterface %08X", id); break; } return result; } PluginHandle PluginManager::getPluginHandle(void) { ASSERT_STR(s_currentPluginHandle, "A plugin has called SFSEInterface::GetPluginHandle outside of its Query/Load handlers"); return s_currentPluginHandle; } const PluginInfo* PluginManager::getPluginInfo(const char* name) { return g_pluginManager.infoByName(name); } bool PluginManager::findPluginDirectory(void) { bool result = false; // find the path /data/sfse/ std::string runtimeDirectory = getRuntimeDirectory(); if(!runtimeDirectory.empty()) { m_pluginDirectory = runtimeDirectory + "Data\\SFSE\\Plugins\\"; result = true; } return result; } void PluginManager::scanPlugins(void) { _MESSAGE("scanning plugin directory %s", m_pluginDirectory.c_str()); u32 handleIdx = 1; // start at 1, 0 is reserved for internal use for(DirectoryIterator iter(m_pluginDirectory.c_str(), "*.dll"); !iter.done(); iter.next()) { std::string pluginPath = iter.fullPath(); LoadedPlugin plugin; plugin.dllName = iter.get()->cFileName; _MESSAGE("checking plugin %s", plugin.dllName.c_str()); HMODULE resourceHandle = (HMODULE)LoadLibraryEx(pluginPath.c_str(), nullptr, LOAD_LIBRARY_AS_IMAGE_RESOURCE); if(resourceHandle) { if(is64BitDLL(resourceHandle)) { auto * version = (const SFSEPluginVersionData *)getResourceLibraryProcAddress(resourceHandle, "SFSEPlugin_Version"); if(version) { plugin.version = *version; sanitize(&plugin.version); auto * loadStatus = checkPluginCompatibility(plugin.version); if(!loadStatus) { // compatible, add to list plugin.internalHandle = handleIdx; handleIdx++; plugin.hasLoad = getResourceLibraryProcAddress(resourceHandle, "SFSEPlugin_Load") != nullptr; plugin.hasPreload = getResourceLibraryProcAddress(resourceHandle, "SFSEPlugin_Preload") != nullptr; m_plugins.push_back(plugin); } else { logPluginLoadError(plugin, loadStatus); } } else { logPluginLoadError(plugin, "no version data", 0, false); } } else { logPluginLoadError(plugin, "32-bit plugins can never work"); } FreeLibrary(resourceHandle); } else { logPluginLoadError(plugin, "couldn't load plugin", GetLastError()); } } } const char * PluginManager::checkAddressLibrary(void) { static bool s_checked = false; static const char * s_status = nullptr; if(s_checked) { return s_status; } const char * buildType = ""; char fileName[256]; _snprintf_s(fileName, 256, "Data\\SFSE\\Plugins\\versionlib-%d-%d-%d-%d%s.bin", GET_EXE_VERSION_MAJOR(RUNTIME_VERSION), GET_EXE_VERSION_MINOR(RUNTIME_VERSION), GET_EXE_VERSION_BUILD(RUNTIME_VERSION), 0, buildType); FileStream versionLib; if(!versionLib.open(fileName)) { m_oldAddressLibrary = true; s_status = "disabled, address library needs to be updated"; } s_checked = true; return s_status; } const char * PluginManager::safeCallLoadPlugin(LoadedPlugin * plugin, const SFSEInterface * sfse, u32 phase) { __try { if(!plugin->load[phase](sfse)) { return "reported as incompatible during load"; } } __except(EXCEPTION_EXECUTE_HANDLER) { // something very bad happened return "disabled, fatal error occurred while loading plugin"; } return nullptr; } void PluginManager::sanitize(SFSEPluginVersionData * version) { version->name[sizeof(version->name) - 1] = 0; version->author[sizeof(version->author) - 1] = 0; } enum { kCompat_BlockFromRuntime = 1 << 0, kCompat_BlockFromEditor = 1 << 1, kCompat_NotVersionIndependent = 1 << 2, }; struct PluginCompatEntry { const char * name; u32 minVersion; const char * reason; u32 compatFlags; }; static const PluginCompatEntry kPluginCompatList[] = { { "BakaAchievementEnabler", MAKE_EXE_VERSION(2, 0, 0), "broken before plugin version 2.0.0", kCompat_BlockFromRuntime }, { "BakaKillMyGames", MAKE_EXE_VERSION(2, 0, 0), "broken before plugin version 2.0.0", kCompat_BlockFromRuntime }, { "BakaQuitGameFix", MAKE_EXE_VERSION(2, 0, 0), "broken before plugin version 2.0.0", kCompat_BlockFromRuntime }, { "BakaQuickFullSaves", MAKE_EXE_VERSION(2, 0, 0), "broken before plugin version 2.0.0", kCompat_BlockFromRuntime }, // version data doesn't match the version listed on nexus, have contacted the author to update this { "StarfieldRadio", 10001, "crashes due to bad version data (update past version 1.0.3)", kCompat_BlockFromRuntime }, { "SaveTweaks", 4, "crashes due to bad version data (update past version 3)", kCompat_BlockFromRuntime }, { "Starfield-NoAffinityLoss", 10301, "crashes due to bad version data (update past version 1.3.0)", kCompat_BlockFromRuntime }, // didn't set up version data correctly and implemented its own version check { "Starfield Engine Fixes - SFSE Plugin by LarannKiar", 0, "not version independent", kCompat_NotVersionIndependent }, { nullptr, 0, nullptr } }; const char * PluginManager::checkPluginCompatibility(const SFSEPluginVersionData & version) { __try { // basic validity if(!version.dataVersion) { return "disabled, bad version data"; } if(!version.name[0]) { return "disabled, no name specified"; } // check for 'known bad' versions of plugins const PluginCompatEntry * compat = nullptr; for(const PluginCompatEntry * iter = kPluginCompatList; iter->name; ++iter) { if(!strcmp(iter->name, version.name)) { compat = iter; if(version.pluginVersion < iter->minVersion) { #ifdef RUNTIME if(iter->compatFlags & kCompat_BlockFromRuntime) { return iter->reason; } #endif #ifdef EDITOR if(iter->compatFlags & kCompat_BlockFromEditor) { return iter->reason; } #endif } break; } } // version compatibility means both address independence and structure independence bool hasAddressIndependence = version.addressIndependence & (SFSEPluginVersionData::kAddressIndependence_Signatures | SFSEPluginVersionData::kAddressIndependence_AddressLibraryV2); bool hasStructureIndependence = version.structureIndependence & (SFSEPluginVersionData::kStructureIndependence_NoStructs | SFSEPluginVersionData::kStructureIndependence_1_14_70_Layout); bool versionIndependent = hasAddressIndependence && hasStructureIndependence; // plugins with bad version data are not version independent if(compat && compat->compatFlags & kCompat_NotVersionIndependent) versionIndependent = false; // currently anything in the "breaking change" field means that compatibility has been broken by an update if(version.reservedBreaking) versionIndependent = false; // verify that address library is there to centralize error message if(version.addressIndependence & (SFSEPluginVersionData::kAddressIndependence_AddressLibrary | SFSEPluginVersionData::kAddressIndependence_AddressLibraryV2)) { const char * result = checkAddressLibrary(); if(result) return result; } // simple version list if(!versionIndependent) { bool found = false; for(u32 i = 0; i < _countof(version.compatibleVersions); i++) { u32 compatibleVersion = version.compatibleVersions[i]; if(compatibleVersion == RUNTIME_VERSION) { found = true; break; } else if(!compatibleVersion) { break; } } if(!found) { return "disabled, incompatible with current version of the game"; } } // SE version compatibility if(version.seVersionRequired > PACKED_SFSE_VERSION) { return "disabled, requires newer script extender"; } } __except(EXCEPTION_EXECUTE_HANDLER) { // paranoia return "disabled, fatal error occurred while checking plugin compatibility"; } return nullptr; } void PluginManager::logPluginLoadError(const LoadedPlugin & pluginSrc, const char * errStr, u32 errCode, bool isError) { LoadedPlugin plugin = pluginSrc; plugin.errorState = errStr; plugin.errorCode = errCode; if(isError) m_erroredPlugins.push_back(plugin); _MESSAGE("plugin %s (%08X %s %08X) %s %d (handle %d)", plugin.dllName.c_str(), plugin.version.dataVersion, plugin.version.name, plugin.version.pluginVersion, plugin.errorState, plugin.errorCode, s_currentPluginHandle); } struct BetterPluginName { const char * dllName; const char * userReportedName; }; // some plugins have non-descriptive names resulting in bad bug reports static const BetterPluginName kBetterPluginNames[] = { { "sfee.dll", "CharGenMenu" }, { nullptr, nullptr } }; void PluginManager::reportPluginErrors() { if(m_erroredPlugins.empty()) return; if(m_oldAddressLibrary) updateAddressLibraryPrompt(); // With this plugin DLL load error, the thread of prophecy is severed. Update your plugins to restore the weave of fate, or persist in the doomed world you have created std::string message = "Mods you have installed have failed to load correctly. Check for updates to the mods listed below.\n"; for(auto & plugin : m_erroredPlugins) { message += "\n"; bool foundReplacementName = false; for(auto * iter = kBetterPluginNames; iter->dllName; ++iter) { if(!_stricmp(iter->dllName, plugin.dllName.c_str())) { foundReplacementName = true; message += iter->userReportedName; message += " (" + plugin.dllName + ")"; } } if(!foundReplacementName) message += plugin.dllName; if(plugin.version.pluginVersion) { char verStr[256]; // heuristic to determine if we have a packed version from commonlib if(GET_EXE_VERSION_MAJOR(plugin.version.pluginVersion)) sprintf_s(verStr, "%d.%d.%d.%d", GET_EXE_VERSION_MAJOR(plugin.version.pluginVersion), GET_EXE_VERSION_MINOR(plugin.version.pluginVersion), GET_EXE_VERSION_BUILD(plugin.version.pluginVersion), GET_EXE_VERSION_SUB(plugin.version.pluginVersion)); else sprintf_s(verStr, "%d", plugin.version.pluginVersion); message += " v"; message += verStr; } message += ": "; message += plugin.errorState; if(plugin.errorCode) { char codeStr[128]; sprintf_s(codeStr, "%08X", plugin.errorCode); message += " ("; message += codeStr; message += ")"; } } message += "\n\nContinuing to load may result in lost save data or other undesired behavior."; message += "\nExit game? (yes highly suggested)"; int result = MessageBox(0, message.c_str(), "SFSE Plugin Loader (" __PREPRO_TOKEN_STR__(SFSE_VERSION_INTEGER) "." __PREPRO_TOKEN_STR__(SFSE_VERSION_INTEGER_MINOR) "." __PREPRO_TOKEN_STR__(SFSE_VERSION_INTEGER_BETA) ")", MB_YESNO); if(result == IDYES) { DebugLog::flush(); TerminateProcess(GetCurrentProcess(), 0); } } void PluginManager::updateAddressLibraryPrompt() { int result = MessageBox(0, "DLL plugins you have installed require a new version of the Address Library. Either this is a new install, or Starfield was just updated. Visit the Address Library webpage for updates?", "SFSE Plugin Loader", MB_YESNO); if(result == IDYES) { ShellExecute(0, nullptr, "https://www.nexusmods.com/starfield/mods/3256", nullptr, nullptr, 0); TerminateProcess(GetCurrentProcess(), 0); } } // Plugin communication interface struct PluginListener { PluginHandle listener; SFSEMessagingInterface::EventCallback handleMessage; }; typedef std::vector > PluginListeners; static PluginListeners s_pluginListeners; bool PluginManager::registerListener(PluginHandle listener, const char* sender, SFSEMessagingInterface::EventCallback handler) { // because this can be called while plugins are loading, gotta make sure number of plugins hasn't increased u32 numPlugins = g_pluginManager.numPlugins() + 1; if (s_pluginListeners.size() < numPlugins) { s_pluginListeners.resize(numPlugins + 5); // add some extra room to avoid unnecessary re-alloc } _MESSAGE("registering plugin listener for %s at %u of %u", sender, listener, numPlugins); // handle > num plugins = invalid if (listener > g_pluginManager.numPlugins() || !handler) { return false; } if (sender) { // is target loaded? PluginHandle target = g_pluginManager.lookupHandleFromName(sender); if (target == kPluginHandle_Invalid) { return false; } // is listener already registered? for (std::vector::iterator iter = s_pluginListeners[target].begin(); iter != s_pluginListeners[target].end(); ++iter) { if (iter->listener == listener) { return true; } } // register new listener PluginListener newListener; newListener.handleMessage = handler; newListener.listener = listener; s_pluginListeners[target].push_back(newListener); } else { // register listener to every loaded plugin u32 idx = 0; for(PluginListeners::iterator iter = s_pluginListeners.begin(); iter != s_pluginListeners.end(); ++iter) { // don't add the listener to its own list if (idx && idx != listener) { bool skipCurrentList = false; for (std::vector::iterator iterEx = iter->begin(); iterEx != iter->end(); ++iterEx) { // already registered with this plugin, skip it if (iterEx->listener == listener) { skipCurrentList = true; break; } } if (skipCurrentList) { continue; } PluginListener newListener; newListener.handleMessage = handler; newListener.listener = listener; iter->push_back(newListener); } idx++; } } return true; } bool PluginManager::dispatchMessage(PluginHandle sender, u32 messageType, void * data, u32 dataLen, const char* receiver) { _MESSAGE("dispatch message (%d) to plugin listeners", messageType); u32 numRespondents = 0; PluginHandle target = kPluginHandle_Invalid; if (!s_pluginListeners.size()) // no listeners yet registered { _MESSAGE("no listeners registered"); return false; } else if (sender >= s_pluginListeners.size()) { _MESSAGE("sender is not in the list"); return false; } if (receiver) { target = g_pluginManager.lookupHandleFromName(receiver); if (target == kPluginHandle_Invalid) return false; } const char* senderName = g_pluginManager.pluginNameFromHandle(sender); if (!senderName) return false; for (std::vector::iterator iter = s_pluginListeners[sender].begin(); iter != s_pluginListeners[sender].end(); ++iter) { SFSEMessagingInterface::Message msg; msg.data = data; msg.type = messageType; msg.sender = senderName; msg.dataLen = dataLen; if (target != kPluginHandle_Invalid) // sending message to specific plugin { if (iter->listener == target) { iter->handleMessage(&msg); return true; } } else { _DMESSAGE("sending message type %u to plugin %u", messageType, iter->listener); iter->handleMessage(&msg); numRespondents++; } } _DMESSAGE("dispatched message."); return numRespondents ? true : false; } inline void * BranchTrampolineManager::allocate(PluginHandle plugin, size_t size) { auto mem = m_trampoline.allocate(size); if (mem) { std::lock_guard locker(m_lock); auto findIt = m_stats.find(plugin); if (findIt != m_stats.end()) { findIt->second += size; } else { auto insIt = m_stats.insert(std::make_pair(plugin, size)); ASSERT(insIt.second); // insertion failed } } else { ASSERT(false); // alloc failed } return mem; } void * AllocateFromSFSEBranchPool(PluginHandle plugin, size_t size) { if (s_trampolineLog) { _DMESSAGE("plugin %d allocated %lld bytes from branch pool", plugin, size); } return g_branchTrampolineManager.allocate(plugin, size); } void * AllocateFromSFSELocalPool(PluginHandle plugin, size_t size) { if (s_trampolineLog) { _DMESSAGE("plugin %d allocated %lld bytes from local pool", plugin, size); } return g_localTrampolineManager.allocate(plugin, size); } ================================================ FILE: sfse/PluginManager.h ================================================ #pragma once #include #include #include #include #include "sfse/PluginAPI.h" #include "sfse_common/Types.h" #include class PluginManager { public: PluginManager(); ~PluginManager(); enum { kPhase_Preload = 0, kPhase_Load, kPhase_Num, }; void init(); void installPlugins(u32 phase); void loadComplete(); void deinit(); const PluginInfo * infoByName(const char * name) const; u32 numPlugins() const; const char * pluginNameFromHandle(PluginHandle handle) const; PluginHandle lookupHandleFromName(const char * pluginName) const; // interface handlers static void * queryInterface(u32 id); static PluginHandle getPluginHandle(); static const PluginInfo * getPluginInfo(const char* name); static bool dispatchMessage(PluginHandle sender, u32 messageType, void * data, u32 dataLen, const char* receiver); static bool registerListener(PluginHandle listener, const char* sender, SFSEMessagingInterface::EventCallback handler); private: struct LoadedPlugin { LoadedPlugin(); std::string dllName; HMODULE handle = 0; PluginInfo info; u32 internalHandle = 0; SFSEPluginVersionData version; _SFSEPlugin_Load load[kPhase_Num] = { nullptr }; const char * errorState = nullptr; u32 errorCode = 0; bool hasLoad = false; bool hasPreload = false; }; bool findPluginDirectory(void); void scanPlugins(void); const char * safeCallLoadPlugin(LoadedPlugin * plugin, const SFSEInterface * sfse, u32 phase); void sanitize(SFSEPluginVersionData * version); const char * checkPluginCompatibility(const SFSEPluginVersionData & version); const char * checkAddressLibrary(void); void logPluginLoadError(const LoadedPlugin & plugin, const char * errStr, u32 errCode = 0, bool isError = true); void reportPluginErrors(); void updateAddressLibraryPrompt(); typedef std::vector LoadedPluginList; std::string m_pluginDirectory; LoadedPluginList m_plugins; LoadedPluginList m_erroredPlugins; bool m_oldAddressLibrary = false; static LoadedPlugin * s_currentLoadingPlugin; static PluginHandle s_currentPluginHandle; }; class BranchTrampolineManager { public: BranchTrampolineManager(BranchTrampoline& trampoline) : m_trampoline(trampoline) {} void* allocate(PluginHandle plugin, size_t size); private: BranchTrampoline& m_trampoline; std::mutex m_lock; std::unordered_map m_stats; }; extern BranchTrampolineManager g_branchTrampolineManager; extern BranchTrampolineManager g_localTrampolineManager; void * AllocateFromSFSEBranchPool(PluginHandle plugin, size_t size); void * AllocateFromSFSELocalPool(PluginHandle plugin, size_t size); extern PluginManager g_pluginManager; ================================================ FILE: sfse/ScaleformFunctions.h ================================================ #pragma once #include "sfse_common/Types.h" #include "sfse_common/Utilities.h" #include "sfse/ScaleformTypes.h" #include "sfse/ScaleformMemory.h" namespace Scaleform { namespace GFx { class Value; class Movie; class FunctionHandler : public RefCountBase { public: virtual ~FunctionHandler() { }; struct Params { Value* pRetVal; Movie* pMovie; Value* pThis; Value* pArgsWithThisRef; Value* pArgs; u32 ArgCount; void* pUserData; }; virtual void Call(const Params*) = 0; DEFINE_STATIC_HEAP(ScaleformHeap_Allocate, ScaleformHeap_Free); }; } } class SWFToCodeFunctionHandler : public Scaleform::GFx::FunctionHandler { public: virtual void MapCodeObjectFunctions() { }; }; ================================================ FILE: sfse/ScaleformLoader.h ================================================ #pragma once #include "sfse/ScaleformState.h" namespace Scaleform { namespace GFx { class ResourceLib; class Loader : public StateBag { class LoaderImpl* pImpl; ResourceLib* pStrongResourceLib; unsigned DefLoadFlags; protected: virtual StateBag* GetStateBagImpl() const; virtual bool CheckTagLoader(int tagType) const; public: virtual ~Loader(); class LoaderImpl* GetLoaderImpl() const { return pImpl; } }; } } ================================================ FILE: sfse/ScaleformLog.h ================================================ #pragma once #include "sfse_common/Relocation.h" #include "sfse/ScaleformState.h" namespace Scaleform { enum LogMessageType { LogMessage_Text = 0x00000, LogMessage_Warning = 0x20000, LogMessage_Error = 0x30000, LogMessage_Assert = 0x40000, LogMessage_Mask = 0xF0000 }; enum LogChannel { LogChannel_General = 0x1000, LogChannel_Debug = 0x2000, LogChannel_Script = 0x3000, LogChannel_Parse = 0x4000, LogChannel_Action = 0x5000, LogChannel_Mask = 0xF000, }; class LogMessageId { int Id; public: LogMessageId(int id = 0) : Id(id) { } LogMessageId(const LogMessageId& other) : Id(other.Id) { } LogMessageId& operator = (int id) { Id = id; return *this; } LogMessageId& operator = (LogMessageId& other) { Id = other.Id; return *this; } operator int() const { return Id; } LogMessageType GetMessageType() const { return (LogMessageType)(Id & LogMessage_Mask); } LogChannel GetChannel() const { return (LogChannel)(Id & LogChannel_Mask); } }; enum LogConstants { Log_Message = LogChannel_General | LogMessage_Text, Log_Warning = LogChannel_General | LogMessage_Warning, Log_Error = LogChannel_General | LogMessage_Error, Log_DebugMessage = LogChannel_Debug | LogMessage_Text, Log_DebugWarning = LogChannel_Debug | LogMessage_Warning, Log_DebugError = LogChannel_Debug | LogMessage_Error, Log_DebugAssert = LogChannel_Debug | LogMessage_Assert }; class Log : public RefCountBase { public: Log() { } virtual ~Log() { }; virtual void LogMessageVarg(LogMessageId messageId, const char* fmt, va_list argList) { }; }; namespace GFx { template class LogBase { public: virtual ~LogBase() { } virtual bool IsVerboseActionErrors() const { return true; } }; class LogState : public State, public LogBase { Ptr pLog; public: LogState(Log* log) : State(State_Log), pLog(log) { } virtual ~LogState() { } virtual void LogMessageVarg(LogMessageId messageType, const char* pfmt, va_list argList) { Log* log = GetLog(); if (log) { log->LogMessageVarg(messageType, pfmt, argList); } } Log* GetLog() const { return pLog ? pLog.GetPtr() : nullptr; } }; } } ================================================ FILE: sfse/ScaleformManager.h ================================================ #pragma once #include "sfse/ScaleformLoader.h" class BSScaleformManager { public: void* unk00; // 00 void* unk08; // 08 Scaleform::GFx::Loader* pLoader; // 10 void* unk18; // 18 void* unk20; // 20 void* unk28; // 28 static BSScaleformManager* GetSingleton() { RelocPtr singleton(0x061E6400); return *singleton; } }; ================================================ FILE: sfse/ScaleformMemory.cpp ================================================ #include "sfse/ScaleformMemory.h" RelocPtr Scaleform::Memory::pGlobalHeap(0x05D84198); void* ScaleformHeap_Allocate(u64 size) { return (*Scaleform::Memory::pGlobalHeap)->Alloc(size); } void ScaleformHeap_Free(void* ptr) { (*Scaleform::Memory::pGlobalHeap)->Free(ptr); } ================================================ FILE: sfse/ScaleformMemory.h ================================================ #pragma once #include "sfse/ScaleformTypes.h" #include "sfse_common/Relocation.h" namespace Scaleform { class StatBag; class SysAllocPaged; class AllocInfo; class Heap { public: class SegVisitor {}; class MemVisitor {}; }; class MemoryHeap { public: virtual ~MemoryHeap(); class HeapDesc {}; class LimitHandler {}; class HeapTracer {}; class RootStats {}; class SegVisitor {}; virtual void CreateArena(UPInt arena, SysAllocPaged*) = 0; virtual void DestroyArena(UPInt arena) = 0; virtual bool ArenaIsEmpty(UPInt arena) = 0; virtual MemoryHeap* CreateHeap(const char* name, const HeapDesc& desc) = 0; virtual void SetLimitHandler(LimitHandler* handler) = 0; virtual void SetLimit(UPInt newLimit) = 0; virtual void AddRef() = 0; virtual void Release() = 0; virtual void* Alloc(UPInt size, UPInt align, const AllocInfo* info = nullptr) = 0; virtual void* Alloc(UPInt size, const AllocInfo* info = nullptr) = 0; virtual void* Realloc(void* oldPtr, UPInt newSize) = 0; virtual void Free(void* ptr) = 0; virtual void* AllocAutoHeap(const void* thisPtr, UPInt size, UPInt align, const AllocInfo* info) = 0; virtual void* AllocAutoHeap(const void* thisPtr, UPInt size, const AllocInfo* info) = 0; virtual MemoryHeap* GetAllocHeap(const void* thisPtr) = 0; virtual UPInt GetUsableSize(const void* ptr) = 0; virtual void* AllocSysDirect(UPInt size) = 0; virtual void FreeSysDirect(void* ptr, UPInt size) = 0; virtual bool GetStats(StatBag* bag) = 0; virtual UPInt GetFootprint() const = 0; virtual UPInt GetTotalFootprint() const = 0; virtual UPInt GetUsedSpace() const = 0; virtual UPInt GetTotalUsedSpace() const = 0; virtual void GetRootStats(RootStats* stats) = 0; virtual void VisitMem(Heap::MemVisitor* visitor, unsigned int flags) = 0; virtual void VisitRootSegments(SegVisitor* visitor) = 0; virtual void VisitHeapSegments(SegVisitor* visitor) const = 0; virtual void SetTracer(HeapTracer* tracer) = 0; virtual void destroyItself() = 0; virtual void ultimateCheck() = 0; virtual void releaseCachedMem() = 0; virtual bool dumpMemoryLeaks() = 0; virtual void checkIntegrity() const = 0; virtual void getUserDebugStats(RootStats* stats) const = 0; // Members... }; class Memory { public: static RelocPtr pGlobalHeap; }; } extern void* ScaleformHeap_Allocate(u64 size); extern void ScaleformHeap_Free(void* ptr); ================================================ FILE: sfse/ScaleformMovie.h ================================================ #pragma once #include "sfse/ScaleformState.h" namespace Scaleform { class MemoryHeap; class Log; class AmpMovieObjectDesc; class String; namespace Render { template class Point { T x; T y; }; namespace Text { class Allocator; } } namespace GFx { class ASMovieRootBase; class Movie : public RefCountBase, public StateBag { public: virtual ~Movie(); enum SetVarType { SV_Normal, SV_Sticky1, SV_Permanent, }; enum SetArrayType { SA_Int, SA_Double, SA_Float, SA_String, SA_StringW, SA_Value, }; Ptr pASMovieRoot; }; class MovieImpl : public Movie { public: // More... }; class MovieDefImpl; class ASString; class DisplayObject; class InputEventsQueueEntry; class InteractiveObject; class ProcessFocusKeyInfo; class EventId; class OrientationEvent; class AppLifecycleEvent; class AccelerometerEvent; class GeolocationEvent; class Value; class MemoryContext; class ASStringManager; class FunctionHandler; class MouseState; struct MovieDefRootNode; class DisplayObjContainer; class LoadQueueEntry; class LoadStates; class ASMovieRootBase : public RefCountBase { public: virtual ~ASMovieRootBase() { }; virtual void SetMovie(MovieImpl* pmovie) = 0; virtual void AdvanceFrame(bool nextFrame) = 0; virtual void ChangeMouseCursorType(unsigned int mouseIdx, unsigned int newCursorType) = 0; virtual bool CheckAvm() = 0; virtual void ClearDisplayList() = 0; virtual MovieDefRootNode* CreateMovieDefRootNode(MemoryHeap*, MovieDefImpl*, bool) = 0; virtual void DoActions() = 0; virtual InteractiveObject* FindTarget(const ASString& path) = 0; virtual void ForceCollect(unsigned int) = 0; virtual void ForceEmergencyCollect() = 0; virtual void SuspendGC(bool) = 0; virtual void ScheduleGC(unsigned int) = 0; virtual void GenerateMouseEvents(unsigned int) = 0; virtual void GenerateTouchEvents(unsigned int) = 0; virtual void GenerateGestureEvents(InteractiveObject*, unsigned int, const Render::Point*, const Render::Point*, const Render::Point*, float, unsigned int) = 0; virtual DisplayObjContainer* GetRootMovie(DisplayObject*) = 0; virtual bool Init(MovieDefImpl*) = 0; virtual void NotifyMouseEvent(const InputEventsQueueEntry*, const MouseState*, int) = 0; virtual void NotifyOnResize() = 0; virtual void NotifyQueueSetFocus(InteractiveObject*, unsigned int, FocusMovedType) = 0; virtual void NotifyTransferFocus(InteractiveObject*, InteractiveObject*, unsigned int) = 0; virtual bool NotifyOnFocusChange(InteractiveObject*, InteractiveObject*, unsigned int, FocusMovedType, ProcessFocusKeyInfo*) = 0; virtual void NotifyGamePadAnalogEvent(const EventId*) = 0; virtual void NotifyStatusEvent(const EventId*) = 0; virtual void NotifyAccelerometerEvent(const EventId*, int) = 0; virtual void NotifyGeolocationEvent(const EventId*, int) = 0; virtual void OnMovieFocus(bool) = 0; virtual void OnNextFrame() = 0; virtual void OnDeviceOrientationChanged(const OrientationEvent*) = 0; virtual void OnAppLifecycleEvent(const AppLifecycleEvent*) = 0; virtual void OnAccelerometerEvent(const AccelerometerEvent*) = 0; virtual void OnGeolocationEvent(const GeolocationEvent*) = 0; virtual void PrintObjectsReport(unsigned int, Log*, const char*) = 0; virtual void GetObjectsTree(/*Array, 2, ArrayDefaultPolicy>**/void*, MemoryHeap*) = 0; virtual AmpMovieObjectDesc* GetDisplayObjectsTree(MemoryHeap*) = 0; virtual void ProcessLoadQueueEntry(LoadQueueEntry*, LoadStates*) = 0; virtual void ProcessLoadVarsMT(LoadQueueEntry*, LoadStates*, const String*, unsigned __int64, bool) = 0; virtual void ProcessLoadBinaryMT(LoadQueueEntry*, LoadStates*, const /*ArrayPOD**/void*, unsigned __int64, bool) = 0; virtual void RegisterAuxASClasses() = 0; virtual void ResolveStickyVariables(InteractiveObject*) = 0; virtual void SetExternalInterfaceRetVal(const Value&) = 0; virtual void SetMemoryParams(unsigned int, unsigned int) = 0; virtual void Shutdown() = 0; virtual void CreateString(Value* pvalue, const char* pstring) = 0; virtual void CreateStringW(Value* pvalue, const wchar_t* pstring) = 0; virtual void CreateObject(Value* pvalue, const char* className = nullptr, const Value* pargs = nullptr, unsigned int nargs = 0) = 0; virtual void CreateArray(Value* pvalue) = 0; virtual void CreateFunction(Value* pvalue, FunctionHandler* pfc, void* puserData = nullptr) = 0; virtual bool SetVariable(const char* ppathToVar, const Value& value, Movie::SetVarType setType = Movie::SV_Sticky1) = 0; virtual bool GetVariable(Value* pval, const char* ppathToVar) = 0; virtual bool SetVariableArray(Movie::SetArrayType type, const char* ppathToVar, unsigned int index, const void* pdata, unsigned int count, Movie::SetVarType = Movie::SV_Sticky1) = 0; virtual bool SetVariableArraySize(const char* ppathToVar, unsigned int count, Movie::SetVarType setType = Movie::SV_Sticky1) = 0; virtual unsigned int GetVariableArraySize(const char* ppathToVar) = 0; virtual bool GetVariableArray(Movie::SetArrayType type, const char* ppathToVar, unsigned int index, void* pdata, unsigned int count) = 0; virtual bool IsAvailable(const char* ppathToVar) = 0; virtual bool Invoke(const char* ppathToMethod, Value* presult, const char* pargFmt, ...) = 0; virtual bool Invoke(const char* ppathToMethod, Value* presult, const Value* pargs, unsigned int numArgs) = 0; virtual bool InvokeArgs(const char* ppathToMethod, Value* presult, const char* pargFmt, va_list args) = 0; virtual MemoryContext* GetMemoryContext() = 0; virtual ASStringManager* GetStringManager() = 0; virtual Render::Text::Allocator* GetTextAllocator() = 0; }; } } ================================================ FILE: sfse/ScaleformState.h ================================================ #pragma once #include "sfse_common/Utilities.h" #include "sfse/ScaleformMemory.h" #include "sfse/ScaleformTypes.h" namespace Scaleform { namespace GFx { struct FileTypeConstants{}; class State : public RefCountBase { public: // States with numbers have been code-verified enum StateType { State_None, State_Translator = 1, // BSScaleformTranslator::ScaleformImpl State_Log = 2, State_ActionControl = 3, State_UserEventHandler = 4, State_FSCommandHandler = 5, State_ExternalInterface = 6, State_FileOpener = 12, // BSScaleformFileOpener State_URLBuilder, State_ImageCreator = 14, // BSScaleformImageLoader State_ImageFileHandlerRegistry = 15, // Scaleform::GFx::ImageFileHandlerRegistry State_ParseControl = 16, // Scaleform::GFx::ParseControl State_ProgressHandler, State_ImportVisitor, State_FontPackParams, State_FontLib = 20, // Scaleform::GFx::FontLib State_DefaultFontLibNameState = 21, // Scaleform::Gfx::DefaultFontLibNameState State_FontProvider = 22, State_FontMap = 23, // Scaleform::GFx::FontMap State_TaskManager, State_TextClipboard = 25, // Scaleform::GFx::Clipboard State_TextKeyMap = 26, // Scaleform::GFx::TextKeyMap State_PreprocessParams, State_IMEManager, State_XMLSupport, State_ZlibSupport = 29, // Scaleform::GFx::ZlibSupport State_LZMASupport = 30, // Scaleform::GFx::ZLMASupport State_FontCompactorParams, State_ImagePackerParams, State_Audio = 41, State_Video, State_TestStream, State_SharedObject, State_LocSupport, State_AS2Support = 40, State_AS3Support = 41 // Scaleform::GFx::AS3Support }; public: State(StateType st = State_None) : SType(st) { } virtual ~State() { } StateType SType; DEFINE_STATIC_HEAP(ScaleformHeap_Allocate, ScaleformHeap_Free); }; class StateBag : public FileTypeConstants { protected: virtual StateBag* GetStateBagImpl() const { return 0; } public: virtual ~StateBag() { } virtual void SetState(State::StateType state, State* pstate) = 0; virtual State* GetStateAddRef(State::StateType state) const = 0; virtual void GetStatesAddRef(State** pstateList, const State::StateType* pstates, unsigned count) const = 0; }; } } ================================================ FILE: sfse/ScaleformTranslator.h ================================================ #pragma once #include "sfse/ScaleformState.h" #include "sfse/GameTypes.h" namespace Scaleform { class WStringBuffer; namespace GFx { class Translator : public State { public: unsigned WWMode; class TranslateInfo { protected: const wchar_t* pKey; WStringBuffer* pResult; const char* pInstanceName; enum { Flag_Translated = 0x01, Flag_ResultHtml = 0x02, Flag_SourceHtml = 0x04 }; u8 Flags; public: TranslateInfo() :pKey(NULL), pResult(NULL), pInstanceName(NULL), Flags(0) {} }; struct LineFormatDesc { const wchar_t* pParaText; UPInt ParaTextLen; const float* pWidths; UPInt LineStartPos; UPInt NumCharsInLine; float VisibleRectWidth; float CurrentLineWidth; float LineWidthBeforeWordWrap; float DashSymbolWidth; enum { Align_Left = 0, Align_Right = 1, Align_Center = 2, Align_Justify = 3 }; u8 Alignment; UPInt ProposedWordWrapPoint; bool UseHyphenation; }; virtual unsigned GetCaps() const { return 0; } virtual void Translate(TranslateInfo* ptranslateInfo) { } virtual bool OnWordWrapping(LineFormatDesc* pdesc) { } virtual s64 OnBidirectionalText(const wchar_t* text, unsigned __int64 textLen, wchar_t* newText, uint* indexMap, bool* mirrorBits) { } }; } } namespace BSScaleformTranslator { class ScaleformImpl : public Scaleform::GFx::Translator { public: // Dont know why this uses the trash XOR hash function BSTHashMap* translationMap; }; } ================================================ FILE: sfse/ScaleformTypes.h ================================================ #pragma once #include "sfse_common/Types.h" namespace Scaleform { using UPInt = unsigned __int64; class RefCountImplCore { public: RefCountImplCore() : RefCount(1) { } virtual ~RefCountImplCore() { } volatile long RefCount; // 08 }; class RefCountImpl : public RefCountImplCore { public: RefCountImpl() { } virtual ~RefCountImpl() { } void AddRef() { _InterlockedExchangeAdd(&RefCount, 1); } void Release() { if ((_InterlockedExchangeAdd(&RefCount, -1) - 1) == 0) delete this; } }; template class RefCountBaseStatImpl : public T { public: RefCountBaseStatImpl() { } virtual ~RefCountBaseStatImpl() { } }; template class RefCountBase : public RefCountBaseStatImpl { public: RefCountBase() { } virtual ~RefCountBase() { } }; template class Ptr { public: C* pObject; // 00 public: Ptr() : pObject(0) { } Ptr(C& robj) { pObject = &robj; } Ptr(C* pobj) { if (pobj) pobj->AddRef(); pObject = pobj; } Ptr(const Ptr& src) { if (src.pObject) src.pObject->AddRef(); pObject = src.pObject; } template Ptr(Ptr& src) { if (src) src->AddRef(); pObject = src; } ~Ptr() { if (pObject) pObject->Release(); } bool operator == (const Ptr& other) const { return pObject == other.pObject; } bool operator != (const Ptr& other) const { return pObject != other.pObject; } bool operator == (const C* pother) const { return pObject == pother; } bool operator != (const C* pother) const { return pObject != pother; } bool operator == (C* pother) const { return pObject == pother; } bool operator != (C* pother) const { return pObject != pother; } bool operator < (const Ptr& other) const { return pObject < other.pObject; } template const Ptr& operator=(const Ptr& src) { if (src) src->AddRef(); if (pObject) pObject->Release(); pObject = src; return *this; } const Ptr& operator=(const Ptr& src) { if (src) src->AddRef(); if (pObject) pObject->Release(); pObject = src; return *this; } const Ptr& operator = (C* psrc) { if (psrc) psrc->AddRef(); if (pObject) pObject->Release(); pObject = psrc; return *this; } const Ptr& operator = (C& src) { if (pObject) pObject->Release(); pObject = &src; return *this; } template Ptr& SetPtr(const Ptr& src) { if (src) src->AddRef(); if (pObject) pObject->Release(); pObject = src; return *this; } Ptr& SetPtr(const Ptr& src) { if (src) src->AddRef(); if (pObject) pObject->Release(); pObject = src; return *this; } Ptr& SetPtr(C* psrc) { if (psrc) psrc->AddRef(); if (pObject) pObject->Release(); pObject = psrc; return *this; } Ptr& SetPtr(C& src) { if (pObject) pObject->Release(); pObject = &src; return *this; } void NullWithoutRelease() { pObject = 0; } void Clear() { if (pObject) pObject->Release(); pObject = 0; } C*& GetRawRef() { return pObject; } C* GetPtr() const { return pObject; } C& operator*() const { return *pObject; } C* operator->() const { return pObject; } operator C* () const { return pObject; } }; namespace GFx { enum PlayState { State_Playing, State_Stopped }; enum FocusMovedType { GFx_FocusMovedByMouse = 1, GFx_FocusMovedByKeyboard = 2 }; } } ================================================ FILE: sfse/ScaleformValue.h ================================================ #pragma once #include namespace Scaleform { namespace GFx { class MovieImpl; class Value { public: enum ValueType { VT_Undefined = 0, VT_Null, VT_Boolean, VT_Int, VT_UInt, VT_Number, VT_String, VT_StringW, VT_Object, VT_Array, VT_DisplayObject, VT_Function, }; enum ValueTypeControl { VTC_ConvertBit = 0x80, VTC_ManagedBit = 0x40, VTC_TypeMask = VTC_ConvertBit | 0x0F, }; union ValueUnion { int IValue; unsigned int UIValue; long double NValue; bool BValue; const char* pString; const char** pStringManaged; const wchar_t* pStringW; void* pData; }; class ObjectInterface { public: class ArrVisitor { public: virtual ~ArrVisitor() {} virtual void Visit(unsigned int idx, Value* val) = 0; }; class ObjVisitor { public: virtual ~ObjVisitor() { } virtual bool ShowDisplayMembers() { return false; } virtual void Visit(const char* member, Value* value) = 0; }; virtual ~ObjectInterface(); DEFINE_MEMBER_FN_3(HasMember, bool, 0x03356260, void* pData, const char* name, bool isDisplayObj); DEFINE_MEMBER_FN_4(GetMember, bool, 0x033565A0, void* pData, const char* name, Value* pValue, bool isDisplayObj); DEFINE_MEMBER_FN_4(SetMember, bool, 0x03356990, void* pData, const char* name, const Value& pValue, bool isDisplayObj); DEFINE_MEMBER_FN_6(Invoke, bool, 0x03356DB0, void* pData, Value* result, const char* name, const Value* args, unsigned long long numArgs, bool isDisplayObj); DEFINE_MEMBER_FN_4(CreateEmptyMovieClip, bool, 0x0335A4D0, void* pData, Value* pValue, const char* instanceName, int depth); DEFINE_MEMBER_FN_6(AttachMovie, bool, 0x0335A790, void* pData, Value* pValue, const char* symbolName, const char* instanceName, int depth, const void* initArgs); DEFINE_MEMBER_FN_1(GetArraySize, unsigned int, 0x03358090, void* pData); DEFINE_MEMBER_FN_2(SetArraySize, bool, 0x033580A0, void* pData, unsigned int size); DEFINE_MEMBER_FN_3(GetElement, bool, 0x033580C0, void* pData, unsigned int index, Value* value); DEFINE_MEMBER_FN_3(SetElement, bool, 0x03358150, void* pData, unsigned int index, const Value& value); DEFINE_MEMBER_FN_2(PushBack, bool, 0x03358390, void* pData, const Value& value); DEFINE_MEMBER_FN_2(PopBack, bool, 0x033583F0, void* pData, Value* value); DEFINE_MEMBER_FN_3(RemoveElements, bool, 0x033584A0, void* pData, unsigned idx, int count); DEFINE_MEMBER_FN_4(VisitElements, void, 0x033581B0, void* pData, ArrVisitor* visitor, unsigned long idx, int count); DEFINE_MEMBER_FN_3(VisitMembers, void, 0x03357950, void* pData, ObjVisitor* visitor, bool isDisplayObj); // DeleteMember TBD DEFINE_MEMBER_FN_3(GetText, bool, 0x0335A160, void* pData, Value* value, bool html); DEFINE_MEMBER_FN_3(SetText, bool, 0x0335A2C0, void* pData, const char* text, bool html); DEFINE_MEMBER_FN_3(SetTextW, bool, 0x0335A3E0, void* pData, const wchar_t* text, bool html); DEFINE_MEMBER_FN_3(GotoAndPlayL, bool, 0x0335AC40, void* pData, const char* frame, bool stop); DEFINE_MEMBER_FN_3(GotoAndPlay, bool, 0x0335AD40, void* pData, unsigned frame, bool stop); DEFINE_MEMBER_FN_2(GetParent, bool, 0x033589C0, void* pData, Value* value); // GetDisplayInfo TBD // SetDisplayInfo TBD // GetDisplayMatrix TBD // SetDisplayMatrix TBD // GetColorTransform TBD // SetColorTransform TBD DEFINE_MEMBER_FN_2(ObjectAddRef, void, 0x03356100, Value* value, void* pData); DEFINE_MEMBER_FN_2(ObjectRelease, void, 0x033561A0, Value* value, void* pData); MovieImpl* pMovieRoot; }; using ObjectVisitor = ObjectInterface::ObjVisitor; using ArrayVisitor = ObjectInterface::ArrVisitor; Value() : unk00(nullptr), unk08(nullptr), pObjectInterface(nullptr), Type(VT_Undefined), DataAux(0) { mValue.pData = nullptr; } Value(ValueType type) : unk00(nullptr), unk08(nullptr), pObjectInterface(nullptr), Type(type), DataAux(0) { mValue.pString = 0; } Value(u32 v) : unk00(nullptr), unk08(nullptr), pObjectInterface(nullptr), Type(VT_UInt), DataAux(0) { mValue.UIValue = v; } Value(s32 v) : unk00(nullptr), unk08(nullptr), pObjectInterface(nullptr), Type(VT_Int), DataAux(0) { mValue.IValue = v; } Value(double v) : unk00(nullptr), unk08(nullptr), pObjectInterface(nullptr), Type(VT_Number), DataAux(0) { mValue.NValue = v; } Value(bool v) : unk00(nullptr), unk08(nullptr), pObjectInterface(nullptr), Type(VT_Boolean), DataAux(0) { mValue.BValue = v; } Value(const char* ps) : unk00(nullptr), unk08(nullptr), pObjectInterface(nullptr), Type(VT_String), DataAux(0) { mValue.pString = ps; } Value(const wchar_t* ps) : unk00(nullptr), unk08(nullptr), pObjectInterface(nullptr), Type(VT_StringW), DataAux(0) { mValue.pStringW = ps; } Value(const Value& src) : unk00(src.unk00), unk08(src.unk08), pObjectInterface(nullptr), Type(src.Type), DataAux(src.DataAux) { mValue = src.mValue; if (src.IsManagedValue()) AcquireManagedValue(src); } ~Value() { if (IsManagedValue()) ReleaseManagedValue(); } const Value& operator=(const Value& src) { if (this != &src) { if (IsManagedValue()) ReleaseManagedValue(); Type = src.Type; mValue = src.mValue; if (src.IsManagedValue()) AcquireManagedValue(src); } return *this; } bool operator==(const Value& other) const { if (Type != other.Type) return false; switch (Type & 0x0F) { case VT_Boolean: return mValue.BValue == other.mValue.BValue; case VT_Number: return mValue.NValue == other.mValue.NValue; case VT_String: return !strcmp(GetString(), other.GetString()); case VT_StringW: return !wcscmp(GetStringW(), other.GetStringW()); default: return mValue.pData == other.mValue.pData; } } bool IsManagedValue() const { return (Type & VTC_ManagedBit) != 0; } ValueType GetType() const { return ValueType(Type & VTC_TypeMask); } bool IsUndefined() const { return GetType() == VT_Undefined; } bool IsNull() const { return GetType() == VT_Null; } bool IsBool() const { return GetType() == VT_Boolean; } bool IsNumber() const { return GetType() == VT_Number; } bool IsString() const { return GetType() == VT_String; } bool IsStringW() const { return GetType() == VT_StringW; } bool IsObject() const { return (GetType() == VT_Object) || GetType() == VT_Array || GetType() == VT_DisplayObject; } bool IsArray() const { return GetType() == VT_Array; } bool IsDisplayObject() const { return GetType() == VT_DisplayObject; } bool GetBool() const { return mValue.BValue; } long double GetNumber() const { return mValue.NValue; } u32 GetUInt() const { return mValue.UIValue; } s32 GetInt() const { return mValue.IValue; } const char* GetString() const { return IsManagedValue() ? *mValue.pStringManaged : mValue.pString; } const wchar_t* GetStringW() const { return mValue.pStringW; } void SetUndefined() { ChangeType(VT_Undefined); } void SetNull() { ChangeType(VT_Null); } void SetBoolean(bool v) { ChangeType(VT_Boolean); mValue.BValue = v; } void SetNumber(double v) { ChangeType(VT_Number); mValue.NValue = v; } void SetUInt(u32 v) { ChangeType(VT_UInt); mValue.UIValue = v; } void SetInt(s32 v) { ChangeType(VT_Int); mValue.IValue = v; } // You probably want to a Managed String via CreateString from the owning Movie void SetString(const char* p) { ChangeType(VT_String); mValue.pString = p; } void SetStringW(const wchar_t* p) { ChangeType(VT_StringW); mValue.pStringW = p; } void ChangeType(ValueType type) { if (IsManagedValue()) ReleaseManagedValue(); Type = type; } void AcquireManagedValue(const Value& src) { pObjectInterface = src.pObjectInterface; pObjectInterface->ObjectAddRef(this, mValue.pData); } void ReleaseManagedValue() { pObjectInterface->ObjectRelease(this, mValue.pData); pObjectInterface = nullptr; } bool HasMember(const char* name) const { return pObjectInterface->HasMember(mValue.pData, name, IsDisplayObject()); } bool GetMember(const char* name, Value* pval) const { return pObjectInterface->GetMember(mValue.pData, name, pval, IsDisplayObject()); } bool SetMember(const char* name, const Value& val) { return pObjectInterface->SetMember(mValue.pData, name, val, IsDisplayObject()); } bool Invoke(const char* name, Value* presult, const Value* pargs, unsigned long long nargs) { return pObjectInterface->Invoke(mValue.pData, presult, name, pargs, nargs, IsDisplayObject()); } bool Invoke(const char* name, Value* presult = nullptr) { return Invoke(name, presult, nullptr, 0); } void VisitMembers(ObjectVisitor* visitor) const { return pObjectInterface->VisitMembers(mValue.pData, visitor, IsDisplayObject()); } unsigned int GetArraySize() { return pObjectInterface->GetArraySize(mValue.pData); }; bool SetArraySize(unsigned sz) { return pObjectInterface->SetArraySize(mValue.pData, sz); } bool GetElement(unsigned idx, Value* pval) const { return pObjectInterface->GetElement(mValue.pData, idx, pval); } bool SetElement(unsigned idx, const Value& val) { return pObjectInterface->SetElement(mValue.pData, idx, val); } void VisitElements(ArrayVisitor* visitor, unsigned idx, int count = -1) const { return pObjectInterface->VisitElements(mValue.pData, visitor, idx, count); } void VisitElements(ArrayVisitor* visitor) const { VisitElements(visitor, 0); } bool PushBack(const Value& val) { return pObjectInterface->PushBack(mValue.pData, val); } bool PopBack(Value* pval = nullptr) { return pObjectInterface->PopBack(mValue.pData, pval); } bool RemoveElements(unsigned idx, int count = -1) { return pObjectInterface->RemoveElements(mValue.pData, idx, count); } bool RemoveElement(unsigned idx) { return RemoveElements(idx, 1); } bool ClearElements() { return RemoveElements(0); } bool SetText(const char* ptext) { return pObjectInterface->SetText(mValue.pData, ptext, false); } bool SetText(const wchar_t* ptext) { return pObjectInterface->SetTextW(mValue.pData, ptext, false); } bool SetTextHTML(const char* phtml) { return pObjectInterface->SetText(mValue.pData, phtml, true); } bool SetTextHTML(const wchar_t* phtml) { return pObjectInterface->SetTextW(mValue.pData, phtml, true); } bool GetText(Value* pval) const { return pObjectInterface->GetText(mValue.pData, pval, false); } bool GetTextHTML(Value* pval) const { return pObjectInterface->GetText(mValue.pData, pval, true); } bool CreateEmptyMovieClip(Value* pmc, const char* instanceName, int depth = -1) { return pObjectInterface->CreateEmptyMovieClip(mValue.pData, pmc, instanceName, depth); } bool AttachMovie(Value* pmc, const char* symbolName, const char* instanceName, int depth = -1, const void* initArgs = nullptr){ return pObjectInterface->AttachMovie(mValue.pData, pmc, symbolName, instanceName, depth, initArgs); } bool GotoAndPlay(const char* frame) { return pObjectInterface->GotoAndPlayL(mValue.pData, frame, false); } bool GotoAndStop(const char* frame) { return pObjectInterface->GotoAndPlayL(mValue.pData, frame, true); } bool GotoAndPlay(unsigned frame) { return pObjectInterface->GotoAndPlay(mValue.pData, frame, false); } bool GotoAndStop(unsigned frame) { return pObjectInterface->GotoAndPlay(mValue.pData, frame, true); } bool GetParent(Value* val) { return pObjectInterface->GetParent(mValue.pData, val); } void* unk00; // 00 void* unk08; // 08 ObjectInterface* pObjectInterface; // 10 ValueType Type; // 18 ValueUnion mValue; // 20 u64 DataAux; // 28 }; } } ================================================ FILE: sfse/Serialization.cpp ================================================ #include "Serialization.h" #include "GameEvents.h" #include "sfse_common/Log.h" #include "sfse_common/Errors.h" #include "sfse_common/sfse_version.h" #include "sfse_common/FileStream.h" #include "sfse/GameSettings.h" #include #include #include #include namespace Serialization { const char* kSavegamePath = "\\My Games\\" SAVE_FOLDER_NAME "\\"; std::unordered_map changedIDs; std::unordered_set deletedIDs; std::string s_savePath; struct IDRemapDeleteListener : public BSTEventSink, public BSTEventSink { IDRemapDeleteListener() { GetEventSource()->RegisterSink(static_cast*>(this)); GetEventSource()->RegisterSink(static_cast*>(this)); } virtual EventResult ProcessEvent(const TESFormIDRemapEvent& arEvent, BSTEventSource* eventSource) { changedIDs[arEvent.oldID] = arEvent.newID; return EventResult::kContinue; }; virtual EventResult ProcessEvent(const TESFormDeleteEvent& arEvent, BSTEventSource* eventSource) { deletedIDs.insert(arEvent.formId); return EventResult::kContinue; }; }; void RemoveFileExtension(std::string& path) { size_t lastDot = path.find_last_of('.'); if (lastDot != std::string::npos) { path.erase(lastDot); } } std::string MakeSavePath(std::string name, const char* extension, bool hasExtension) { if (hasExtension) { RemoveFileExtension(name); } char path[MAX_PATH]; ASSERT(SUCCEEDED(SHGetFolderPath(NULL, CSIDL_MYDOCUMENTS, NULL, SHGFP_TYPE_CURRENT, path))); std::string result = path; result += kSavegamePath; Setting* localSavePath = (*SettingT::pCollection)->GetSetting("sLocalSavePath:General"); if (localSavePath && (localSavePath->GetType() == Setting::kType_String)) result += localSavePath->data.s; else result += "Saves\\"; result += "\\"; result += name; if (extension) result += extension; return result; } void SetSaveName(const char* name, bool hasExtension) { if (name) { _MESSAGE("save name is %s", name); s_savePath = MakeSavePath(name, ".sfse", hasExtension); _MESSAGE("full save path: %s", s_savePath.c_str()); } else { _MESSAGE("cleared save path"); s_savePath.clear(); } } void HandleBeginLoad() { //if the remap listener isn't already registered, register it now. static IDRemapDeleteListener listener{}; changedIDs.clear(); deletedIDs.clear(); } void HandleEndLoad() { changedIDs.clear(); deletedIDs.clear(); } bool ResolveFormId(u32 formId, u32* formIdOut) { if (auto iter = changedIDs.find(formId); iter != changedIDs.end()) { (*formIdOut) = iter->second; return true; } if (deletedIDs.find(formId) == deletedIDs.end()) { (*formIdOut) = formId; return true; } else { return false; } } bool ResolveHandle(u64 handle, u64* handleOut) { u32 formId = static_cast(handle & 0x00000000FFFFFFFF); if (auto iter = changedIDs.find(formId); iter != changedIDs.end()) { (*handleOut) = (handle & 0xFFFFFFFF00000000) | static_cast(iter->second); return true; } if (deletedIDs.find(formId) == deletedIDs.end()) { (*handleOut) = handle; return true; } else { return false; } } void HandleRevertGlobalData() { _MESSAGE("RevertGlobalData"); // TODO: add implementation for revert callbacks. } void HandleSaveGlobalData() { _MESSAGE("SaveGlobalData"); // TODO: add implementation for serialization & save callbacks. } void HandleLoadGlobalData() { _MESSAGE("LoadGlobalData"); // TODO: add implementation for deserialization & load callbacks. } void HandleDeleteSave(std::string filePath) { // check if old file is gone FileStream saveFile; if (!saveFile.open(filePath.c_str())) { RemoveFileExtension(filePath); filePath += ".sfse"; _MESSAGE("deleting co-save %s", filePath.c_str()); DeleteFile(filePath.c_str()); } else { _MESSAGE("skipped delete of co-save for file %s", filePath.c_str()); } } } ================================================ FILE: sfse/Serialization.h ================================================ #pragma once #include #include "sfse_common/Types.h" namespace Serialization { void SetSaveName(const char* name, bool hasExtension = false); void HandleBeginLoad(); void HandleEndLoad(); bool ResolveFormId(u32 formId, u32* formIdOut); bool ResolveHandle(u64 handle, u64* handleOut); void HandleRevertGlobalData(); void HandleSaveGlobalData(); void HandleLoadGlobalData(); void HandleDeleteSave(std::string filePath); } ================================================ FILE: sfse/cmake/config.cmake.in ================================================ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake") ================================================ FILE: sfse/sfse.cpp ================================================ #include #include #include #include "sfse_common/Log.h" #include "sfse_common/sfse_version.h" #include "sfse_common/Utilities.h" #include "sfse_common/SafeWrite.h" #include "sfse_common/BranchTrampoline.h" #include "sfse_common/CoreInfo.h" #include "PluginManager.h" #include "Hooks_Version.h" #include "Hooks_Script.h" #include "Hooks_Scaleform.h" #include "Hooks_Serialization.h" #include "Hooks_Data.h" #include "Hooks_Command.h" HINSTANCE g_moduleHandle = nullptr; void SFSE_Preinit(); void SFSE_Initialize(); // api-ms-win-crt-runtime-l1-1-0.dll typedef int (*__initterm_e)(_PIFV *, _PIFV *); __initterm_e _initterm_e_Original = nullptr; typedef char * (*__get_narrow_winmain_command_line)(); __get_narrow_winmain_command_line _get_narrow_winmain_command_line_Original = NULL; // runs before global initializers int __initterm_e_Hook(_PIFV * a, _PIFV * b) { // could be used for plugin optional preload SFSE_Preinit(); return _initterm_e_Original(a, b); } // runs after global initializers char * __get_narrow_winmain_command_line_Hook() { // the usual load time SFSE_Initialize(); return _get_narrow_winmain_command_line_Original(); } void installBaseHooks(void) { DebugLog::openRelative(CSIDL_MYDOCUMENTS, "\\My Games\\" SAVE_FOLDER_NAME "\\SFSE\\Logs\\sfse.txt"); HANDLE exe = GetModuleHandle(nullptr); // fetch functions to hook auto * initterm = (__initterm_e *)getIATAddr(exe, "api-ms-win-crt-runtime-l1-1-0.dll", "_initterm_e"); auto * cmdline = (__get_narrow_winmain_command_line *)getIATAddr(exe, "api-ms-win-crt-runtime-l1-1-0.dll", "_get_narrow_winmain_command_line"); // hook them if(initterm) { _initterm_e_Original = *initterm; safeWrite64(uintptr_t(initterm), u64(__initterm_e_Hook)); } else { _ERROR("couldn't find _initterm_e"); } if(cmdline) { _get_narrow_winmain_command_line_Original = *cmdline; safeWrite64(uintptr_t(cmdline), u64(__get_narrow_winmain_command_line_Hook)); } else { _ERROR("couldn't find _get_narrow_winmain_command_line"); } } void WaitForDebugger(void) { while(!IsDebuggerPresent()) { Sleep(10); } Sleep(1000 * 2); } void SFSE_Preinit() { static bool runOnce = false; if(runOnce) return; runOnce = true; SYSTEMTIME now; GetSystemTime(&now); _MESSAGE("SFSE runtime: initialize (version = %d.%d.%d %08X %04d-%02d-%02d %02d:%02d:%02d, os = %s)", SFSE_VERSION_INTEGER, SFSE_VERSION_INTEGER_MINOR, SFSE_VERSION_INTEGER_BETA, RUNTIME_VERSION, now.wYear, now.wMonth, now.wDay, now.wHour, now.wMinute, now.wSecond, getOSInfoStr().c_str()); _MESSAGE("imagebase = %016I64X", g_moduleHandle); _MESSAGE("reloc mgr imagebase = %016I64X", RelocationManager::s_baseAddr); #ifdef _DEBUG SetPriorityClass(GetCurrentProcess(), IDLE_PRIORITY_CLASS); WaitForDebugger(); #endif if(!g_branchTrampoline.create(1024 * 64)) { _ERROR("couldn't create branch trampoline. this is fatal. skipping remainder of init process."); return; } if(!g_localTrampoline.create(1024 * 64, g_moduleHandle)) { _ERROR("couldn't create codegen buffer. this is fatal. skipping remainder of init process."); return; } // scan plugin folder g_pluginManager.init(); // preload plugins g_pluginManager.installPlugins(PluginManager::kPhase_Preload); _MESSAGE("preinit complete"); } void SFSE_Initialize() { static bool runOnce = false; if(runOnce) return; runOnce = true; // load plugins g_pluginManager.installPlugins(PluginManager::kPhase_Load); g_pluginManager.loadComplete(); Hooks_Version_Apply(); Hooks_Script_Apply(); Hooks_Scaleform_Apply(); Hooks_Serialization_Apply(); Hooks_Data_Apply(); Hooks_Command_Apply(); FlushInstructionCache(GetCurrentProcess(), NULL, 0); _MESSAGE("init complete"); DebugLog::flush(); } extern "C" { void StartSFSE() { installBaseHooks(); } BOOL WINAPI DllMain(HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved) { switch(dwReason) { case DLL_PROCESS_ATTACH: g_moduleHandle = (HINSTANCE)hDllHandle; break; case DLL_PROCESS_DETACH: break; }; return TRUE; } __declspec(dllexport) SFSECoreVersionData SFSECore_Version = { SFSECoreVersionData::kVersion, RUNTIME_VERSION, }; } ================================================ FILE: sfse/sfse.def ================================================ EXPORTS StartSFSE @1 ================================================ FILE: sfse/sfse_version.rc ================================================ #include "sfse_common/sfse_version.h" 1 VERSIONINFO FILEVERSION 0,SFSE_VERSION_INTEGER,SFSE_VERSION_INTEGER_MINOR,SFSE_VERSION_INTEGER_BETA PRODUCTVERSION 0,SFSE_VERSION_INTEGER,SFSE_VERSION_INTEGER_MINOR,SFSE_VERSION_INTEGER_BETA FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L #else FILEFLAGS 0x0L #endif FILEOS 0x4L FILETYPE 0x1L FILESUBTYPE 0x0L BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904b0" BEGIN VALUE "FileDescription", "Starfield Script Extender core DLL" VALUE "FileVersion", SFSE_VERSION_VERSTRING VALUE "InternalName", "SFSE" VALUE "LegalCopyright", "Copyright (C) 2006-2024" VALUE "ProductName", "SFSE" VALUE "ProductVersion", SFSE_VERSION_VERSTRING END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x409, 1200 END END ================================================ FILE: sfse_common/BranchTrampoline.cpp ================================================ #include "BranchTrampoline.h" #include "SafeWrite.h" #include #include #include "sfse_common/Log.h" #include "sfse_common/Errors.h" BranchTrampoline g_branchTrampoline; BranchTrampoline g_localTrampoline; BranchTrampoline::BranchTrampoline() :m_base(nullptr) , m_len(0) , m_allocated(0) , m_curAlloc(nullptr) { // } BranchTrampoline::~BranchTrampoline() { destroy(); } bool BranchTrampoline::create(size_t len, void * module) { if (!module) module = GetModuleHandle(NULL); // search backwards from module base uintptr_t moduleBase = uintptr_t(module); uintptr_t addr = moduleBase; uintptr_t maxDisplacement = 0x80000000 - (1024 * 1024 * 128); // largest 32-bit displacement with 128MB scratch space uintptr_t lowestOKAddress = (moduleBase >= maxDisplacement) ? moduleBase - maxDisplacement : 0; addr--; while (!m_base) { MEMORY_BASIC_INFORMATION info; if (!VirtualQuery((void *)addr, &info, sizeof(info))) { _ERROR("VirtualQuery failed: %08X", GetLastError()); break; } if (info.State == MEM_FREE) { // free block, big enough? if (info.RegionSize >= len) { // try to allocate it addr = ((uintptr_t)info.BaseAddress) + info.RegionSize - len; m_base = (void *)VirtualAlloc((void *)addr, len, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE); if (m_base) { m_len = len; m_allocated = 0; } else { _WARNING("trampoline alloc %016I64Xx%016I64X failed (%08X)", addr, len, GetLastError()); } } } // move back and try again if (!m_base) { addr = ((uintptr_t)info.BaseAddress) - 1; } if (addr < lowestOKAddress) { _ERROR("couldn't allocate trampoline, no free space before image"); break; } } return m_base != nullptr; } void BranchTrampoline::destroy() { if (m_base) { VirtualFree(m_base, 0, MEM_RELEASE); m_base = nullptr; } } void BranchTrampoline::setBase(size_t len, void * base) { ASSERT(!m_base); m_base = base; m_len = len; m_allocated = 0; m_curAlloc = nullptr; } void * BranchTrampoline::startAlloc() { ASSERT(m_base); ASSERT(!m_curAlloc); m_curAlloc = ((u8 *)m_base) + m_allocated; return m_curAlloc; } void BranchTrampoline::endAlloc(const void * end) { ASSERT(m_base); ASSERT(m_curAlloc); size_t len = uintptr_t(end) - uintptr_t(m_curAlloc); ASSERT(len <= remain()); m_allocated += len; m_curAlloc = nullptr; } void * BranchTrampoline::allocate(size_t size) { ASSERT(m_base); void * result = nullptr; if (size <= remain()) { result = ((u8 *)m_base) + m_allocated; m_allocated += size; } return result; } bool BranchTrampoline::write6Branch(uintptr_t src, uintptr_t dst) { return write6Branch_Internal(src, dst, 0x25); } bool BranchTrampoline::write6Call(uintptr_t src, uintptr_t dst) { return write6Branch_Internal(src, dst, 0x15); } bool BranchTrampoline::write5Branch(uintptr_t src, uintptr_t dst) { return write5Branch_Internal(src, dst, 0xE9); } bool BranchTrampoline::write5Call(uintptr_t src, uintptr_t dst) { return write5Branch_Internal(src, dst, 0xE8); } bool BranchTrampoline::write6Branch_Internal(uintptr_t src, uintptr_t dst, u8 op) { bool result = false; uintptr_t * trampoline = (uintptr_t *)allocate(); if (trampoline) { uintptr_t trampolineAddr = (uintptr_t)trampoline; uintptr_t nextInstr = src + 6; ptrdiff_t trampolineDispl = trampolineAddr - nextInstr; if ((trampolineDispl >= _I32_MIN) && (trampolineDispl <= _I32_MAX)) { u8 code[6]; // jmp [rip+imm32] code[0] = 0xFF; code[1] = op; *((s32 *)&code[2]) = (s32)trampolineDispl; safeWriteBuf(src, code, sizeof(code)); *trampoline = dst; result = true; } } // do this for now so it's obvious when something goes wrong ASSERT(result); return result; } bool BranchTrampoline::write5Branch_Internal(uintptr_t src, uintptr_t dst, u8 op) { bool result = false; #pragma pack(push, 1) // code placed in trampoline struct TrampolineCode { // jmp [rip] u8 escape; // FF u8 modrm; // 25 u32 displ; // 00000000 // rip points here u64 dst; // target void Init(uintptr_t _dst) { escape = 0xFF; modrm = 0x25; displ = 0; dst = _dst; } }; struct HookCode { // jmp disp32 u8 op; // E9 for jmp, E8 for call s32 displ; // void Init(s32 _displ, u8 _op) { op = _op; displ = _displ; } }; #pragma pack(pop) STATIC_ASSERT(sizeof(TrampolineCode) == 14); STATIC_ASSERT(sizeof(HookCode) == 5); TrampolineCode * trampolineCode = (TrampolineCode *)allocate(sizeof(TrampolineCode)); if (trampolineCode) { trampolineCode->Init(dst); HookCode hookCode; uintptr_t trampolineAddr = uintptr_t(trampolineCode); uintptr_t nextInstr = src + sizeof(hookCode); ptrdiff_t trampolineDispl = trampolineAddr - nextInstr; // should never fail because we're branching in to the trampoline ASSERT((trampolineDispl >= _I32_MIN) && (trampolineDispl <= _I32_MAX)); hookCode.Init(trampolineDispl, op); safeWriteBuf(src, &hookCode, sizeof(hookCode)); result = true; } // do this for now so it's obvious when something goes wrong ASSERT(result); return result; } ================================================ FILE: sfse_common/BranchTrampoline.h ================================================ #pragma once #include "sfse_common/Types.h" class BranchTrampoline { public: BranchTrampoline(); ~BranchTrampoline(); bool create(size_t len, void * module = nullptr); void destroy(); void setBase(size_t len, void* base); // allocate unsized void * startAlloc(); void endAlloc(const void * end); void * allocate(size_t size = sizeof(void *)); size_t remain() { return m_len - m_allocated; } // takes 6 bytes of space at src, 8 bytes in trampoline bool write6Branch(uintptr_t src, uintptr_t dst); bool write6Call(uintptr_t src, uintptr_t dst); // takes 5 bytes of space at src, 14 bytes in trampoline bool write5Branch(uintptr_t src, uintptr_t dst); bool write5Call(uintptr_t src, uintptr_t dst); private: // takes 6 bytes of space at src, 8 bytes in trampoline bool write6Branch_Internal(uintptr_t src, uintptr_t dst, u8 op); // takes 5 bytes of space at src, 14 bytes in trampoline bool write5Branch_Internal(uintptr_t src, uintptr_t dst, u8 op); void * m_base; size_t m_len; // bytes size_t m_allocated; // bytes void * m_curAlloc; // currently active StartAlloc base }; extern BranchTrampoline g_branchTrampoline; extern BranchTrampoline g_localTrampoline; ================================================ FILE: sfse_common/BufferStream.cpp ================================================ #include "BufferStream.h" #include u64 BufferStream::read(void * dst, u64 len) { memcpy(dst, &m_buf[m_offset], len); m_offset += len; return len; } u64 BufferStream::write(const void * src, u64 len) { memcpy(&m_buf[m_offset], src, len); m_offset += len; return len; } ================================================ FILE: sfse_common/BufferStream.h ================================================ #pragma once #include "sfse_common/DataStream.h" class BufferStream : public DataStream { public: BufferStream() :m_buf(nullptr) { } void attach(void * buf, u64 len) { m_buf = (u8 *)buf; m_len = len; } virtual u64 seek(u64 offset) { m_offset = offset; return offset; } virtual u64 read(void * dst, u64 len); virtual u64 write(const void * src, u64 len); protected: u8 * m_buf; }; ================================================ FILE: sfse_common/CMakeLists.txt ================================================ cmake_minimum_required(VERSION 3.18...4.0.2) # ---- Project ---- include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/versioning.cmake) project( sfse_common VERSION ${SFSE_VERSION_MAJOR}.${SFSE_VERSION_MINOR}.${SFSE_VERSION_PATCH} LANGUAGES CXX ) # ---- Include guards ---- if(PROJECT_SOURCE_DIR STREQUAL PROJECT_BINARY_DIR) message( FATAL_ERROR "In-source builds not allowed. Please make a new directory (called a build directory) and run CMake from there." ) endif() # ---- Add source files ---- file(GLOB headers CONFIGURE_DEPENDS *.h) file(GLOB sources CONFIGURE_DEPENDS *.cpp) source_group( ${PROJECT_NAME} FILES ${headers} ${sources} ) # ---- Create library ---- add_library( ${PROJECT_NAME} STATIC ${headers} ${sources} ) add_library(sfse::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) target_compile_features( ${PROJECT_NAME} PUBLIC cxx_std_11 ) target_include_directories( ${PROJECT_NAME} PUBLIC $ $ ) target_link_libraries( ${PROJECT_NAME} PUBLIC ) # ---- Create an installable target ---- include(GNUInstallDirs) install( TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}-targets ) install( FILES ${headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} ) configure_file( cmake/config.cmake.in ${PROJECT_NAME}-config.cmake @ONLY ) install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} ) install( EXPORT ${PROJECT_NAME}-targets NAMESPACE sfse:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} ) ================================================ FILE: sfse_common/CoreInfo.h ================================================ #pragma once #include struct SFSECoreVersionData { enum { kVersion = 1, }; std::uint32_t dataVersion; std::uint32_t runtimeVersion; }; ================================================ FILE: sfse_common/DataStream.cpp ================================================ #include "DataStream.h" void copy(DataStream * src, DataStream * dst, size_t len, void * buf, size_t bufLen) { bool localBuf = false; if (!buf) { localBuf = true; bufLen = 1024 * 1024 * 1; // 1MB buf = new u8[bufLen]; } while (len > 0) { size_t copyLen = len; if (copyLen > bufLen) copyLen = bufLen; src->read(buf, copyLen); dst->write(buf, copyLen); len -= copyLen; } if (localBuf) delete [] buf; } ================================================ FILE: sfse_common/DataStream.h ================================================ #pragma once #include "sfse_common/Types.h" class DataStream { public: DataStream() : m_len(0), m_offset(0) { } virtual ~DataStream() { } virtual u64 seek(u64 offset) = 0; virtual u64 read(void * dst, u64 len) = 0; virtual u64 write(const void * src, u64 len) = 0; u64 offset() { return m_offset; } u64 length() { return m_len; } u64 remain() { return (m_offset <= m_len) ? m_len - m_offset : 0; } void skip(u64 len) { seek(offset() + len); } template T read() { T t; read(&t, sizeof(t)); return t; } template u64 read(T * t) { return read(t, sizeof(T)); } template void write(T t) { write(&t, sizeof(t)); } u8 r8() { return read (); } u16 r16() { return read (); } u32 r32() { return read (); } u64 r64() { return read (); } f32 rf32() { return read (); } f64 rf64() { return read (); } void w8(u8 d) { write (d); } void w16(u16 d) { write (d); } void w32(u32 d) { write (d); } void w64(u64 d) { write (d); } void wf32(f32 d) { write (d); } void wf64(f64 d) { write (d); } protected: u64 m_len; u64 m_offset; }; void copy(DataStream * src, DataStream * dst, size_t len, void * buf = nullptr, size_t bufLen = 0); class SubStream : public DataStream { public: SubStream() : m_subBase(0), m_parent(nullptr) { } virtual ~SubStream() { } void attach(DataStream * stream, u64 base, u64 len) { m_len = len; m_subBase = base; m_parent = stream; } virtual u64 seek(u64 offset) { m_offset = offset; fixOffset(); return m_offset; } virtual u64 read(void * dst, u64 len) { fixOffset(); return m_parent->read(dst, len); } virtual u64 write(const void * src, u64 len) { fixOffset(); return m_parent->write(src, len); } protected: u64 m_subBase; DataStream * m_parent; void fixOffset() { u64 realOffset = m_subBase + m_offset; if (m_parent->offset() != realOffset) m_parent->seek(realOffset); } }; ================================================ FILE: sfse_common/DirectoryIterator.cpp ================================================ #include "DirectoryIterator.h" DirectoryIterator::DirectoryIterator(const char * path, const char * match) :m_searchHandle(INVALID_HANDLE_VALUE), m_done(false) { if(!match) match = "*"; strcpy_s(m_path, sizeof(m_path), path); char wildcardPath[MAX_PATH]; sprintf_s(wildcardPath, sizeof(wildcardPath), "%s\\%s", path, match); m_searchHandle = FindFirstFile(wildcardPath, &m_result); if(m_searchHandle == INVALID_HANDLE_VALUE) m_done = true; } DirectoryIterator::~DirectoryIterator() { if(m_searchHandle != INVALID_HANDLE_VALUE) FindClose(m_searchHandle); } void DirectoryIterator::fullPath(char * out, size_t outLen) { sprintf_s(out, outLen, "%s\\%s", m_path, m_result.cFileName); } std::string DirectoryIterator::fullPath() { return std::string(m_path) + "\\" + std::string(m_result.cFileName); } void DirectoryIterator::next() { BOOL result = FindNextFile(m_searchHandle, &m_result); if(!result) m_done = true; } ================================================ FILE: sfse_common/DirectoryIterator.h ================================================ #pragma once #include #include class DirectoryIterator { public: DirectoryIterator() = delete; DirectoryIterator(const char * path, const char * match = nullptr); ~DirectoryIterator(); WIN32_FIND_DATA * get() { return &m_result; } void fullPath(char * out, size_t outLen); std::string fullPath(); void next(); bool done() { return m_done; } private: HANDLE m_searchHandle; WIN32_FIND_DATA m_result; bool m_done; char m_path[MAX_PATH]; }; ================================================ FILE: sfse_common/Errors.cpp ================================================ #include "Errors.h" #include "Log.h" #include "Types.h" #include #include [[noreturn]] static void IErrors_Halt(void) { __ud2(); } /** * Report a failed assertion and exit the program * * @param file the file where the error occured * @param line the line number where the error occured * @param desc an error message */ [[noreturn]] void _AssertionFailed(const char * file, unsigned long line, const char * desc) { _FATALERROR("Assertion failed in %s (%d): %s", file, line, desc); IErrors_Halt(); } /** * Report a failed assertion and exit the program * * @param file the file where the error occured * @param line the line number where the error occured * @param desc an error message * @param code the error code */ [[noreturn]] void _AssertionFailed_ErrCode(const char * file, unsigned long line, const char * desc, unsigned long long code) { if(code & 0xFFFFFFFF00000000) _FATALERROR("Assertion failed in %s (%d): %s (code = %16I64X (%I64d))", file, line, desc, code, code); else { u32 code32 = code; _FATALERROR("Assertion failed in %s (%d): %s (code = %08X (%d))", file, line, desc, code32, code32); } IErrors_Halt(); } /** * Report a failed assertion and exit the program * * @param file the file where the error occured * @param line the line number where the error occured * @param desc an error message * @param code the error code */ [[noreturn]]void _AssertionFailed_ErrCode(const char * file, unsigned long line, const char * desc, const char * code) { _FATALERROR("Assertion failed in %s (%d): %s (code = %s)", file, line, desc, code); IErrors_Halt(); } ================================================ FILE: sfse_common/Errors.h ================================================ #pragma once [[noreturn]] void _AssertionFailed(const char * file, unsigned long line, const char * desc); [[noreturn]] void _AssertionFailed_ErrCode(const char * file, unsigned long line, const char * desc, unsigned long long code); [[noreturn]] void _AssertionFailed_ErrCode(const char * file, unsigned long line, const char * desc, const char * code); //! Exit the program if the condition is not true #define ASSERT(a) do { if(!(a)) _AssertionFailed(__FILE__, __LINE__, #a); } while(0) //! Exit the program if the condition is not true, with an error message #define ASSERT_STR(a, b) do { if(!(a)) _AssertionFailed(__FILE__, __LINE__, b); } while(0) //! Exit the program if the condition is not true, reporting an error code #define ASSERT_CODE(a, b) do { if(!(a)) _AssertionFailed_ErrCode(__FILE__, __LINE__, #a, b); } while(0) //! Exit the program if the condition is not true, reporting an error code and message #define ASSERT_STR_CODE(a, b, c) do { if(!(a)) _AssertionFailed_ErrCode(__FILE__, __LINE__, b, c); } while(0) //! Exit the program with an error message #define HALT(a) do { _AssertionFailed(__FILE__, __LINE__, a); } while(0) //! Exit the program with and error code and message #define HALT_CODE(a, b) do { _AssertionFailed_ErrCode(__FILE__, __LINE__, a, b); } while(0) // based on the boost implementation of static asserts template struct StaticAssertFailure; template <> struct StaticAssertFailure { enum { a = 1 }; }; template struct static_assert_test { }; #define __MACRO_JOIN__(a, b) __MACRO_JOIN_2__(a, b) #define __MACRO_JOIN_2__(a, b) __MACRO_JOIN_3__(a, b) #define __MACRO_JOIN_3__(a, b) a##b #define __PREPRO_TOKEN_STR2__(a) #a #define __PREPRO_TOKEN_STR__(a) __PREPRO_TOKEN_STR2__(a) #define __LOC__ __FILE__ "("__PREPRO_TOKEN_STR__(__LINE__)") : " #define STATIC_ASSERT(a) typedef static_assert_test )> __MACRO_JOIN__(static_assert_typedef_, __COUNTER__) ================================================ FILE: sfse_common/FileStream.cpp ================================================ #include "FileStream.h" #include #include FileStream::FileStream() : m_file(nullptr) { // } FileStream::~FileStream() { close(); } bool FileStream::open(const char * path) { return internalOpen(path, "rb"); } bool FileStream::open(const wchar_t * path) { return internalOpen(path, L"rb"); } bool FileStream::create(const char * path) { return internalOpen(path, "wb"); } bool FileStream::create(const wchar_t * path) { return internalOpen(path, L"wb"); } void FileStream::close() { if (m_file) { fclose(m_file); m_file = nullptr; m_len = 0; m_offset = 0; } } void FileStream::flush() { fflush(m_file); } u64 FileStream::seek(u64 offset) { _fseeki64_nolock(m_file, offset, SEEK_SET); m_offset = offset; return offset; } u64 FileStream::read(void * dst, u64 len) { u64 bytesRead = _fread_nolock(dst, 1, len, m_file); m_offset += bytesRead; return bytesRead; } u64 FileStream::write(const void * src, u64 len) { u64 bytesWritten = _fwrite_nolock(src, 1, len, m_file); m_offset += bytesWritten; return bytesWritten; } bool FileStream::internalOpen(const char * path, const char * mode) { close(); fopen_s(&m_file, path, mode); if (!m_file) return false; internalSetup(); return true; } bool FileStream::internalOpen(const wchar_t * path, const wchar_t * mode) { close(); _wfopen_s(&m_file, path, mode); if (!m_file) return false; internalSetup(); return true; } void FileStream::internalSetup() { fseek(m_file, 0, SEEK_END); m_len = _ftelli64_nolock(m_file); fseek(m_file, 0, SEEK_SET); m_offset = 0; } void FileStream::makeDirs(const char * path) { std::string fullPath = path; for (uint i = 1; i < fullPath.size(); i++) { char data = fullPath[i]; if ((data == '\\') || (data == '/')) { _mkdir(fullPath.substr(0, i).c_str()); } } } ================================================ FILE: sfse_common/FileStream.h ================================================ #pragma once #include "sfse_common/DataStream.h" #include class FileStream : public DataStream { public: FileStream(); virtual ~FileStream(); bool open(const char * path); bool open(const wchar_t * path); bool create(const char * path); bool create(const wchar_t * path); void close(); void flush(); // DataStream interface virtual u64 seek(u64 offset); virtual u64 read(void * dst, u64 len); virtual u64 write(const void * src, u64 len); static void makeDirs(const char * path); protected: FILE * m_file; bool internalOpen(const char * path, const char * mode); bool internalOpen(const wchar_t * path, const wchar_t * mode); void internalSetup(); }; ================================================ FILE: sfse_common/Log.cpp ================================================ #include "Log.h" #include "Errors.h" #include "FileStream.h" #include #include FILE * DebugLog::s_log = nullptr; DebugLog::LogLevel DebugLog::s_fileLevel = DebugLog::kLevel_DebugMessage; DebugLog::LogLevel DebugLog::s_printLevel = DebugLog::kLevel_Message; char DebugLog::s_formatBuf[8192] = { 0 }; void DebugLog::open(const char * path) { s_log = _fsopen(path, "w", _SH_DENYWR); } void DebugLog::openRelative(int folderID, const char * relPath) { char path[MAX_PATH]; HRESULT err = SHGetFolderPath(NULL, folderID | CSIDL_FLAG_CREATE, NULL, SHGFP_TYPE_CURRENT, path); if(!SUCCEEDED(err)) { _FATALERROR("Your virus scanner is blocking access to your My Documents folder. SHGetFolderPath %08X failed (result = %08X lasterr = %08X)", folderID, err, GetLastError()); } ASSERT_CODE(SUCCEEDED(err), err); strcat_s(path, sizeof(path), relPath); FileStream::makeDirs(path); open(path); } void DebugLog::log(LogLevel level, const char * fmt, va_list args) { bool toFile = (level <= s_fileLevel); bool toConsole = (level <= s_printLevel); static FILE * s_stdout = nullptr; if(toFile || toConsole) { vsprintf_s(s_formatBuf, sizeof(s_formatBuf), fmt, args); strcat_s(s_formatBuf, sizeof(s_formatBuf), "\n"); } if(toFile && s_log) fputs(s_formatBuf, s_log); if(toConsole) { if(!s_stdout) s_stdout = stdout; if(s_stdout) fputs(s_formatBuf, s_stdout); } } void DebugLog::flush() { if(s_log) fflush(s_log); } ================================================ FILE: sfse_common/Log.h ================================================ #pragma once #include #include class DebugLog { public: static void open(const char * path); static void openRelative(int folderID, const char * relPath); enum LogLevel { kLevel_FatalError = 0, kLevel_Error, kLevel_Warning, kLevel_Message, kLevel_VerboseMessage, kLevel_DebugMessage }; static void log(LogLevel level, const char * fmt, va_list args); static void flush(); private: static FILE * s_log; static LogLevel s_fileLevel; static LogLevel s_printLevel; static char s_formatBuf[8192]; }; inline void _FATALERROR(const char * fmt, ...) { va_list args; va_start(args, fmt); DebugLog::log(DebugLog::kLevel_FatalError, fmt, args); va_end(args); } inline void _ERROR(const char * fmt, ...) { va_list args; va_start(args, fmt); DebugLog::log(DebugLog::kLevel_Error, fmt, args); va_end(args); } inline void _WARNING(const char * fmt, ...) { va_list args; va_start(args, fmt); DebugLog::log(DebugLog::kLevel_Warning, fmt, args); va_end(args); } inline void _MESSAGE(const char * fmt, ...) { va_list args; va_start(args, fmt); DebugLog::log(DebugLog::kLevel_Message, fmt, args); va_end(args); } inline void _VMESSAGE(const char * fmt, ...) { va_list args; va_start(args, fmt); DebugLog::log(DebugLog::kLevel_VerboseMessage, fmt, args); va_end(args); } inline void _DMESSAGE(const char * fmt, ...) { va_list args; va_start(args, fmt); DebugLog::log(DebugLog::kLevel_DebugMessage, fmt, args); va_end(args); } ================================================ FILE: sfse_common/Relocation.cpp ================================================ #include "Relocation.h" #include // the goal of this file is to support pointers in to a relocated binary with as little runtime overhead, code bloat, and hassle as possible // // since the main executable will always be loaded before the dll, the easiest solution is to perform the relocation in the constructor of // a pointer class that supports conversion to T*. however, since we can't control anything about initialization order, each constructor // must call GetModuleHandle(NULL) locally, which sucks. each pointer will need an entry in the static init table, and nothing can be done // with the pointers in any other static constructors. // // one solution to this problem is init_seg(lib). any objects constructed in a file containing this pragma will be constructed before standard // 'user' level code. this means we can use the constructor of that object to call GetModuleHandle once and initialize a global with the load // address, which the pointer class constructor then references to fix up the addresses. this still creates an entry in the static init table // for each pointer, but only calls GetModuleHandle once. pointers are not fixed up until all static init has finished, so other static ctors // can't safely use pointers. // // the problem can't be solved further without moving the RelocPtr constructors in to init_seg(lib), which doesn't appear to be possible // without forcing all pointers to be defined in a file with init_seg(lib). that is really ugly and doesn't seem like a good idea. // anything in this file will initialized after the crt but before any user code #pragma warning(disable: 4073) // yes this is intentional #pragma init_seg(lib) static RelocationManager s_relocMgr; uintptr_t RelocationManager::s_baseAddr = 0; RelocationManager::RelocationManager() { s_baseAddr = reinterpret_cast(GetModuleHandle(NULL)); } ================================================ FILE: sfse_common/Relocation.h ================================================ #pragma once #include class RelocationManager { public: RelocationManager(); static uintptr_t s_baseAddr; }; // use this for addresses that represent pointers to a type T template class RelocPtr { public: RelocPtr(uintptr_t offset) :m_offset(offset + RelocationManager::s_baseAddr) { // } operator T *() const { return getPtr(); } T * operator->() const { return getPtr(); } T * getPtr() const { return reinterpret_cast (m_offset); } const T * getConst() const { return reinterpret_cast (m_offset); } uintptr_t getUIntPtr() const { return m_offset; } private: uintptr_t m_offset; // hide RelocPtr() = delete; RelocPtr(RelocPtr & rhs) = delete; RelocPtr & operator=(RelocPtr & rhs) = delete; }; // use this for direct addresses to types T. needed to avoid ambiguity template class RelocAddr { public: RelocAddr(uintptr_t offset) :m_offset(reinterpret_cast (offset + RelocationManager::s_baseAddr)) { // } operator T() { return reinterpret_cast (m_offset); } uintptr_t getUIntPtr() const { return reinterpret_cast (m_offset); } private: // apparently you can't reinterpret_cast from a type to the same type // that's kind of stupid and makes it impossible to use this for uintptr_ts if I use the same type // so we make a new type by storing the data in a pointer to this useless struct // at least this is hidden by a wrapper struct BlockConversionType { }; BlockConversionType * m_offset; // hide RelocAddr() = delete; RelocAddr(RelocAddr & rhs) = delete; RelocAddr & operator=(RelocAddr & rhs) = delete; }; ================================================ FILE: sfse_common/SafeWrite.cpp ================================================ #include "SafeWrite.h" #include #include "sfse_common/Errors.h" void safeWriteBuf(uintptr_t addr, void * data, size_t len) { DWORD oldProtect; VirtualProtect((void *)addr, len, PAGE_EXECUTE_READWRITE, &oldProtect); memcpy((void *)addr, data, len); VirtualProtect((void *)addr, len, oldProtect, &oldProtect); } void safeWrite8(uintptr_t addr, u8 data) { safeWriteBuf(addr, &data, sizeof(data)); } void safeWrite16(uintptr_t addr, u16 data) { safeWriteBuf(addr, &data, sizeof(data)); } void safeWrite32(uintptr_t addr, u32 data) { safeWriteBuf(addr, &data, sizeof(data)); } void safeWrite64(uintptr_t addr, u64 data) { safeWriteBuf(addr, &data, sizeof(data)); } static bool safeWriteJump_Internal(uintptr_t src, uintptr_t dst, u8 op) { #pragma pack(push, 1) struct Code { u8 op; s32 displ; }; #pragma pack(pop) STATIC_ASSERT(sizeof(Code) == 5); ptrdiff_t delta = dst - (src + sizeof(Code)); if((delta < INT_MIN) || (delta > INT_MAX)) return false; Code code; code.op = op; code.displ = delta; safeWriteBuf(src, &code, sizeof(code)); return true; } bool safeWriteJump(uintptr_t src, uintptr_t dst) { return safeWriteJump_Internal(src, dst, 0xE9); } bool safeWriteCall(uintptr_t src, uintptr_t dst) { return safeWriteJump_Internal(src, dst, 0xE8); } ================================================ FILE: sfse_common/SafeWrite.h ================================================ #pragma once #include #include "sfse_common/Types.h" void safeWriteBuf(uintptr_t addr, void * data, size_t len); void safeWrite8(uintptr_t addr, u8 data); void safeWrite16(uintptr_t addr, u16 data); void safeWrite32(uintptr_t addr, u32 data); void safeWrite64(uintptr_t addr, u64 data); // ### warning: if you try to branch more than +/- 2GB with these, they will fail and return false // ### this is a limitation of the 'jmp' instruction and more generally the x64 ISA // 5 bytes written to src bool safeWriteJump(uintptr_t src, uintptr_t dst); bool safeWriteCall(uintptr_t src, uintptr_t dst); ================================================ FILE: sfse_common/Types.h ================================================ #pragma once #include typedef unsigned __int8 u8; typedef unsigned __int16 u16; typedef unsigned __int32 u32; typedef unsigned __int64 u64; typedef signed __int8 s8; typedef signed __int16 s16; typedef signed __int32 s32; typedef signed __int64 s64; typedef float f32; typedef double f64; typedef u64 uint; typedef u8 unk8; typedef u16 unk16; typedef u32 unk32; typedef u64 unk64; inline u16 swap16(u16 a) { return _byteswap_ushort(a); } inline u32 swap32(u32 a) { return _byteswap_ulong(a); } inline u64 swap64(u64 a) { return _byteswap_uint64(a); } ================================================ FILE: sfse_common/Utilities.cpp ================================================ #include "Utilities.h" #include "sfse_common/Log.h" #include "sfse_common/Errors.h" #include #include std::string getRuntimePath() { static char appPath[4096] = { 0 }; if(appPath[0]) return appPath; ASSERT(GetModuleFileName(GetModuleHandle(NULL), appPath, sizeof(appPath))); return appPath; } std::string getRuntimeName() { std::string appPath = getRuntimePath(); std::string::size_type slashOffset = appPath.rfind('\\'); if(slashOffset == std::string::npos) return appPath; return appPath.substr(slashOffset + 1); } const std::string & getRuntimeDirectory() { static std::string s_runtimeDirectory; if(s_runtimeDirectory.empty()) { std::string runtimePath = getRuntimePath(); // truncate at last slash std::string::size_type lastSlash = runtimePath.rfind('\\'); if(lastSlash != std::string::npos) // if we don't find a slash something is VERY WRONG { s_runtimeDirectory = runtimePath.substr(0, lastSlash + 1); } else { _WARNING("no slash in runtime path? (%s)", runtimePath.c_str()); } } return s_runtimeDirectory; } const std::string & getConfigPath() { static std::string s_configPath; if(s_configPath.empty()) { std::string runtimePath = getRuntimeDirectory(); if(!runtimePath.empty()) { s_configPath = runtimePath + "Data\\SFSE\\sfse.ini"; _MESSAGE("config path = %s", s_configPath.c_str()); } } return s_configPath; } std::string getConfigOption(const char * section, const char * key) { std::string result; const std::string & configPath = getConfigPath(); if(!configPath.empty()) { char resultBuf[256]; resultBuf[0] = 0; u32 resultLen = GetPrivateProfileString(section, key, NULL, resultBuf, sizeof(resultBuf), configPath.c_str()); result = resultBuf; } return result; } bool getConfigOption_u32(const char * section, const char * key, u32 * dataOut) { std::string data = getConfigOption(section, key); if(data.empty()) return false; return (sscanf_s(data.c_str(), "%u", dataOut) == 1); } const std::string & getOSInfoStr() { static std::string result; if(result.empty()) { OSVERSIONINFO info; info.dwOSVersionInfoSize = sizeof(info); #pragma warning (disable : 4996) if(GetVersionEx(&info)) { char buf[256]; sprintf_s(buf, sizeof(buf), "%d.%d (%d)", info.dwMajorVersion, info.dwMinorVersion, info.dwBuildNumber); result = buf; } else { result = "unknown"; } } return result; } void * getIATAddr(void * module, const char * searchDllName, const char * searchImportName) { u8 * base = (u8 *)module; IMAGE_DOS_HEADER * dosHeader = (IMAGE_DOS_HEADER *)base; IMAGE_NT_HEADERS * ntHeader = (IMAGE_NT_HEADERS *)(base + dosHeader->e_lfanew); IMAGE_IMPORT_DESCRIPTOR * importTable = (IMAGE_IMPORT_DESCRIPTOR *)(base + ntHeader->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress); for(; importTable->Characteristics; ++importTable) { const char * dllName = (const char *)(base + importTable->Name); if(!_stricmp(dllName, searchDllName)) { // found the dll IMAGE_THUNK_DATA * thunkData = (IMAGE_THUNK_DATA *)(base + importTable->OriginalFirstThunk); uintptr_t * iat = (uintptr_t *)(base + importTable->FirstThunk); for(; thunkData->u1.Ordinal; ++thunkData, ++iat) { if(!IMAGE_SNAP_BY_ORDINAL(thunkData->u1.Ordinal)) { IMAGE_IMPORT_BY_NAME * importInfo = (IMAGE_IMPORT_BY_NAME *)(base + thunkData->u1.AddressOfData); if(!_stricmp((char *)importInfo->Name, searchImportName)) { // found the import return iat; } } } return NULL; } } return NULL; } const void * getResourceLibraryProcAddress(const void * module, const char * exportName) { auto * base = (const u8 *)(uintptr_t(module) & ~3); auto * dosHeader = (const IMAGE_DOS_HEADER *)base; auto * ntHeader = (const IMAGE_NT_HEADERS *)(base + dosHeader->e_lfanew); auto * exportTable = (const IMAGE_EXPORT_DIRECTORY *)(base + ntHeader->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress); auto * exportAddresses = (const u32 *)(base + exportTable->AddressOfFunctions); // RVA array auto * exportNameOrdinals = (const u16 *)(base + exportTable->AddressOfNameOrdinals); // index in to exportAddresses auto * exportNames = (const u32 *)(base + exportTable->AddressOfNames); // RVA array const void * result = nullptr; for(u32 i = 0; i < exportTable->NumberOfNames; i++) { u32 nameRVA = exportNames[i]; auto * name = (const char *)(base + nameRVA); if(!strcmp(exportName, name)) { u32 addrIdx = exportNameOrdinals[i]; if(addrIdx < exportTable->NumberOfFunctions) { u32 addrRVA = exportAddresses[addrIdx]; result = (const void *)(base + addrRVA); break; } } } return result; } bool is64BitDLL(const void * module) { auto * base = (const u8 *)(uintptr_t(module) & ~3); auto * dosHeader = (const IMAGE_DOS_HEADER *)base; auto * ntHeader = (const IMAGE_NT_HEADERS *)(base + dosHeader->e_lfanew); // FileHeader is PE32/64 independent return ntHeader->FileHeader.Machine == IMAGE_FILE_MACHINE_AMD64; } #pragma warning (push) #pragma warning (disable : 4200) struct RTTIType { void * typeInfo; u64 data; char name[0]; }; struct RTTILocator { u32 sig, offset, cdOffset; u32 typeDesc; u32 classDesc; }; #pragma warning (pop) // use the RTTI information to return an object's class name const char * getObjectClassName(void * objBase) { const char * result = ""; __try { void ** obj = (void **)objBase; RTTILocator ** vtbl = (RTTILocator **)obj[0]; RTTILocator * rtti = vtbl[-1]; u64 typeDesc = rtti->typeDesc; RelocPtr type(typeDesc); // starts with ,? if((type->name[0] == '.') && (type->name[1] == '?')) { // is at most 100 chars long for(u32 i = 0; i < 100; i++) { if(type->name[i] == 0) { // remove the .?AV result = type->name + 4; break; } } } } __except(EXCEPTION_EXECUTE_HANDLER) { // return the default } return result; } ================================================ FILE: sfse_common/Utilities.h ================================================ #pragma once #include "sfse_common/Types.h" #include "sfse_common/Relocation.h" #include // this has been tested to work for non-varargs functions // varargs functions end up with 'this' passed as the last parameter (ie. probably broken) // do NOT use with classes that have multiple inheritance // if many member functions are to be declared, use MEMBER_FN_PREFIX to create a type with a known name // so it doesn't need to be restated throughout the member list // all of the weirdness with the _GetType function is because you can't declare a static const pointer // inside the class definition. we sadly can't inline anymore because of relocation. // RelocPtr only works at a global scope, which we can't handle or we'd be bypassing the function route altogether #define MEMBER_FN_PREFIX(className) \ typedef className _MEMBER_FN_BASE_TYPE #define DEFINE_MEMBER_FN_LONG(className, functionName, retnType, address, ...) \ typedef retnType (className::* _##functionName##_type)(__VA_ARGS__); \ \ static const std::uintptr_t functionName##_Address = address; \ inline _##functionName##_type * _##functionName##_GetPtr(void) \ { \ static uintptr_t _address; \ _address = address + RelocationManager::s_baseAddr; \ return (_##functionName##_type *)&_address; \ } #define DEFINE_MEMBER_FN(functionName, retnType, address, ...) \ DEFINE_MEMBER_FN_LONG(_MEMBER_FN_BASE_TYPE, functionName, retnType, address, __VA_ARGS__) #define DEFINE_STATIC_HEAP(staticAllocate, staticFree) \ static void * operator new(std::size_t size) \ { \ return staticAllocate(size); \ } \ static void * operator new(std::size_t size, const std::nothrow_t &) \ { \ return staticAllocate(size); \ } \ static void * operator new(std::size_t size, void * ptr) \ { \ return ptr; \ } \ static void operator delete(void * ptr) \ { \ staticFree(ptr); \ } \ static void operator delete(void * ptr, const std::nothrow_t &) \ { \ staticFree(ptr); \ } \ static void operator delete(void *, void *) \ { \ } #define CALL_MEMBER_FN(obj, fn) \ ((*(obj)).*(*((obj)->_##fn##_GetPtr()))) // Using the original implementation does very broken things in a Release build #define FORCE_INLINE __forceinline #define DEFINE_MEMBER_FN_0(fnName, retnType, addr) \ static const std::uintptr_t fnName##_Address = addr; \ FORCE_INLINE retnType fnName() { \ struct empty_struct {}; \ typedef retnType(empty_struct::*_##fnName##_type)(); \ const static uintptr_t address = fnName##_Address + RelocationManager::s_baseAddr; \ _##fnName##_type fn = *(_##fnName##_type*)&address; \ return (reinterpret_cast(this)->*fn)(); \ } #define DEFINE_MEMBER_FN_1(fnName, retnType, addr, ...) \ static const std::uintptr_t fnName##_Address = addr; \ template \ FORCE_INLINE retnType fnName(T1 && t1) { \ struct empty_struct {}; \ typedef retnType(empty_struct::*_##fnName##_type)(__VA_ARGS__); \ const static uintptr_t address = fnName##_Address + RelocationManager::s_baseAddr; \ _##fnName##_type fn = *(_##fnName##_type*)&address; \ return (reinterpret_cast(this)->*fn)(t1); \ } #define DEFINE_MEMBER_FN_2(fnName, retnType, addr, ...) \ static const std::uintptr_t fnName##_Address = addr; \ template \ FORCE_INLINE retnType fnName(T1 && t1, T2 && t2) { \ struct empty_struct {}; \ typedef retnType(empty_struct::*_##fnName##_type)(__VA_ARGS__); \ const static uintptr_t address = fnName##_Address + RelocationManager::s_baseAddr; \ _##fnName##_type fn = *(_##fnName##_type*)&address; \ return (reinterpret_cast(this)->*fn)(t1, t2); \ } #define DEFINE_MEMBER_FN_3(fnName, retnType, addr, ...) \ static const std::uintptr_t fnName##_Address = addr; \ template \ FORCE_INLINE retnType fnName(T1 && t1, T2 && t2, T3 && t3) { \ struct empty_struct {}; \ typedef retnType(empty_struct::*_##fnName##_type)(__VA_ARGS__); \ const static uintptr_t address = fnName##_Address + RelocationManager::s_baseAddr; \ _##fnName##_type fn = *(_##fnName##_type*)&address; \ return (reinterpret_cast(this)->*fn)(t1, t2, t3); \ } #define DEFINE_MEMBER_FN_4(fnName, retnType, addr, ...) \ static const std::uintptr_t fnName##_Address = addr; \ template \ FORCE_INLINE retnType fnName(T1 && t1, T2 && t2, T3 && t3, T4 && t4) { \ struct empty_struct {}; \ typedef retnType(empty_struct::*_##fnName##_type)(__VA_ARGS__); \ const static uintptr_t address = fnName##_Address + RelocationManager::s_baseAddr; \ _##fnName##_type fn = *(_##fnName##_type*)&address; \ return (reinterpret_cast(this)->*fn)(t1, t2, t3, t4); \ } #define DEFINE_MEMBER_FN_5(fnName, retnType, addr, ...) \ static const std::uintptr_t fnName##_Address = addr; \ template \ FORCE_INLINE retnType fnName(T1 && t1, T2 && t2, T3 && t3, T4 && t4, T5 && t5) { \ struct empty_struct {}; \ typedef retnType(empty_struct::*_##fnName##_type)(__VA_ARGS__); \ const static uintptr_t address = fnName##_Address + RelocationManager::s_baseAddr; \ _##fnName##_type fn = *(_##fnName##_type*)&address; \ return (reinterpret_cast(this)->*fn)(t1, t2, t3, t4, t5); \ } #define DEFINE_MEMBER_FN_6(fnName, retnType, addr, ...) \ static const std::uintptr_t fnName##_Address = addr; \ template \ FORCE_INLINE retnType fnName(T1 && t1, T2 && t2, T3 && t3, T4 && t4, T5 && t5, T6 && t6) { \ struct empty_struct {}; \ typedef retnType(empty_struct::*_##fnName##_type)(__VA_ARGS__); \ const static uintptr_t address = fnName##_Address + RelocationManager::s_baseAddr; \ _##fnName##_type fn = *(_##fnName##_type*)&address; \ return (reinterpret_cast(this)->*fn)(t1, t2, t3, t4, t5, t6); \ } #define DEFINE_MEMBER_FN_7(fnName, retnType, addr, ...) \ static const std::uintptr_t fnName##_Address = addr; \ template \ FORCE_INLINE retnType fnName(T1 && t1, T2 && t2, T3 && t3, T4 && t4, T5 && t5, T6 && t6, T7 && t7) { \ struct empty_struct {}; \ typedef retnType(empty_struct::*_##fnName##_type)(__VA_ARGS__); \ const static uintptr_t address = fnName##_Address + RelocationManager::s_baseAddr; \ _##fnName##_type fn = *(_##fnName##_type*)&address; \ return (reinterpret_cast(this)->*fn)(t1, t2, t3, t4, t5, t6, t7); \ } #define DEFINE_MEMBER_FN_8(fnName, retnType, addr, ...) \ static const std::uintptr_t fnName##_Address = addr; \ template \ FORCE_INLINE retnType fnName(T1 && t1, T2 && t2, T3 && t3, T4 && t4, T5 && t5, T6 && t6, T7 && t7, T8 && t8) { \ struct empty_struct {}; \ typedef retnType(empty_struct::*_##fnName##_type)(__VA_ARGS__); \ const static uintptr_t address = fnName##_Address + RelocationManager::s_baseAddr; \ _##fnName##_type fn = *(_##fnName##_type*)&address; \ return (reinterpret_cast(this)->*fn)(t1, t2, t3, t4, t5, t6, t7, t8); \ } #define DEFINE_MEMBER_FN_9(fnName, retnType, addr, ...) \ static const std::uintptr_t fnName##_Address = addr; \ template \ FORCE_INLINE retnType fnName(T1 && t1, T2 && t2, T3 && t3, T4 && t4, T5 && t5, T6 && t6, T7 && t7, T8 && t8, T9 && t9) { \ struct empty_struct {}; \ typedef retnType(empty_struct::*_##fnName##_type)(__VA_ARGS__); \ const static uintptr_t address = fnName##_Address + RelocationManager::s_baseAddr; \ _##fnName##_type fn = *(_##fnName##_type*)&address; \ return (reinterpret_cast(this)->*fn)(t1, t2, t3, t4, t5, t6, t7, t8, t9); \ } #define DEFINE_MEMBER_FN_10(fnName, retnType, addr, ...) \ static const std::uintptr_t fnName##_Address = addr; \ template \ FORCE_INLINE retnType fnName(T1 && t1, T2 && t2, T3 && t3, T4 && t4, T5 && t5, T6 && t6, T7 && t7, T8 && t8, T9 && t9, T10 && t10) { \ struct empty_struct {}; \ typedef retnType(empty_struct::*_##fnName##_type)(__VA_ARGS__); \ const static uintptr_t address = fnName##_Address + RelocationManager::s_baseAddr; \ _##fnName##_type fn = *(_##fnName##_type*)&address; \ return (reinterpret_cast(this)->*fn)(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10); \ } // this is the solution to getting a pointer-to-member-function pointer template uintptr_t getFnAddr(T src) { union { uintptr_t u; T t; } data; data.t = src; return data.u; } std::string getRuntimePath(); std::string getRuntimeName(); const std::string & getRuntimeDirectory(); const std::string & getConfigPath(); std::string getConfigOption(const char * section, const char * key); bool getConfigOption_u32(const char * section, const char * key, u32 * dataOut); const std::string & getOSInfoStr(); void * getIATAddr(void * module, const char * searchDllName, const char * searchImportName); const void * getResourceLibraryProcAddress(const void * module, const char * exportName); bool is64BitDLL(const void * module); const char * getObjectClassName(void * objBase); ================================================ FILE: sfse_common/cmake/config.cmake.in ================================================ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake") ================================================ FILE: sfse_common/sfse_version.h ================================================ #ifndef __SFSE_VERSION_H__ #define __SFSE_VERSION_H__ // these have to be macros so they can be used in the .rc #define SFSE_VERSION_INTEGER 0 #define SFSE_VERSION_INTEGER_MINOR 2 #define SFSE_VERSION_INTEGER_BETA 19 #define SFSE_VERSION_VERSTRING "0, 0, 2, 19" #define SFSE_VERSION_PADDEDSTRING "0001" #define SFSE_VERSION_RELEASEIDX 25 #define MAKE_EXE_VERSION_EX(major, minor, build, sub) ((((major) & 0xFF) << 24) | (((minor) & 0xFF) << 16) | (((build) & 0xFFF) << 4) | ((sub) & 0xF)) #define MAKE_EXE_VERSION(major, minor, build) MAKE_EXE_VERSION_EX(major, minor, build, 0) #define GET_EXE_VERSION_MAJOR(a) (((a) & 0xFF000000) >> 24) #define GET_EXE_VERSION_MINOR(a) (((a) & 0x00FF0000) >> 16) #define GET_EXE_VERSION_BUILD(a) (((a) & 0x0000FFF0) >> 4) #define GET_EXE_VERSION_SUB(a) (((a) & 0x0000000F) >> 0) #define RUNTIME_TYPE_BETHESDA 0 #define RUNTIME_TYPE_GOG 1 #define RUNTIME_TYPE_EPIC 2 #define RUNTIME_TYPE_MSSTORE 3 #define RUNTIME_VERSION_0_0_3 MAKE_EXE_VERSION(0, 0, 3) // 0x00000030 ms store early versions (no one has these) #define RUNTIME_VERSION_1_0_17 MAKE_EXE_VERSION(1, 0, 17) // 0x01000110 ms store early versions (no one has these) #define RUNTIME_VERSION_1_2_20 MAKE_EXE_VERSION(1, 2, 20) // 0x01020140 ms store early versions (no one has these) #define RUNTIME_VERSION_1_6_35 MAKE_EXE_VERSION(1, 6, 35) // 0x01060230 version reported by ms store before release (no one has these) #define RUNTIME_VERSION_1_7_23 MAKE_EXE_VERSION(1, 7, 23) // 0x01070170 early access/wide release patch #define RUNTIME_VERSION_1_7_29 MAKE_EXE_VERSION(1, 7, 29) // 0x010701D0 #define RUNTIME_VERSION_1_7_33 MAKE_EXE_VERSION(1, 7, 33) // 0x01070210 #define RUNTIME_VERSION_1_7_36 MAKE_EXE_VERSION(1, 7, 36) // 0x01070240 #define RUNTIME_VERSION_1_8_83 MAKE_EXE_VERSION(1, 8, 83) // 0x01080530 beta #define RUNTIME_VERSION_1_8_84 MAKE_EXE_VERSION(1, 8, 84) // 0x01080540 beta #define RUNTIME_VERSION_1_8_86 MAKE_EXE_VERSION(1, 8, 86) // 0x01080560 beta released to main branch #define RUNTIME_VERSION_1_8_87 MAKE_EXE_VERSION(1, 8, 87) // 0x01080570 beta #define RUNTIME_VERSION_1_8_88 MAKE_EXE_VERSION(1, 8, 88) // 0x01080580 (very) small patch #define RUNTIME_VERSION_1_9_51 MAKE_EXE_VERSION(1, 9, 51) // 0x01090330 #define RUNTIME_VERSION_1_9_67 MAKE_EXE_VERSION(1, 9, 67) // 0x01090430 beta released to main branch #define RUNTIME_VERSION_1_9_71 MAKE_EXE_VERSION(1, 9, 71) // 0x01090470 hotfix #define RUNTIME_VERSION_1_10_30 MAKE_EXE_VERSION(1, 10, 30) // 0x010A01E0 beta #define RUNTIME_VERSION_1_10_31 MAKE_EXE_VERSION(1, 10, 31) // 0x010A01F0 #define RUNTIME_VERSION_1_10_32 MAKE_EXE_VERSION(1, 10, 32) // 0x010A0200 hotfix #define RUNTIME_VERSION_1_11_33 MAKE_EXE_VERSION(1, 11, 33) // 0x010B0210 beta #define RUNTIME_VERSION_1_11_36 MAKE_EXE_VERSION(1, 11, 36) // 0x010B0240 #define RUNTIME_VERSION_1_12_30 MAKE_EXE_VERSION(1, 12, 30) // 0x010C01E0 editor released #define RUNTIME_VERSION_1_12_32 MAKE_EXE_VERSION(1, 12, 32) // 0x010C0200 hotfix #define RUNTIME_VERSION_1_12_36 MAKE_EXE_VERSION(1, 12, 36) // 0x010C0240 #define RUNTIME_VERSION_1_13_61 MAKE_EXE_VERSION(1, 13, 61) // 0x010D03D0 car #define RUNTIME_VERSION_1_14_70 MAKE_EXE_VERSION(1, 14, 70) // 0x010E0460 xp1 #define RUNTIME_VERSION_1_14_74 MAKE_EXE_VERSION(1, 14, 74) // 0x010E04A0 beta released to main branch #define RUNTIME_VERSION_1_15_214 MAKE_EXE_VERSION(1, 15, 214) // 0x010F0D60 beta #define RUNTIME_VERSION_1_15_215 MAKE_EXE_VERSION(1, 15, 215) // 0x010F0D70 beta #define RUNTIME_VERSION_1_15_216 MAKE_EXE_VERSION(1, 15, 216) // 0x010F0D80 inlining options changed #define RUNTIME_VERSION_1_15_222 MAKE_EXE_VERSION(1, 15, 222) // 0x010F0DE0 beta released to main branch #define RUNTIME_VERSION_1_16_236 MAKE_EXE_VERSION(1, 16, 236) // 0x01100EC0 beta #define PACKED_SFSE_VERSION MAKE_EXE_VERSION(SFSE_VERSION_INTEGER, SFSE_VERSION_INTEGER_MINOR, SFSE_VERSION_INTEGER_BETA) // information about the state of the game at the time of release #define SFSE_TARGETING_BETA_VERSION 0 #define CURRENT_RELEASE_RUNTIME RUNTIME_VERSION_1_16_236 #define CURRENT_RELEASE_SFSE_STR "0.2.19" #if GET_EXE_VERSION_SUB(RUNTIME_VERSION) == RUNTIME_TYPE_BETHESDA #define SAVE_FOLDER_NAME "Starfield" #elif GET_EXE_VERSION_SUB(RUNTIME_VERSION) == RUNTIME_TYPE_GOG #define SAVE_FOLDER_NAME "Starfield GOG" #elif GET_EXE_VERSION_SUB(RUNTIME_VERSION) == RUNTIME_TYPE_EPIC #define SAVE_FOLDER_NAME "Starfield EPIC" #elif GET_EXE_VERSION_SUB(RUNTIME_VERSION) == RUNTIME_TYPE_MSSTORE #define SAVE_FOLDER_NAME "Starfield MS" #else #error unknown runtime type #endif #define LOADER_VERSION_1_0_0 MAKE_EXE_VERSION(1, 0, 0) #define LOADER_VERSION_1_1_0 MAKE_EXE_VERSION(1, 1, 0) // code signing #define LOADER_VERSION_1_1_1 MAKE_EXE_VERSION(1, 1, 1) // code signing bugfix #define LOADER_VERSION LOADER_VERSION_1_1_1 #endif /* __SFSE_VERSION_H__ */ ================================================ FILE: sfse_loader/CMakeLists.txt ================================================ cmake_minimum_required(VERSION 3.18...4.0.2) # ---- Project ---- include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/versioning.cmake) project( sfse_loader VERSION 1.1.1 LANGUAGES CXX ) # ---- Include guards ---- if(PROJECT_SOURCE_DIR STREQUAL PROJECT_BINARY_DIR) message( FATAL_ERROR "In-source builds not allowed. Please make a new directory (called a build directory) and run CMake from there." ) endif() # ---- Build options ---- set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON) set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_DEBUG OFF) # ---- Dependencies ---- if (NOT TARGET sfse_common) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../sfse_common sfse_common) # bundled endif() # ---- Add source files ---- file(GLOB headers CONFIGURE_DEPENDS *.h) file(GLOB sources CONFIGURE_DEPENDS *.cpp) source_group( ${PROJECT_NAME} FILES ${headers} ${sources} sfse_loader_version.rc sfse_loader.manifest ) # ---- Create library ---- add_executable( ${PROJECT_NAME} ${headers} ${sources} sfse_loader_version.rc sfse_loader.manifest ) add_executable(sfse::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/configuration.cmake) target_compile_features( ${PROJECT_NAME} PUBLIC cxx_std_17 ) target_include_directories( ${PROJECT_NAME} PUBLIC $ $ ) target_link_libraries( ${PROJECT_NAME} PUBLIC sfse::sfse_common Shlwapi.lib Version.lib Wintrust.lib Crypt32.lib ) # ---- Configure all targets ---- set_target_properties( ${PROJECT_NAME} sfse_common PROPERTIES MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>DLL" ) include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/installation.cmake) ================================================ FILE: sfse_loader/IdentifyEXE.cpp ================================================ #include "IdentifyEXE.h" #include "LoaderError.h" #include "sfse_common/sfse_version.h" #include "sfse_common/Log.h" #include #include bool GetFileVersion(const char * path, VS_FIXEDFILEINFO * info, std::string * outProductName, std::string * outProductVersion) { bool result = false; u32 versionSize = GetFileVersionInfoSize(path, NULL); if(!versionSize) { _ERROR("GetFileVersionInfoSize failed (%08X)", GetLastError()); return false; } u8 * versionBuf = new u8[versionSize]; if(versionBuf) { if(GetFileVersionInfo(path, NULL, versionSize, versionBuf)) { VS_FIXEDFILEINFO * retrievedInfo = NULL; u32 realVersionSize = sizeof(VS_FIXEDFILEINFO); if(VerQueryValue(versionBuf, "\\", (void **)&retrievedInfo, (PUINT)&realVersionSize) && retrievedInfo) { *info = *retrievedInfo; result = true; } else { _ERROR("VerQueryValue failed (%08X)", GetLastError()); } if(outProductName) { // try to get the product name, failure is ok char * productName = NULL; u32 productNameLen = 0; if(VerQueryValue(versionBuf, "\\StringFileInfo\\040904B0\\ProductName", (void **)&productName, (PUINT)&productNameLen) && productNameLen && productName) { *outProductName = productName; } } { char * productVersion = NULL; u32 productVersionLen = 0; if (VerQueryValue(versionBuf, "\\StringFileInfo\\040904B0\\ProductVersion", (void **)&productVersion, (PUINT)&productVersionLen) && productVersionLen && productVersion) { *outProductVersion = productVersion; } } } else { _ERROR("GetFileVersionInfo failed (%08X)", GetLastError()); } delete [] versionBuf; } return result; } bool VersionStrToInt(const std::string & verStr, u64 * out) { u64 result = 0; int parts[4]; if (sscanf_s(verStr.c_str(), "%d.%d.%d.%d", &parts[0], &parts[1], &parts[2], &parts[3]) != 4) return false; for (int i = 0; i < 4; i++) { if (parts[i] > 0xFFFF) return false; result <<= 16; result |= parts[i]; } *out = result; return true; } static bool GetFileVersionData(const char * path, u64 * out, std::string * outProductName) { std::string productVersionStr; VS_FIXEDFILEINFO versionInfo; if(!GetFileVersion(path, &versionInfo, outProductName, &productVersionStr)) return false; DumpVersionInfo(versionInfo); _MESSAGE("productVersionStr = %s", productVersionStr.c_str()); u64 version = 0; if (!VersionStrToInt(productVersionStr, &version)) return false; *out = version; return true; } void DumpVersionInfo(const VS_FIXEDFILEINFO & info) { _MESSAGE("dwSignature = %08X", info.dwSignature); _MESSAGE("dwStrucVersion = %08X", info.dwStrucVersion); _MESSAGE("dwFileVersionMS = %08X", info.dwFileVersionMS); _MESSAGE("dwFileVersionLS = %08X", info.dwFileVersionLS); _MESSAGE("dwProductVersionMS = %08X", info.dwProductVersionMS); _MESSAGE("dwProductVersionLS = %08X", info.dwProductVersionLS); _MESSAGE("dwFileFlagsMask = %08X", info.dwFileFlagsMask); _MESSAGE("dwFileFlags = %08X", info.dwFileFlags); _MESSAGE("dwFileOS = %08X", info.dwFileOS); _MESSAGE("dwFileType = %08X", info.dwFileType); _MESSAGE("dwFileSubtype = %08X", info.dwFileSubtype); _MESSAGE("dwFileDateMS = %08X", info.dwFileDateMS); _MESSAGE("dwFileDateLS = %08X", info.dwFileDateLS); } // non-relocated image const IMAGE_SECTION_HEADER * GetImageSection(const u8 * base, const char * name) { const IMAGE_DOS_HEADER * dosHeader = (IMAGE_DOS_HEADER *)base; const IMAGE_NT_HEADERS * ntHeader = (IMAGE_NT_HEADERS *)(base + dosHeader->e_lfanew); const IMAGE_SECTION_HEADER * sectionHeader = IMAGE_FIRST_SECTION(ntHeader); for(u32 i = 0; i < ntHeader->FileHeader.NumberOfSections; i++) { const IMAGE_SECTION_HEADER * section = §ionHeader[i]; if(!strcmp((const char *)section->Name, name)) { return section; } } return NULL; } // non-relocated image bool HasImportedLibrary(const u8 * base, const char * name) { auto * dosHeader = (const IMAGE_DOS_HEADER *)base; auto * ntHeader = (const IMAGE_NT_HEADERS *)(base + dosHeader->e_lfanew); auto * importDir = (const IMAGE_DATA_DIRECTORY *)&ntHeader->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT]; if(!importDir->Size || !importDir->VirtualAddress) return false; // resolve RVA -> file offset const auto * sectionHeader = IMAGE_FIRST_SECTION(ntHeader); auto LookupRVA = [ntHeader, sectionHeader, base](u32 rva) -> const u8 * { for(u32 i = 0; i < ntHeader->FileHeader.NumberOfSections; i++) { const auto * section = §ionHeader[i]; if( (rva >= section->VirtualAddress) && (rva < section->VirtualAddress + section->SizeOfRawData)) { return base + rva - section->VirtualAddress + section->PointerToRawData; } } return nullptr; }; if(const auto * importTable = (const IMAGE_IMPORT_DESCRIPTOR *)LookupRVA(importDir->VirtualAddress)) { for(; importTable->Characteristics; ++importTable) { auto * dllName = (const char *)LookupRVA(importTable->Name); if(dllName && !_stricmp(dllName, name)) { return true; } } } return false; } // steam EXE will have the .bind section static bool IsSteamImage(const u8 * base) { return GetImageSection(base, ".bind") != NULL; } static bool IsUPXImage(const u8 * base) { return GetImageSection(base, "UPX0") != NULL; } static bool IsWinStoreImage(const u8 * base) { return HasImportedLibrary(base, "XCurl.dll"); // or api-ms-win-core-psm-appnotify-l1-1-0.dll } static bool IsGOGImage(const u8 * base) { return HasImportedLibrary(base, "Galaxy64.dll"); } static bool IsEpicImage(const u8 * base) { return HasImportedLibrary(base, "eossdk-win64-shipping.dll"); } bool ScanEXE(const char * path, ProcHookInfo * hookInfo) { // open and map the file in to memory HANDLE file = CreateFile(path, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if(file == INVALID_HANDLE_VALUE) { _ERROR("ScanEXE: couldn't open file (%d)", GetLastError()); return false; } bool result = false; HANDLE mapping = CreateFileMapping(file, NULL, PAGE_READONLY, 0, 0, NULL); if(mapping) { const u8 * fileBase = (const u8 *)MapViewOfFile(mapping, FILE_MAP_READ, 0, 0, 0); if(fileBase) { // scan for packing type bool isWinStore = IsWinStoreImage(fileBase); if(IsUPXImage(fileBase)) { hookInfo->procType = kProcType_Packed; } else if(IsSteamImage(fileBase)) { hookInfo->procType = kProcType_Steam; } else if(IsWinStoreImage(fileBase)) { hookInfo->procType = kProcType_WinStore; } else if(IsGOGImage(fileBase)) { hookInfo->procType = kProcType_GOG; } else if(IsEpicImage(fileBase)) { hookInfo->procType = kProcType_Epic; } else { hookInfo->procType = kProcType_Normal; } result = true; UnmapViewOfFile(fileBase); } else { _ERROR("ScanEXE: couldn't map file (%d)", GetLastError()); } CloseHandle(mapping); } else { _ERROR("ScanEXE: couldn't create file mapping (%d)", GetLastError()); } CloseHandle(file); return result; } bool IdentifyEXE(const char * procName, bool isEditor, std::string * dllSuffix, ProcHookInfo * hookInfo) { u64 version; std::string productName; // check file version if(!GetFileVersionData(procName, &version, &productName)) { PrintLoaderError("Couldn't retrieve EXE version information."); return false; } _MESSAGE("version = %016I64X", version); _MESSAGE("product name = %s", productName.c_str()); hookInfo->version = version; hookInfo->packedVersion = MAKE_EXE_VERSION(version >> 48, version >> 32, version >> 16); if(productName == "SFSE") { _MESSAGE("found an SFSE component"); return false; } // check protection type if(!ScanEXE(procName, hookInfo)) { PrintLoaderError("Failed to identify EXE type."); return false; } switch(hookInfo->procType) { case kProcType_Steam: _MESSAGE("steam exe"); break; case kProcType_Normal: _MESSAGE("normal exe"); break; case kProcType_Packed: _MESSAGE("packed exe"); break; case kProcType_WinStore: _MESSAGE("winstore exe"); break; case kProcType_GOG: _MESSAGE("gog exe"); break; case kProcType_Epic: _MESSAGE("epic exe"); break; case kProcType_Unknown: default: _MESSAGE("unknown exe type"); break; } if(hookInfo->procType == kProcType_WinStore) { PrintLoaderError("The Windows Store (gamepass) version of Starfield is not supported."); return false; } if(hookInfo->procType == kProcType_Epic) { PrintLoaderError("The Epic Store version of Starfield is not supported."); return false; } bool result = false; if(isEditor) { switch(hookInfo->procType) { case kProcType_Steam: case kProcType_Normal: case kProcType_WinStore: case kProcType_GOG: *dllSuffix = ""; result = true; break; case kProcType_Unknown: default: PrintLoaderError("Unsupported editor executable type."); break; } } else { char versionStr[256]; sprintf_s(versionStr, "%d_%d_%d", hookInfo->getVersionMajor(), hookInfo->getVersionMinor(), hookInfo->getVersionBuild()); *dllSuffix = versionStr; switch(hookInfo->procType) { case kProcType_Steam: case kProcType_Normal: result = true; break; case kProcType_GOG: *dllSuffix += "_gog"; result = true; break; case kProcType_WinStore: *dllSuffix += "_winstore"; result = true; break; case kProcType_Packed: PrintLoaderError("Packed versions of Starfield are not supported."); break; case kProcType_Unknown: default: PrintLoaderError("Unknown executable type."); break; } } return result; } bool VersionCheck(const ProcHookInfo & procInfo, u64 RUNTIME_VERSION) { const u64 kCurVersion = (u64(GET_EXE_VERSION_MAJOR(RUNTIME_VERSION)) << 48) | (u64(GET_EXE_VERSION_MINOR(RUNTIME_VERSION)) << 32) | (u64(GET_EXE_VERSION_BUILD(RUNTIME_VERSION)) << 16); // convert version resource to internal version format u32 versionInternal = MAKE_EXE_VERSION(procInfo.version >> 48, procInfo.version >> 32, procInfo.version >> 16); // version mismatch could mean exe type mismatch if(procInfo.version != kCurVersion) { #if GET_EXE_VERSION_SUB(RUNTIME_VERSION) == RUNTIME_TYPE_BETHESDA const int expectedProcType = kProcType_Steam; const char * expectedProcTypeName = "Steam"; #elif GET_EXE_VERSION_SUB(RUNTIME_VERSION) == RUNTIME_TYPE_GOG const int expectedProcType = kProcType_GOG; const char * expectedProcTypeName = "GOG"; #else #error unknown runtime type #endif // we only care about steam/gog for this check const char * foundProcTypeName = nullptr; switch(procInfo.procType) { case kProcType_Steam: foundProcTypeName = "Steam"; break; case kProcType_GOG: foundProcTypeName = "GOG"; break; } if(foundProcTypeName && (procInfo.procType != expectedProcType)) { // different build PrintLoaderError( "This version of SFSE is compatible with the %s version of the game.\n" "You have the %s version of the game. Please download the correct version from the website.\n" "Runtime: %d.%d.%d\n" "SFSE: %d.%d.%d", expectedProcTypeName, foundProcTypeName, GET_EXE_VERSION_MAJOR(versionInternal), GET_EXE_VERSION_MINOR(versionInternal), GET_EXE_VERSION_BUILD(versionInternal), SFSE_VERSION_INTEGER, SFSE_VERSION_INTEGER_MINOR, SFSE_VERSION_INTEGER_BETA); return false; } } if(procInfo.version < kCurVersion) { #if SFSE_TARGETING_BETA_VERSION if(versionInternal == CURRENT_RELEASE_RUNTIME) PrintLoaderError( "You are using the version of SFSE intended for the Steam beta branch (%d.%d.%d).\n" "Download and install the non-beta branch version (%s) from http://sfse.silverlock.org/.", SFSE_VERSION_INTEGER, SFSE_VERSION_INTEGER_MINOR, SFSE_VERSION_INTEGER_BETA, CURRENT_RELEASE_SFSE_STR); else PrintLoaderError( "You are using Starfield version %d.%d.%d, which is out of date and incompatible with this version of SFSE (%d.%d.%d). Update to the latest beta version.", GET_EXE_VERSION_MAJOR(versionInternal), GET_EXE_VERSION_MINOR(versionInternal), GET_EXE_VERSION_BUILD(versionInternal), SFSE_VERSION_INTEGER, SFSE_VERSION_INTEGER_MINOR, SFSE_VERSION_INTEGER_BETA); #else PrintLoaderError( "You are using Starfield version %d.%d.%d, which is out of date and incompatible with this version of SFSE (%d.%d.%d). Update to the latest version.", GET_EXE_VERSION_MAJOR(versionInternal), GET_EXE_VERSION_MINOR(versionInternal), GET_EXE_VERSION_BUILD(versionInternal), SFSE_VERSION_INTEGER, SFSE_VERSION_INTEGER_MINOR, SFSE_VERSION_INTEGER_BETA); #endif } else if(procInfo.version > kCurVersion) { PrintLoaderError( "You are using a newer version of Starfield than this version of SFSE supports.\n" "If this version just came out, please be patient while we update our code.\n" "In the meantime, please check http://sfse.silverlock.org for updates.\n" "Do not email about this!\n" "Runtime: %d.%d.%d\n" "SFSE: %d.%d.%d", GET_EXE_VERSION_MAJOR(versionInternal), GET_EXE_VERSION_MINOR(versionInternal), GET_EXE_VERSION_BUILD(versionInternal), SFSE_VERSION_INTEGER, SFSE_VERSION_INTEGER_MINOR, SFSE_VERSION_INTEGER_BETA); } return true; } ================================================ FILE: sfse_loader/IdentifyEXE.h ================================================ #pragma once #include "sfse_common/Types.h" #include #include enum { kProcType_Steam, kProcType_Normal, kProcType_WinStore, kProcType_GOG, kProcType_Epic, kProcType_Packed, kProcType_Unknown }; struct ProcHookInfo { u64 version; // version from resource u32 packedVersion; // internal packed version number u32 procType; // kProcType_* u16 getVersionMajor() { return u16(version >> 48); } u16 getVersionMinor() { return u16(version >> 32); } u16 getVersionBuild() { return u16(version >> 16); } }; bool IdentifyEXE(const char * procName, bool isEditor, std::string * dllSuffix, ProcHookInfo * hookInfo); bool GetFileVersion(const char * path, VS_FIXEDFILEINFO * info, std::string * outProductName, std::string * outProductVersion); void DumpVersionInfo(const VS_FIXEDFILEINFO & info); bool VersionStrToInt(const std::string & verStr, u64 * out); ================================================ FILE: sfse_loader/Inject.cpp ================================================ #include "LoaderError.h" #include "IdentifyEXE.h" #include "sfse_common/FileStream.h" #include "sfse_common/Log.h" #include // remote thread creation static bool DoInjectDLLThread(PROCESS_INFORMATION * info, const char * dllPath, bool sync, bool noTimeout); bool InjectDLLThread(PROCESS_INFORMATION * info, const char * dllPath, bool sync, bool noTimeout) { bool result = false; // wrap DLL injection in SEH, if it crashes print a message __try { result = DoInjectDLLThread(info, dllPath, sync, noTimeout); } __except(EXCEPTION_EXECUTE_HANDLER) { PrintLoaderError("DLL injection failed. In most cases, this is caused by an overly paranoid software firewall or antivirus package. Disabling either of these may solve the problem."); result = false; } return result; } /* 48:83EC 28 | sub rsp, 28 | 48:8BD9 | mov rbx,rcx | save to non-volatile register 48:8D4B 10 | lea rcx,qword ptr ds:[rbx+10] | offsetof(InjectDLLThreadData, dllPath) FF13 | call qword ptr ds:[rbx] | offsetof(InjectDLLThreadData, loadLibraryA) 48:8BC8 | mov rcx,rax | BA 01000000 | mov edx,1 | FF53 08 | call qword ptr ds:[rbx+8] | offsetof(InjectDLLThreadData, getProcAddress) FFD0 | call rax | 48:83C4 28 | add rsp, 28 | C3 | ret | */ struct InjectDLLThreadData { InjectDLLThreadData(uintptr_t _loadLibraryA, uintptr_t _getProcAddress, const char * _dllPath) { memset(this, 0, sizeof(*this)); loadLibraryA = _loadLibraryA; getProcAddress = _getProcAddress; strcpy_s(dllPath, sizeof(dllPath), _dllPath); static const u8 kCode[] = { 0x48, 0x83, 0xEC, 0x28, 0x48, 0x8B, 0xD9, 0x48, 0x8D, 0x4B, 0x10, 0xFF, 0x13, 0x48, 0x8B, 0xC8, 0xBA, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x53, 0x08, 0xFF, 0xD0, 0x48, 0x83, 0xC4, 0x28, 0xC3, }; memcpy(code, kCode, sizeof(kCode)); } uintptr_t loadLibraryA; // 00 uintptr_t getProcAddress; // 08 char dllPath[2048]; // 10 u8 code[128]; // 810 }; static bool DoInjectDLLThread(PROCESS_INFORMATION * info, const char * dllPath, bool sync, bool noTimeout) { bool result = false; // make sure the dll exists { FileStream fileCheck; if(!fileCheck.open(dllPath)) { PrintLoaderError("Couldn't find %s.", dllPath); return false; } } HANDLE process = OpenProcess( PROCESS_CREATE_THREAD | PROCESS_QUERY_INFORMATION | PROCESS_VM_OPERATION | PROCESS_VM_WRITE | PROCESS_VM_READ, FALSE, info->dwProcessId); if(process) { uintptr_t hookBase = (uintptr_t)VirtualAllocEx(process, NULL, 8192, MEM_COMMIT, PAGE_EXECUTE_READWRITE); if(hookBase) { // safe because kernel32 is loaded at the same address in all processes // (can change across restarts) uintptr_t loadLibraryAAddr = (uintptr_t)GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA"); uintptr_t getProcAddressAddr = (uintptr_t)GetProcAddress(GetModuleHandle("kernel32.dll"), "GetProcAddress"); _MESSAGE("hookBase = %016I64X", hookBase); _MESSAGE("loadLibraryAAddr = %016I64X", loadLibraryAAddr); _MESSAGE("getProcAddressAddr = %016I64X", getProcAddressAddr); InjectDLLThreadData data(loadLibraryAAddr, getProcAddressAddr, dllPath); size_t bytesWritten; WriteProcessMemory(process, (LPVOID)hookBase, (void *)&data, sizeof(data), &bytesWritten); auto * remoteData = (InjectDLLThreadData *)hookBase; HANDLE thread = CreateRemoteThread(process, NULL, 0, (LPTHREAD_START_ROUTINE)(&remoteData->code), (void *)remoteData, 0, NULL); if(thread) { if(sync) { switch(WaitForSingleObject(thread, noTimeout ? INFINITE : 1000 * 60)) // timeout = one minute { case WAIT_OBJECT_0: _MESSAGE("hook thread complete"); result = true; break; case WAIT_ABANDONED: _ERROR("Process::InstallHook: waiting for thread = WAIT_ABANDONED"); break; case WAIT_TIMEOUT: _ERROR("Process::InstallHook: waiting for thread = WAIT_TIMEOUT"); break; } } else result = true; CloseHandle(thread); } else _ERROR("CreateRemoteThread failed (%d)", GetLastError()); VirtualFreeEx(process, (LPVOID)hookBase, 0, MEM_RELEASE); } else _ERROR("Process::InstallHook: couldn't allocate memory in target process"); CloseHandle(process); } else _ERROR("Process::InstallHook: couldn't get process handle"); return result; } ================================================ FILE: sfse_loader/Inject.h ================================================ #pragma once #include "IdentifyEXE.h" bool InjectDLL(PROCESS_INFORMATION * info, const char * dllPath, ProcHookInfo * hookInfo); bool InjectDLLThread(PROCESS_INFORMATION * info, const char * dllPath, bool sync, bool noTimeout); ================================================ FILE: sfse_loader/LoaderError.cpp ================================================ #include "LoaderError.h" #include #include #include #include "sfse_common/Log.h" void PrintLoaderError(const char * fmt, ...) { char buf[4096]; va_list args; va_start(args, fmt); DebugLog::log(DebugLog::kLevel_FatalError, fmt, args); va_end(args); va_start(args, fmt); vsprintf_s(buf, sizeof(buf), fmt, args); va_end(args); MessageBox(NULL, buf, "SFSE Loader", MB_OK | MB_ICONEXCLAMATION); } ================================================ FILE: sfse_loader/LoaderError.h ================================================ #pragma once void PrintLoaderError(const char * fmt, ...); ================================================ FILE: sfse_loader/Options.cpp ================================================ #include "Options.h" #include "sfse_common/Log.h" #include "sfse_common/Errors.h" #include Options g_options; Options::Options() :m_launchCS(false) ,m_setPriority(false) ,m_priority(0) ,m_crcOnly(false) ,m_optionsOnly(false) ,m_waitForClose(false) ,m_verbose(false) ,m_skipLauncher(true) ,m_launchSteam(false) ,m_noTimeout(false) ,m_affinity(0) { // } Options::~Options() { // } // disable "switch statement contains 'default' but no 'case' labels" #pragma warning (push) #pragma warning (disable : 4065) bool Options::Read(int argc, char ** argv) { if(argc >= 1) { // remove app name argc--; argv++; int freeArgCount = 0; while(argc > 0) { char * arg = *argv++; argc--; if(arg[0] == '-') { // switch arg++; if(!_stricmp(arg, "editor")) { m_launchCS = true; } else if(!_stricmp(arg, "priority")) { if(argc >= 1) { arg = *argv++; argc--; m_setPriority = true; if(!_stricmp(arg, "above_normal")) { m_priority = ABOVE_NORMAL_PRIORITY_CLASS; } else if(!_stricmp(arg, "below_normal")) { m_priority = BELOW_NORMAL_PRIORITY_CLASS; } else if(!_stricmp(arg, "high")) { m_priority = HIGH_PRIORITY_CLASS; } else if(!_stricmp(arg, "idle")) { m_priority = IDLE_PRIORITY_CLASS; } else if(!_stricmp(arg, "normal")) { m_priority = NORMAL_PRIORITY_CLASS; } else if(!_stricmp(arg, "realtime")) { m_priority = REALTIME_PRIORITY_CLASS; } else { m_setPriority = false; _ERROR("couldn't read priority argument (%s)", arg); return false; } } else { _ERROR("priority not specified"); return false; } } else if(!_stricmp(arg, "altexe")) { if(argc >= 1) { m_altEXE = *argv++; argc--; } else { _ERROR("exe path not specified"); return false; } } else if(!_stricmp(arg, "altdll")) { if(argc >= 1) { m_altDLL = *argv++; argc--; } else { _ERROR("dll path not specified"); return false; } } else if(!_stricmp(arg, "crconly")) { m_crcOnly = true; } else if(!_stricmp(arg, "h") || !_stricmp(arg, "help")) { m_optionsOnly = true; } else if(!_stricmp(arg, "waitforclose")) { m_waitForClose = true; } else if(!_stricmp(arg, "v")) { m_verbose = true; } else if(!_stricmp(arg, "noskiplauncher")) { m_skipLauncher = false; } else if(!_stricmp(arg, "launchsteam")) { m_launchSteam = true; } else if(!_stricmp(arg, "notimeout")) { m_noTimeout = true; } else if(!_stricmp(arg, "affinity")) { if(argc >= 1) { const char * maskStr = *argv++; argc--; if(sscanf_s(maskStr, "%I64i", &m_affinity) != 1) { _ERROR("couldn't read affinity mask as an integer (%s)", maskStr); return false; } } else { _ERROR("affinity mask not specified"); return false; } } else if(!_stricmp(arg, "forcesteamloader")) { // does nothing } else if(!_stricmp(arg, "-")) { // terminator for arguments break; } else { _ERROR("unknown switch (%s)", arg); return false; } } else { // free arg switch(freeArgCount) { default: _ERROR("too many free args (%s)", arg); return false; } } } } return Verify(); } #pragma warning (pop) void Options::PrintUsage(void) { //gLog.SetPrintLevel(IDebugLog::kLevel_VerboseMessage); _MESSAGE("usage: sfse_loader [options]"); _MESSAGE(""); _MESSAGE("options:"); _MESSAGE(" -h, -help - print this options list"); _MESSAGE(" -editor - launch the construction set"); _MESSAGE(" -priority - set the launched program\'s priority"); _MESSAGE(" above_normal"); _MESSAGE(" below_normal"); _MESSAGE(" high"); _MESSAGE(" idle"); _MESSAGE(" normal"); _MESSAGE(" realtime"); _MESSAGE(" -altexe - set alternate exe path"); _MESSAGE(" -altdll - set alternate dll path"); _MESSAGE(" -crconly - just identify the EXE, don't launch anything"); _MESSAGE(" -waitforclose - wait for the launched program to close"); _MESSAGE(" -v - print verbose messages to the console"); _MESSAGE(" -minfo - log information about the DLLs loaded in to the target process"); _MESSAGE(" -noskiplauncher - does not skip the default Bethesda launcher window"); _MESSAGE(" note: specifying this option may cause compatibility problems"); _MESSAGE(" -launchsteam - ignored for backwards compatibility"); _MESSAGE(" -affinity - set the processor affinity mask"); _MESSAGE(" -forcesteamloader - ignored for backwards compatibility"); _MESSAGE(" -- - ignore arguments after this marker"); } bool Options::Verify(void) { // nothing to verify currently return true; } ================================================ FILE: sfse_loader/Options.h ================================================ #pragma once #include "sfse_common/Types.h" #include class Options { public: Options(); ~Options(); bool Read(int argc, char ** argv); void PrintUsage(void); bool m_launchCS; bool m_setPriority; u32 m_priority; bool m_optionsOnly; bool m_crcOnly; bool m_waitForClose; bool m_verbose; bool m_skipLauncher; bool m_launchSteam; bool m_noTimeout; u64 m_affinity; std::string m_altEXE; std::string m_altDLL; private: bool Verify(void); }; extern Options g_options; ================================================ FILE: sfse_loader/SigCheck.cpp ================================================ #include "SigCheck.h" #include "sfse_common/Utilities.h" #include "sfse_common/Log.h" #include "sfse_common/Errors.h" #include #include #include // no, plugins will not need signature checks ever // this exists to prevent misuse (by malware) of one of the loaders // locally built loaders will not be signed and will pass this check on everything // use wintrust for authenticode validation // use wincrypt for examining the cert #include #include #include class FileCertVerifier { public: bool verify(const WCHAR * path); bool noSignature() const; bool trusted() const; const std::vector & serial() const { return m_serial; } private: bool getLeafCertSerial(const WCHAR * path, std::vector * outSerial) const; LONG m_trustResult; DWORD m_trustError; std::vector m_serial; }; bool FileCertVerifier::verify(const WCHAR * path) { WINTRUST_FILE_INFO fileInfo = {}; fileInfo.cbStruct = sizeof(fileInfo); fileInfo.pcwszFilePath = path; // authenticode verify, save data in hWVTStateData WINTRUST_DATA winTrustData = {}; winTrustData.cbStruct = sizeof(winTrustData); winTrustData.dwUIChoice = WTD_UI_NONE; winTrustData.fdwRevocationChecks = WTD_REVOKE_NONE; winTrustData.dwUnionChoice = WTD_CHOICE_FILE; winTrustData.pFile = &fileInfo; winTrustData.dwStateAction = WTD_STATEACTION_VERIFY; winTrustData.dwProvFlags = 0; GUID authenticodeVerify = WINTRUST_ACTION_GENERIC_VERIFY_V2; // validation status is stored in these result codes m_trustResult = WinVerifyTrust(nullptr, &authenticodeVerify, &winTrustData); m_trustError = GetLastError(); _MESSAGE("WinVerifyTrust: %08X %08X %S", m_trustResult, m_trustError, path); // dispose hWVTStateData winTrustData.dwStateAction = WTD_STATEACTION_CLOSE; WinVerifyTrust(nullptr, &authenticodeVerify, &winTrustData); // anything else is an error if(!noSignature() && !trusted()) { _ERROR("WinVerifyTrust failed: %08X %08X", m_trustResult, m_trustError); return false; } if(trusted()) { // fetch cert info if the chain validates if(!getLeafCertSerial(path, &m_serial)) return false; } return true; } bool FileCertVerifier::noSignature() const { return (m_trustResult == TRUST_E_NOSIGNATURE) && (m_trustError == TRUST_E_NOSIGNATURE); } bool FileCertVerifier::trusted() const { return m_trustResult == ERROR_SUCCESS; } #if 0 // unsupported function version (WTHelperProvDataFromStateData) std::vector FileCertVerifier::getLeafCertSerial(const WINTRUST_DATA & src) const { std::vector result; const CRYPT_PROVIDER_DATA * providerData = WTHelperProvDataFromStateData(src.hWVTStateData); ASSERT(providerData && providerData->csSigners && providerData->pasSigners && providerData->pasSigners->csCertChain); const CRYPT_PROVIDER_CERT * leafCert = providerData->pasSigners->pasCertChain; if(leafCert->fTrustedRoot || leafCert->fSelfSigned || leafCert->fTestCert) { // what return result; } if(leafCert->pCert && leafCert->pCert->pCertInfo) { const CERT_INFO * info = leafCert->pCert->pCertInfo; ASSERT(info->SerialNumber.pbData && info->SerialNumber.cbData > 0); result.resize(info->SerialNumber.cbData); memcpy(result.data(), info->SerialNumber.pbData, info->SerialNumber.cbData); } return result; } #else bool FileCertVerifier::getLeafCertSerial(const WCHAR * path, std::vector * outSerial) const { HCRYPTMSG cryptMsg = nullptr; // authenticode is a PKCS #7 signed embedded message // extract it from the PE file BOOL status = CryptQueryObject( CERT_QUERY_OBJECT_FILE, path, CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED, CERT_QUERY_FORMAT_FLAG_BINARY, 0, nullptr, nullptr, nullptr, nullptr, &cryptMsg, nullptr); if(!status) { _ERROR("CryptQueryObject failed %08X", GetLastError()); return false; } // get the cert signing the message (leaf cert) DWORD signerInfoLen = 0; if(!CryptMsgGetParam(cryptMsg, CMSG_SIGNER_INFO_PARAM, 0, nullptr, &signerInfoLen)) { _ERROR("CryptMsgGetParam signer info length failed %08X", GetLastError()); return false; } std::vector signerInfoBuf(signerInfoLen); if(!CryptMsgGetParam(cryptMsg, CMSG_SIGNER_INFO_PARAM, 0, signerInfoBuf.data(), &signerInfoLen)) { _ERROR("CryptMsgGetParam signer info fetch failed %08X", GetLastError()); return false; } // signing cert info contains a serial number and issuer (and some other data) auto * signerInfo = (CMSG_SIGNER_INFO *)signerInfoBuf.data(); if(signerInfo->SerialNumber.cbData <= 0) { _ERROR("no cert serial"); return false; } outSerial->resize(signerInfo->SerialNumber.cbData); memcpy(outSerial->data(), signerInfo->SerialNumber.pbData, signerInfo->SerialNumber.cbData); CryptMsgClose(cryptMsg); return true; } #endif bool CheckDLLSignature(const std::string & dllPath) { // verify ourselves, get the signature WCHAR exePath[2048]; GetModuleFileNameW(GetModuleHandle(NULL), exePath, _countof(exePath)); FileCertVerifier exeVerifier; if(!exeVerifier.verify(exePath)) { _ERROR("exe failed validation"); return false; } // unsigned exe, don't bother verifying dll if(exeVerifier.noSignature()) { _MESSAGE("unsigned exe, not verifying dll"); return true; } // signed but bad signature? what if(!exeVerifier.trusted()) { _ERROR("bad exe signature"); return false; } int numWideChars = MultiByteToWideChar(CP_ACP, MB_ERR_INVALID_CHARS, dllPath.data(), (int)dllPath.size(), nullptr, 0); if(!numWideChars) { DWORD error = GetLastError(); _ERROR("error converting DLL path to wide characters (count) (%08X)", error); return false; } std::vector dllPathWide; dllPathWide.resize(numWideChars); numWideChars = MultiByteToWideChar(CP_ACP, MB_ERR_INVALID_CHARS, dllPath.data(), (int)dllPath.size(), dllPathWide.data(), (int)dllPathWide.size()); if(!numWideChars) { DWORD error = GetLastError(); _ERROR("error converting DLL path to wide characters (convert) (%08X)", error); return false; } // null terminator dllPathWide.push_back(0); FileCertVerifier dllVerifier; if(!dllVerifier.verify(dllPathWide.data())) { _ERROR("dll failed validation"); return false; } if(!dllVerifier.trusted()) { _ERROR("dll untrusted"); return false; } if(exeVerifier.serial() != dllVerifier.serial()) { _ERROR("serials don't match"); return false; } _MESSAGE("DLL and EXE signature/serial match"); return true; } ================================================ FILE: sfse_loader/SigCheck.h ================================================ #pragma once #include bool CheckDLLSignature(const std::string & dllPath); ================================================ FILE: sfse_loader/cmake/config.cmake.in ================================================ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake") ================================================ FILE: sfse_loader/main.cpp ================================================ #include #include #include "sfse_common/Types.h" #include "sfse_common/Errors.h" #include "sfse_common/Log.h" #include "sfse_common/sfse_version.h" #include "sfse_common/Utilities.h" #include "sfse_common/FileStream.h" #include "sfse_common/CoreInfo.h" #include "LoaderError.h" #include "IdentifyEXE.h" #include "Inject.h" #include "Options.h" #include "SigCheck.h" #include int main(int argc, char ** argv) { DebugLog::openRelative(CSIDL_MYDOCUMENTS, "\\My Games\\" SAVE_FOLDER_NAME "\\SFSE\\Logs\\sfse_loader.txt"); //gLog.SetPrintLevel(IDebugLog::kLevel_FatalError); //gLog.SetLogLevel(IDebugLog::kLevel_DebugMessage); SYSTEMTIME now; GetSystemTime(&now); _MESSAGE("SFSE loader: initialize (version = %d.%d.%d %08X %04d-%02d-%02d %02d:%02d:%02d, os = %s)", SFSE_VERSION_INTEGER, SFSE_VERSION_INTEGER_MINOR, SFSE_VERSION_INTEGER_BETA, LOADER_VERSION, now.wYear, now.wMonth, now.wDay, now.wHour, now.wMinute, now.wSecond, getOSInfoStr().c_str()); if(!g_options.Read(argc, argv)) { PrintLoaderError("Couldn't read arguments."); g_options.PrintUsage(); return 1; } if(g_options.m_optionsOnly) { g_options.PrintUsage(); return 0; } // if(g_options.m_verbose) // gLog.SetPrintLevel(IDebugLog::kLevel_VerboseMessage); if(g_options.m_launchCS) { PrintLoaderError("The editor should be launched directly."); return 1; } // get process/dll names bool dllHasFullPath = false; const char * baseDllName = g_options.m_launchCS ? "sfse_editor" : "sfse"; bool usedCustomRuntimeName = false; std::string procName; if(g_options.m_launchCS) { procName = "CreationKit.exe"; } else { procName = getConfigOption("Loader", "RuntimeName"); if(!procName.empty()) { _MESSAGE("using runtime name from config: %s", procName.c_str()); usedCustomRuntimeName = true; } else { procName = "Starfield.exe"; // check to see if someone screwed up their install std::string appName = getRuntimeName(); if(!_stricmp(appName.c_str(), procName.c_str())) { PrintLoaderError("You have renamed sfse_loader and have not specified the name of the runtime."); return 1; } } } const std::string & runtimeDir = getRuntimeDirectory(); std::string procPath = runtimeDir + procName; if(g_options.m_altEXE.size()) { procPath = g_options.m_altEXE; _MESSAGE("launching alternate exe (%s)", procPath.c_str()); } _MESSAGE("procPath = %s", procPath.c_str()); // check if the exe exists { FileStream fileCheck; if(!fileCheck.open(procPath.c_str())) { DWORD err = GetLastError(); if(err) _MESSAGE("exe open check error = %08X", err); bool msStore = false; if(err == ERROR_ACCESS_DENIED) { // this might be ms store std::string manifestPath = runtimeDir + "appxmanifest.xml"; if(fileCheck.open(manifestPath.c_str())) { msStore = true; } } if(msStore) { PrintLoaderError("You have the MS Store/Gamepass version of Starfield, which is not compatible with SFSE."); } else if(usedCustomRuntimeName) { PrintLoaderError("Couldn't find %s. You have customized the runtime name via SFSE's .ini file, and that file does not exist. This can usually be fixed by removing the RuntimeName line from the .ini file.)", procName.c_str()); } else { PrintLoaderError("Couldn't find %s.", procName.c_str()); } return 1; } } _MESSAGE("launching: %s (%s)", procName.c_str(), procPath.c_str()); if(g_options.m_altDLL.size()) { baseDllName = g_options.m_altDLL.c_str(); _MESSAGE("launching alternate dll (%s)", baseDllName); dllHasFullPath = true; } std::string dllSuffix; ProcHookInfo procHookInfo; // check exe version if(!IdentifyEXE(procPath.c_str(), g_options.m_launchCS, &dllSuffix, &procHookInfo)) { _ERROR("unknown exe"); if(usedCustomRuntimeName) { PrintLoaderError("You have customized the runtime name via SFSE's .ini file. Version errors can usually be fixed by removing the RuntimeName line from the .ini file."); } return 1; } if(g_options.m_crcOnly) return 0; // build dll path std::string dllPath; if(dllHasFullPath) { dllPath = baseDllName; } else { dllPath = runtimeDir + baseDllName + "_" + dllSuffix + ".dll"; } _MESSAGE("dll = %s", dllPath.c_str()); // check to make sure the dll exists { FileStream tempFile; if(!tempFile.open(dllPath.c_str())) { PrintLoaderError( "Couldn't find SFSE DLL (%s).\n" "Either you have not installed SFSE correctly, or a new version of Starfield has been released.\n" "Please make sure you have installed SFSE correctly and are running it from your Starfield folder.\n" "If a game patch was released since you last ran the game, please check the website for updates.\n" "You have game version %d.%d.%d installed. The loader is not lying to you.\n" "Check your game installation if you are still confused.", dllPath.c_str(), procHookInfo.getVersionMajor(), procHookInfo.getVersionMinor(), procHookInfo.getVersionBuild()); return 1; } } // check to make sure the dll makes sense { bool dllOK = false; u32 dllVersion = 0; HMODULE resourceHandle = (HMODULE)LoadLibraryEx(dllPath.c_str(), nullptr, LOAD_LIBRARY_AS_IMAGE_RESOURCE); if(resourceHandle) { if(is64BitDLL(resourceHandle)) { auto * version = (const SFSECoreVersionData *)getResourceLibraryProcAddress(resourceHandle, "SFSECore_Version"); if(version) { dllVersion = version->runtimeVersion; if( (version->dataVersion == SFSECoreVersionData::kVersion) && (version->runtimeVersion == procHookInfo.packedVersion)) { dllOK = true; } } } FreeLibrary(resourceHandle); } if(dllOK) { if(!CheckDLLSignature(dllPath)) dllOK = false; } if(!dllOK) { bool preSigning = false; VS_FIXEDFILEINFO info; std::string productName; std::string productVersion; if(GetFileVersion(dllPath.c_str(), &info, &productName, &productVersion)) { _MESSAGE("SFSE DLL version"); DumpVersionInfo(info); _MESSAGE("productName = %s", productName.c_str()); _MESSAGE("productVersion = %s", productVersion.c_str()); u64 fullVersion = (u64(info.dwFileVersionMS) << 32) | info.dwFileVersionLS; u64 kFirstSignedVersion = 0x000000000002000E; if(fullVersion < kFirstSignedVersion) preSigning = true; } else { _MESSAGE("couldn't get file version info"); } if(preSigning) { PrintLoaderError( "Old SFSE DLL (%s).\n" "Please make sure that you have replaced all files with their new versions.\n" "DLL version (%s) EXE version (%d.%d.%d)", dllPath.c_str(), productVersion.c_str(), SFSE_VERSION_INTEGER, SFSE_VERSION_INTEGER_MINOR, SFSE_VERSION_INTEGER_BETA); } else { PrintLoaderError( "Bad SFSE DLL (%s).\n" "Do not rename files; it will not magically make anything work.\n" "%08X %08X", dllPath.c_str(), procHookInfo.packedVersion, dllVersion); } return 1; } } // steam setup if(procHookInfo.procType == kProcType_Steam) { // ### might not be needed now that there's no intermediate launcher // same for standard and nogore const char * kAppID = (g_options.m_launchCS == false ? "1716740" : "???"); // set this no matter what to work around launch issues SetEnvironmentVariable("SteamGameId", kAppID); if(g_options.m_skipLauncher) { SetEnvironmentVariable("SteamAppID", kAppID); } } // launch the app (suspended) STARTUPINFO startupInfo = { 0 }; PROCESS_INFORMATION procInfo = { 0 }; startupInfo.cb = sizeof(startupInfo); DWORD createFlags = CREATE_SUSPENDED; if(g_options.m_setPriority) createFlags |= g_options.m_priority; if(!CreateProcess( procPath.c_str(), NULL, // no args NULL, // default process security NULL, // default thread security FALSE, // don't inherit handles createFlags, NULL, // no new environment NULL, // no new cwd &startupInfo, &procInfo)) { if(GetLastError() == 740) { PrintLoaderError("Launching %s failed (%d). Please try running sfse_loader as an administrator.", procPath.c_str(), GetLastError()); } else { PrintLoaderError("Launching %s failed (%d).", procPath.c_str(), GetLastError()); } return 1; } _MESSAGE("main thread id = %d", procInfo.dwThreadId); // set affinity if requested if(g_options.m_affinity) { _MESSAGE("setting affinity mask to %016I64X", g_options.m_affinity); if(!SetProcessAffinityMask(procInfo.hProcess, g_options.m_affinity)) { _WARNING("couldn't set affinity mask (%08X)", GetLastError()); } } bool injectionSucceeded = false; u32 procType = procHookInfo.procType; // inject the dll switch(procType) { case kProcType_Steam: case kProcType_Normal: case kProcType_GOG: injectionSucceeded = InjectDLLThread(&procInfo, dllPath.c_str(), true, g_options.m_noTimeout); break; default: HALT("impossible"); } // start the process if successful if(!injectionSucceeded) { PrintLoaderError("Couldn't inject DLL."); _ERROR("terminating process"); TerminateProcess(procInfo.hProcess, 0); } else { _MESSAGE("launching"); if(!ResumeThread(procInfo.hThread)) { _WARNING("WARNING: something has started the runtime outside of sfse_loader's control."); _WARNING("SFSE will probably not function correctly."); _WARNING("Try running sfse_loader as an administrator, or check for conflicts with a virus scanner."); } if(g_options.m_waitForClose) WaitForSingleObject(procInfo.hProcess, INFINITE); } // clean up CloseHandle(procInfo.hProcess); CloseHandle(procInfo.hThread); return 0; } ================================================ FILE: sfse_loader/sfse_loader.manifest ================================================ True/PM ================================================ FILE: sfse_loader/sfse_loader_version.rc ================================================ 1 VERSIONINFO FILEVERSION 0,1,1,1 PRODUCTVERSION 0,1,1,1 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L #else FILEFLAGS 0x0L #endif FILEOS 0x4L FILETYPE 0x1L FILESUBTYPE 0x0L BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904b0" BEGIN VALUE "FileDescription", "Starfield Script Extender (SFSE) Loader" VALUE "FileVersion", "1.1.1" VALUE "InternalName", "SFSE" VALUE "LegalCopyright", "Copyright (C) 2006-2024" VALUE "ProductName", "SFSE" VALUE "ProductVersion", "1.1.1" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x409, 1200 END END ================================================ FILE: sfse_readme.txt ================================================ Starfield Script Extender v0.2.19 pre-alpha by Ian Patterson, Stephen Abel, and Expired The Starfield Script Extender, or SFSE for short, is a modder's resource that expands the scripting capabilities of Starfield. As the editor is not out, it's mostly a plugin loader for now. Depending on where modders show interest, this will expand to Scaleform and Papyrus (or other things) over time. [ Compatibility ] SFSE will support the latest version of Starfield available on Steam, currently 1.16.236. The Gamepass/MS Store/EGS version is unsupported. Do not email asking for support. [ Installation ] 1. Copy the dll and exe files in to your Starfield folder. This is usually C:\Program Files\Steam\SteamApps\common\Starfield\. Do not put it in your Data folder. 2. Ignore the src folder. It is there for programmers only. 3. Make sure Steam is running, then launch the game by running sfse_loader.exe. [ FAQ ] * Console version? - No, not possible due to restrictions put in place by the manufacturers. * My virus scanner complains about sfse_loader! - It is not a virus. To extend the game, we use a technique called DLL injection to load our code. Since this technique can also be used by viruses, some badly-written virus scanners assume that any program doing it is a virus. Adding an exception to your scanner's rules may be necessary. * Can I modify and release my own version of SFSE based on the included source code? - No; the suggested method for extending SFSE is to write a plugin. If this does not meet your needs, please email the contact addresses listed below. * Can I include SFSE as part of a mod pack/collection or otherwise rehost the files? - No. Providing a link to https://www.nexusmods.com/starfield/mods/106 is the suggested method of distribution. Exceptions may be given under applicable circumstances; contact us at the email addresses below. This means that if you see this file available for download anywhere other than https://sfse.silverlock.org, https://www.github.com/ianpatt/sfse, or on Nexus by any user other than https://www.nexusmods.com/users/2166624, that service is violating copyright. I don't like having to explicitly spell this out, but my hand has been forced. * Where did the log files go? - \My Games\Starfield\SFSE\Logs\ * Where does the SFSE.ini file go? - Data\SFSE\SFSE.ini. The .ini is generally not needed. See the whatsnew for .ini options. * How do I uninstall SFSE? - Delete the .dll and .exe files starting with sfse_ from your Starfield folder. [ Contact ] Before contacting, make sure that your game launches properly without SFSE first. If SFSE doesn't appear to be working, follow the steps in the FAQ first, then attach everything from \My Games\Starfield\SFSE\Logs\ to an email. ### MAKE SURE TO INCLUDE YOUR LOG FILES AS ATTACHMENTS ### I cannot help you solve load order problems. Do not email when a new version of the game is released. Ian Patterson (ianpatt) Send email to ianpatt+sfse [at] gmail [dot] com [ Standard Disclaimer ] THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: sfse_whatsnew.txt ================================================ 0.2.19 - support for 1.16.236 0.2.18 - support for 1.15.222 0.2.17 - support for 1.15.216 - compiler setting changes in the most recent game patch have changed the code enough to invalidate the Address Library and most if not all existing plugins. plugins using the Address Library must flag themselves as using version 2 in their compatibility data (see PluginAPI.h) 0.2.16 - support for 1.14.74 0.2.15 - fixed sign check compatibility 0.2.14 - in order to reduce virus scanner false positives, the SFSE components now use a code signature. no, plugins will not need signing. - removed some unused command line options (mostly ignored rather than removed to reduce end user breakage) 0.2.13 - support for 1.14.70 - note that major changes have been made to the root game form class, so many older plugins will need to be recompiled to work with game version 1.14.70. this is not an SFSE change, Bethesda updated the game code. 0.2.12 - disabled preliminary serialization API (stability issues to be resolved later) 0.2.11 - support for 1.13.61 0.2.10 - support for 1.12.36 0.2.9 - support for 1.12.32 0.2.8 - support for 1.12.30 0.2.7 - support for 1.11.36 0.2.6 - the loader has been made version-independent due to continued problems with false positives. it should not need to be updated. this means that we lose out on a bit of diagnostic information (the loader no longer knows the latest version of the game). feel free to blame microsoft for this. - support for 1.10.32 0.2.5 - support for 1.10.31 0.2.4 - support for 1.9.71 0.2.3 - support for 1.9.67 0.2.2 - support for 1.9.51 - better error message for ms store - better error reporting for sfee.dll (CharGenMenu) 0.2.1 - support for 1.8.88 0.2.0 - plugin compatibility flag update for the breaking changes in 1.8.86 - plugin developers using SFSE headers: these are not currently up to date. getting a release out with the loader compatibility flags is higher priority. please check github for updates. 0.1.6 - internal class decoding - scaleform log enabled via SFSE.ini to avoid spamming the log file [Scaleform] EnableLog=1 - add task interface for plugins - support for 1.8.86 0.1.5 - fix crash from PostDataLoad hook 0.1.4 - internal class decoding - Post/PostDataLoad messages for plugins - support for 1.7.36 0.1.3 - scaleform menu plugin interface - sfse_loader now reports as dpi-aware - internal class decoding - version-independent plugins allowed to work cross-version - support for 1.7.33 0.1.2 - switch to DLL CRT so defender stops complaining - internal class decoding 0.1.1 - GetSFSEVersion console command - preliminary custom papyrus native function support - internal class decoding - support for 1.7.29 0.1.0 - plugin manager - SFSE version shown in pause menu - support for 1.7.23 ================================================ FILE: xbyak/CMakeLists.txt ================================================ cmake_minimum_required(VERSION 2.6...4.0.2) project(xbyak LANGUAGES CXX VERSION 6.73) file(GLOB headers xbyak/*.h) if (DEFINED CMAKE_VERSION AND CMAKE_VERSION VERSION_GREATER_EQUAL 3.0.2) include(GNUInstallDirs) add_library(${PROJECT_NAME} INTERFACE) add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) target_include_directories( ${PROJECT_NAME} INTERFACE "$" "$" ) install( TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}-targets INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} ) include(CMakePackageConfigHelpers) configure_package_config_file( cmake/config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake" INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} ) write_basic_package_version_file( "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake" COMPATIBILITY SameMajorVersion ) install( FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} ) install( EXPORT ${PROJECT_NAME}-targets NAMESPACE ${PROJECT_NAME}:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} ) elseif(NOT DEFINED CMAKE_INSTALL_INCLUDEDIR) set(CMAKE_INSTALL_INCLUDEDIR "include") endif() install( FILES ${headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/xbyak ) ================================================ FILE: xbyak/COPYRIGHT ================================================ Copyright (c) 2007 MITSUNARI Shigeo All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the copyright owner nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ================================================ FILE: xbyak/cmake/config.cmake.in ================================================ @PACKAGE_INIT@ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake") ================================================ FILE: xbyak/cmake/meson-config.cmake.in ================================================ @PACKAGE_INIT@ if(NOT TARGET @TARGET_NAME@) add_library(@TARGET_NAME@ INTERFACE IMPORTED) set_target_properties(@TARGET_NAME@ PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "@ABSOLUTE_INCLUDE_DIR@" ) endif() ================================================ FILE: xbyak/readme.md ================================================ # Xbyak 6.73 [![Badge Build]][Build Status] *A C++ JIT assembler for x86 (IA32), x64 (AMD64, x86-64)* ## Menu - [Install] - [Usage] - [Changelog] ## Abstract Xbyak is a C++ header library that enables dynamically to assemble x86(IA32), x64(AMD64, x86-64) mnemonic. The pronunciation of Xbyak is `kəi-bja-k`. It is named from a Japanese word [開闢](https://translate.google.com/?hl=ja&sl=ja&tl=en&text=%E9%96%8B%E9%97%A2&op=translate), which means the beginning of the world. ## Feature - header file only - Intel/MASM like syntax - fully support AVX-512 **Note**: Use `and_()`, `or_()`, ... instead of `and()`, `or()`. If you want to use them, then specify `-fno-operator-names` option to gcc/clang. ### Derived Projects - [Xbyak_aarch64](https://github.com/fujitsu/xbyak_aarch64/) : for AArch64 - [Xbyak_riscv](https://github.com/herumi/xbyak_riscv) : for RISC-V ### News - add amx_fp16/avx_vnni_int8/avx_ne_convert/avx-ifma - add movdiri, movdir64b, clwb, cldemote - WAITPKG instructions (tpause, umonitor, umwait) are supported. - MmapAllocator supports memfd with user-defined strings. see sample/memfd.cpp - strictly check address offset disp32 in a signed 32-bit integer. e.g., `ptr[(void*)0xffffffff]` causes an error. - define `XBYAK_OLD_DISP_CHECK` if you need an old check, but the option will be remoevd. - add `jmp(mem, T_FAR)`, `call(mem, T_FAR)` `retf()` for far absolute indirect jump. - vnni instructions such as vpdpbusd supports vex encoding. - (break backward compatibility) `push(byte, imm)` (resp. `push(word, imm)`) forces to cast `imm` to 8(resp. 16) bit. - (Windows) `#include ` has been removed from xbyak.h, so add it explicitly if you need it. - support exception-less mode see. [Exception-less mode](#exception-less-mode) - `XBYAK_USE_MMAP_ALLOCATOR` will be defined on Linux/macOS unless `XBYAK_DONT_USE_MMAP_ALLOCATOR` is defined. ### Supported OS - Windows (Xp, Vista, 7, 10, 11) (32 / 64 bit) - Linux (32 / 64 bit) - macOS (Intel CPU) ### Supported Compilers Almost C++03 or later compilers for x86/x64 such as Visual Studio, g++, clang++, Intel C++ compiler and g++ on mingw/cygwin. ## License [BSD-3-Clause License](http://opensource.org/licenses/BSD-3-Clause) ## Author #### 光成滋生 Mitsunari Shigeo  [GitHub](https://github.com/herumi) | [Website (Japanese)](http://herumi.in.coocan.jp/) | [herumi@nifty.com](mailto:herumi@nifty.com) ## Sponsors welcome [GitHub Sponsor](https://github.com/sponsors/herumi) [Badge Build]: https://github.com/herumi/xbyak/actions/workflows/main.yml/badge.svg [Build Status]: https://github.com/herumi/xbyak/actions/workflows/main.yml [License]: COPYRIGHT [Changelog]: doc/changelog.md [Install]: doc/install.md [Usage]: doc/usage.md ================================================ FILE: xbyak/readme.txt ================================================ C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 6.73 ----------------------------------------------------------------------------- ◎概要 これはx86, x64(AMD64, x86-64)のマシン語命令を生成するC++のクラスライブラリです。 プログラム実行時に動的にアセンブルすることが可能です。 ----------------------------------------------------------------------------- ◎特徴 ・ヘッダファイルオンリー xbyak.hをインクルードするだけですぐ利用することができます。 C++の枠組み内で閉じているため、外部アセンブラは不要です。 32bit/64bit両対応です。 対応ニーモニック:特権命令除くx86, MMX/MMX2/SSE/SSE2/SSE3/SSSE3/SSE4/FPU(一部)/AVX/AVX2/FMA/VEX-encoded GPR ・Windows Xp(32bit, 64bit), Windows 7/Linux(32bit, 64bit)/Intel Mac対応 Windows Xp, Windows 7上ではVC2008, VC2010, VC2012 Linux (kernel 3.8)上ではgcc 4.7.3, clang 3.3 Intel Mac などで動作確認をしています。 ※ and, orなどの代わりにand_, or_を使用してください。 and, orなどを使いたい場合は-fno-operator-namesをgcc/clangに指定してください。 ----------------------------------------------------------------------------- ◎準備 xbyak.h xbyak_bin2hex.h これらを同一のパスに入れてインクルードパスに追加してください。 Linuxではmake installで/usr/local/include/xbyakにコピーされます。 ----------------------------------------------------------------------------- ◎下位互換性の破れ * push byte, immまたはpush word, immが下位8bit, 16bitにキャストした値を使うように変更。 * (Windows) ``をincludeしなくなったので必要なら明示的にincludeしてください。 * XBYAK_USE_MMAP_ALLOCATORがデフォルトで有効になりました。従来の方式にする場合はXBYAK_DONT_USE_MMAP_ALLOCATORを定義してください。 * Xbyak::Errorの型をenumからclassに変更 ** 従来のenumの値をとるにはintにキャストしてください。 * (古い)Reg32eクラスを(新しい)Reg32eとRegExpに分ける。 ** (新しい)Reg32eはReg32かReg64 ** (新しい)RegExpは'Reg32e + (Reg32e|Xmm|Ymm) * scale + disp'の型 ----------------------------------------------------------------------------- ◎新機能 例外なしモード追加 XBYAK_NO_EXCEPTIONを定義してコンパイルするとgcc/clangで-fno-exceptionsオプションでコンパイルできます。 エラーは例外の代わりに`Xbyak::GetError()`で通達されます。 この値が0でなければ何か問題が発生しています。 この値は自動的に変更されないので`Xbyak::ClearError()`でリセットしてください。 `CodeGenerator::reset()`は`ClearError()`を呼びます。 MmapAllocator追加 これはUnix系OSでのみの仕様です。XBYAK_USE_MMAP_ALLOCATORを使うと利用できます。 デフォルトのAllocatorはメモリ確保時にposix_memalignを使います。 この領域に対するmprotectはmap countを減らします。 map countの最大値は/proc/sys/vm/max_map_countに書かれています。 デフォルトでは3万個ほどのXbyak::CodeGeneratorインスタンスを生成するとエラーになります。 test/mprotect_test.cppで確認できます。 これを避けるためにはmmapを使うMmapAllocatorを使ってください。 AutoGrowモード追加 これはメモリ伸長を動的に行うモードです。 今まではXbyak::CodeGenerator()に渡したメモリサイズを超えると例外が発生して いましたが、このモードでは内部でメモリを再確保して伸長します。 ただし、getCode()を呼び出す前にジャンプ命令のアドレス解決をするためにready() 関数を呼ぶ必要があります。 次のように使います。 struct Code : Xbyak::CodeGenerator { Code() : Xbyak::CodeGenerator(, Xbyak::AutoGrow) { ... } }; Code c; c.ready(); // この呼び出しを忘れてはいけない 注意1. ready()を呼んで確定するまではgetCurr()で得たポインタは無効化されている 可能性があります。getSize()でoffsetを保持しておきready()のあとにgetCode()を 呼び出してからgetCode() + offsetで新しいポインタを取得してください。 注意2. AutoGrowモードでは64bitモードの相対アドレッシング[rip]は非サポートです。 ----------------------------------------------------------------------------- ◎文法 Xbyak::CodeGeneratorクラスを継承し、そのクラスメソッド内でx86, x64アセンブラを 記述します。そのメソッドを呼び出した後、getCode()メソッドを呼び出し、その戻 り値を自分が使いたい関数ポインタに変換して利用します。アセンブルエラーは例外 により通知されます(cf. main.cpp)。 ・基本的にnasmの命令で括弧をつければよいです。 mov eax, ebx --> mov(eax, ebx); inc ecx inc(ecx); ret --> ret(); ・アドレッシング (ptr|dword|word|byte) [base + index * (1|2|4|8) + displacement] [rip + 32bit disp] ; x64 only という形で指定します。サイズを指定する必要がない限りptrを使えばよいです。 セレクター(セグメントレジスタ)をサポートしました。 (注意)セグメントレジスタはOperandを継承していません。 mov eax, [fs:eax] --> putSeg(fs); mov(eax, ptr [eax]); mov ax, cs --> mov(ax, cs); mov eax, [ebx+ecx] --> mov (eax, ptr[ebx+ecx]); test byte [esp], 4 --> test (byte [esp], 4); (注意) dword, word, byteはメンバ変数です。従ってたとえばunsigned intの つもりでdwordをtypedefしないでください。 ・AVX FMAについては簡略表記を導入するか検討中です(アイデア募集中)。 vaddps(xmm1, xmm2, xmm3); // xmm1 <- xmm2 + xmm3 vaddps(xmm2, xmm3, ptr [rax]); // メモリアクセスはptrで vfmadd231pd(xmm1, xmm2, xmm3); // xmm1 <- (xmm2 * xmm3) + xmm1 *注意* デスティネーションの省略形はサポートされなくなりました。 vaddps(xmm2, xmm3); // xmm2 <- xmm2 + xmm3 XBYAK_ENABLE_OMITTED_OPERANDを定義すると使えますが、将来はそれも非サポートになるでしょう。 ・AVX-512 vaddpd zmm2, zmm5, zmm30 --> vaddpd(zmm2, zmm5, zmm30); vaddpd xmm30, xmm20, [rax] --> vaddpd(xmm30, xmm20, ptr [rax]); vaddps xmm30, xmm20, [rax] --> vaddps(xmm30, xmm20, ptr [rax]); vaddpd zmm2{k5}, zmm4, zmm2 --> vaddpd(zmm2 | k5, zmm4, zmm2); vaddpd zmm2{k5}{z}, zmm4, zmm2 --> vaddpd(zmm2 | k5 | T_z, zmm4, zmm2); vaddpd zmm2{k5}{z}, zmm4, zmm2,{rd-sae} --> vaddpd(zmm2 | k5 | T_z, zmm4, zmm2 | T_rd_sae); vaddpd(zmm2 | k5 | T_z | T_rd_sae, zmm4, zmm2); // the position of `|` is arbitrary. vcmppd k4{k3}, zmm1, zmm2, {sae}, 5 --> vcmppd(k4 | k3, zmm1, zmm2 | T_sae, 5); vaddpd xmm1, xmm2, [rax+256]{1to2} --> vaddpd(xmm1, xmm2, ptr_b [rax+256]); vaddpd ymm1, ymm2, [rax+256]{1to4} --> vaddpd(ymm1, ymm2, ptr_b [rax+256]); vaddpd zmm1, zmm2, [rax+256]{1to8} --> vaddpd(zmm1, zmm2, ptr_b [rax+256]); vaddps zmm1, zmm2, [rax+rcx*8+8]{1to16} --> vaddps(zmm1, zmm2, ptr_b [rax+rcx*8+8]); vmovsd [rax]{k1}, xmm4 --> vmovsd(ptr [rax] | k1, xmm4); vcvtpd2dq xmm16, oword [eax+33] --> vcvtpd2dq(xmm16, xword [eax+33]); // use xword for m128 instead of oword vcvtpd2dq(xmm16, ptr [eax+33]); // default xword vcvtpd2dq xmm21, [eax+32]{1to2} --> vcvtpd2dq(xmm21, ptr_b [eax+32]); vcvtpd2dq xmm0, yword [eax+33] --> vcvtpd2dq(xmm0, yword [eax+33]); // use yword for m256 vcvtpd2dq xmm19, [eax+32]{1to4} --> vcvtpd2dq(xmm19, yword_b [eax+32]); // use yword_b to broadcast vfpclassps k5{k3}, zword [rax+64], 5 --> vfpclassps(k5|k3, zword [rax+64], 5); // specify m512 vfpclasspd k5{k3}, [rax+64]{1to2}, 5 --> vfpclasspd(k5|k3, xword_b [rax+64], 5); // broadcast 64-bit to 128-bit vfpclassps k5{k3}, [rax+64]{1to4}, 5 --> vfpclassps(k5|k3, xword_b [rax+64], 5); // broadcast 64-bit to 256-bit vpdpbusd(xm0, xm1, xm2); // default encoding is EVEX vpdpbusd(xm0, xm1, xm2, EvexEncoding); // same as the above vpdpbusd(xm0, xm1, xm2, VexEncoding); // VEX encoding setDefaultEncoding(VexEncoding); // default encoding is VEX vpdpbusd(xm0, xm1, xm2); // VEX encoding 注意 * k1, ..., k7 は新しいopmaskレジスタです。 * z, sae, rn-sae, rd-sae, ru-sae, rz-saeの代わりにT_z, T_sae, T_rn_sae, T_rd_sae, T_ru_sae, T_rz_saeを使ってください。 * `k4 | k3`と`k3 | k4`は意味が異なります。 * {1toX}の代わりにptr_bを使ってください。Xは自動的に決まります。 * 一部の命令はメモリサイズを指定するためにxword/yword/zword(_b)を使ってください。 * setDefaultEncoding()でencoding省略時のEVEX/VEXを設定できます。 ・ラベル L(文字列); で定義します。ジャンプするときはその文字列を指定します。後方参照も可能ですが、 相対アドレスが8ビットに収まらない場合はT_NEARをつけないと実行時に例外が発生 します。 mov(eax, "L2");の様にラベルが表すアドレスをmovの即値として使えます。 ・hasUndefinedLabel()を呼び出して真ならジャンプ先が存在しないことを示します。 コードを見直してください。 L("L1"); jmp ("L1"); jmp ("L2"); ... 少しの命令の場合。 ... L("L2"); jmp ("L3", T_NEAR); ... 沢山の命令がある場合 ... L("L3"); <応用編> 1. MASMライクな@@, @f, @bをサポート L("@@"); // jmp("@b"); // jmp to jmp("@f"); // jmp to L("@@"); // jmp("@b"); // jmp to mov(eax, "@b"); jmp(eax); // jmp to 2. ラベルの局所化 ピリオドで始まるラベルをinLocalLabel(), outLocalLabel()で挟むことで局所化できます。 inLocalLabel(), outLocalLabel()は入れ子にすることができます。 void func1() { inLocalLabel(); L(".lp"); // ; ローカルラベル ... jmp(".lp"); // jmpt to L("aaa"); // グローバルラベル outLocalLabel(); } void func2() { inLocalLabel(); L(".lp"); // ; ローカルラベル func1(); jmp(".lp"); // jmp to outLocalLabel(); } 上記サンプルではinLocalLabel(), outLocalLabel()が無いと、 ".lp"ラベルの二重定義エラーになります。 3. 新しいLabelクラスによるジャンプ命令 ジャンプ先を文字列による指定だけでなくラベルクラスを使えるようになりました。 Label label1, label2; L(label1); ... jmp(label1); ... jmp(label2); ... L(label2); 更にラベルの割り当てを行うassignL(dstLabel, srcLabel)という命令も追加されました。 Label label2; Label label1 = L(); // Label label1; L(label1);と同じ意味 ... jmp(label2); ... assignL(label2, label1); 上記jmp命令はlabel1にジャンプします。 制限 * srcLabelはL()により飛び先が確定していないといけません。 * dstLabelはL()により飛び先が確定していてはいけません。 ラベルは`getAddress()`によりそのアドレスを取得できます。 未定義のときは0が返ります。 ``` // not AutoGrow mode Label label; assert(label.getAddress(), 0); L(label); assert(label.getAddress(), getCurr()); ``` 4. farジャンプ `jmp(mem, T_FAR)`, `call(mem, T_FAR)`, `retf()`をサポートします。 サイズを明示するために`ptr`の代わりに`word|dword|qword`を利用してください。 32bit ``` jmp(word[eax], T_FAR); // jmp m16:16(FF /5) jmp(dword[eax], T_FAR); // jmp m16:32(FF /5) ``` 64bit ``` jmp(word[rax], T_FAR); // jmp m16:16(FF /5) jmp(dword[rax], T_FAR); // jmp m16:32(FF /5) jmp(qword[rax], T_FAR); // jmp m16:64(REX.W FF /5) ``` ・Xbyak::CodeGenerator()コンストラクタインタフェース @param maxSize [in] コード生成最大サイズ(デフォルト4096byte) @param userPtr [in] ユーザ指定メモリ CodeGenerator(size_t maxSize = DEFAULT_MAX_CODE_SIZE, void *userPtr = 0); デフォルトコードサイズは4096(=DEFAULT_MAX_CODE_SIZE)バイトです。 それより大きなコードを生成する場合はCodeGenerator()のコンストラクタに指定してください。 class Quantize : public Xbyak::CodeGenerator { public: Quantize() : CodeGenerator(8192) { } ... }; またユーザ指定メモリをコード生成最大サイズと共に指定すると、CodeGeneratorは 指定されたメモリ上にバイト列を生成します。 補助関数として指定されたアドレスの実行属性を変更するCodeArray::protect()と 与えられたポインタからアライメントされたポインタを取得するCodeArray::getAlignedAddress() も用意しました。詳細はsample/test0.cppのuse memory allocated by userを参考に してください。 /** change exec permission of memory @param addr [in] buffer address @param size [in] buffer size @param canExec [in] true(enable to exec), false(disable to exec) @return true(success), false(failure) */ bool CodeArray::protect(const void *addr, size_t size, bool canExec); /** get aligned memory pointer */ uint8 *CodeArray::getAlignedAddress(uint8 *addr, size_t alignedSize = ALIGN_SIZE); ・read/execモード デフォルトのCodeGeneratorはコンストラクト時にJIT用の領域をread/write/execモードに設定して利用します。 コード生成時はread/writeでコード実行時にはread/execにしたい場合、次のようにしてください。 struct Code : Xbyak::CodeGenerator { Code() : Xbyak::CodeGenerator(4096, Xbyak::DontUseProtect) // JIT領域をread/writeのままコード生成 { mov(eax, 123); ret(); } }; Code c; c.setProtectModeRE(); // read/execモードに変更 // JIT領域を実行 AutoGrowの場合はreadyの代わりにreadyRE()を読んでください。 struct Code : Xbyak::CodeGenerator { Code() : Xbyak::CodeGenerator(4096, Xbyak::AutoGrow) // JIT領域をread/writeのままコード生成 { mov(eax, 123); ret(); } }; Code c; c.readyRE(); // read/exeモードに変更 // JIT領域を実行 setProtectModeRW()を呼ぶと領域が元のread/execモードに戻ります。 その他詳細は各種サンプルを参照してください。 ----------------------------------------------------------------------------- ◎マクロ 32bit環境上でコンパイルするとXBYAK32が、64bit環境上でコンパイルするとXBYAK64が 定義されます。さらに64bit環境上ではWindows(VC)ならXBYAK64_WIN、cygwin, gcc上では XBYAK64_GCCが定義されます。 ----------------------------------------------------------------------------- ◎使用例 test0.cpp ; 簡単な例(x86, x64) quantize.cpp ; 割り算のJITアセンブルによる量子化の高速化(x86) calc.cpp ; 与えられた多項式をアセンブルして実行(x86, x64) boost(http://www.boost.org/)が必要 bf.cpp ; JIT Brainfuck(x86, x64) ----------------------------------------------------------------------------- ◎ライセンス 修正された新しいBSDライセンスに従います。 http://opensource.org/licenses/BSD-3-Clause sample/{echo,hello}.bfは http://www.kmonos.net/alang/etc/brainfuck.php から いただきました。 ----------------------------------------------------------------------------- ◎履歴 2023/08/07 ver 6.73 sha512/sm3/sm4/avx-vnni-int16追加 2023/08/02 ver 6.72 xabort, xbegin, xend追加 2023/07/27 ver 6.71 Allocatorでhuge pageを考慮する。 2023/07/05 ver 6.70 vpclmulqdqのailas追加 2023/06/27 ver 6.69.2 `TypeT operator|`にconstexpr追加(thanks to Wunkolo) 2023/03/23 ver 6.69.1 xsave判定追加(thanks to Wunkolo) 2023/02/20 ver 6.69 util::CpuがAMD対応 UINTR命令対応 2022/12/07 ver 6.68 prefetchit{0,1}サポート 2022/11/30 ver 6.67 CMPccXADDサポート 2022/11/25 ver 6.66 RAO-INTサポート 2022/11/22 ver 6.65 x32動作確認 2022/11/04 ver 6.64 vmov*命令をmaskつきアドレッシング対応修正 2022/10/06 ver 6.63 AVX-IFMA用のvpmadd52{h,l}uq対応 2022/10/05 amx_fp16/avx_vnni_int8/avx_ne_convertt対応とsetDefaultEncoding()追加 2022/09/15 ver 6.62 serialize追加 2022/08/02 ver 6.61.1 noexceptはVisual Studio 2015以降対応 2022/07/29 ver 6.61 movzx eax, ahがエラーになるのを修正 2022/06/16 ver 6.60.2 GFNI, VAES, VPCLMULQDQの判定修正 2022/06/15 ver 6.60.1 Visual Studio /O0でXbyak::util::Cpuがリンクエラーになるのに対応 2022/06/06 ver 6.60 バージョンのつけ方を数値が戻らないように変更 2022/06/01 ver 6.06 Cpu::TypeクラスのリファクタリングとXBYAK_USE_MEMFDが定義されたときのMmapAllocatorの改善 2022/05/20 ver 6.052 Cpu::operator==()を正しく定義 2022/05/13 ver 6.051 XYBAK_NO_EXCEPTIONを定義したときのCpuクラスのコンパイルエラー修正 2022/05/12 ver 6.05 movdiri, movdir64b, clwb, cldemoteを追加 2022/04/05 ver 6.04 tpause, umonitor, umwaitを追加 2022/03/08 ver 6.03 MmapAllocatorがmemfd用のユーザ定義文字列をサポート 2022/01/28 ver 6.02 dispacementの32bit範囲チェックの厳密化 2021/12/14 ver 6.01 T_FAR jump/callとretfをサポート 2021/09/14 ver 6.00 AVX512-FP16を完全サポート 2021/09/09 ver 5.997 vrndscale*を{sae}をサポートするよう修正 2021/09/03 ver 5.996 v{add,sub,mul,div,max,min}{sd,ss}をT_rd_saeなどをサポートするよう修正 2021/08/15 ver 5.995 Linux上でXBYAK_USE_MEMFDが定義されたなら/proc/self/mapsにラベル追加 2021/06/17 ver 5.994 マスクレジスタ用のvcmpXX{ps,pd,ss,sd}のalias追加 2021/06/06 ver 5.993 gather/scatterのレジスタの組み合わせの厳密なチェック 2021/05/09 ver 5.992 endbr32とendbr64のサポート 2020/11/16 ver 5.991 g++-5のC++14でconstexpr機能の抑制 2020/10/19 ver 5.99 VNNI命令サポート(Thanks to akharito) 2020/10/17 ver 5.98 [scale * reg]のサポート 2020/09/08 ver 5.97 uint32などをuint32_tに置換 2020/08/28 ver 5.95 レジスタクラスのコンストラクタがconstexprに対応(C++14以降) 2020/08/04 ver 5.941 `CodeGenerator::reset()`が`ClearError()`を呼ぶように変更 2020/07/28 ver 5.94 #include の削除 (only windows) 2020/07/21 ver 5.93 例外なしモード追加 2020/06/30 ver 5.92 Intel AMX命令サポート (Thanks to nshustrov) 2020/06/19 ver 5.913 32ビット環境でXBYAK64を定義したときのmov(r64, imm64)を修正 2020/06/19 ver 5.912 macOSの古いXcodeでもMAP_JITを有効にする(Thanks to rsdubtso) 2020/05/10 ver 5.911 Linux/macOSでXBYAK_USE_MMAP_ALLOCATORがデフォルト有効になる 2020/04/20 ver 5.91 マスクレジスタk0を受け入れる(マスクをしない) 2020/04/09 ver 5.90 kmov{b,w,d,q}がサポートされないレジスタを受けると例外を投げる 2020/02/26 ver 5.891 zm0のtype修正 2020/01/03 ver 5.89 vfpclasspdの処理エラー修正 2019/12/20 ver 5.88 Windowsでのコンパイルエラー修正 2019/12/19 ver 5.87 未定義ラベルへのjmp命令のデフォルト挙動をT_NEARにするsetDefaultJmpNEAR()を追加 2019/12/13 ver 5.86 [変更] -fno-operator-namesが指定されたときは5.84以前の挙動に戻す 2019/12/07 ver 5.85 mmapにMAP_JITフラグを追加(macOS mojave以上) 2019/11/29 ver 5.84 [変更] XBYAK_USE_OP_NAMESが定義されていない限りXBYAK_NO_OP_NAMESが定義されるように変更 2019/10/12 ver 5.83 exit(1)の除去 2019/09/23 ver 5.82 monitorx, mwaitx, clzero対応 (thanks to MagurosanTeam) 2019/09/14 ver 5.81 いくつかの一般命令をサポート 2019/08/01 ver 5.802 AVX512_BF16判定修正 (thanks to vpirogov) 2019/05/27 support vp2intersectd, vp2intersectq (not tested) 2019/05/26 ver 5.80 support vcvtne2ps2bf16, vcvtneps2bf16, vdpbf16ps 2019/04/27 ver 5.79 vcmppd/vcmppsのptr_b対応忘れ(thanks to jkopinsky) 2019/04/15 ver 5.78 Reg::changeBit()のリファクタリング(thanks to MerryMage) 2019/03/06 ver 5.77 LLCキャッシュを共有数CPU数の修整(by densamoilov) 2019/01/17 ver 5.76 Cpu::getNumCores()追加(by shelleygoel) 2018/10/31 ver 5.751 互換性のためにXbyak::CastToの復元 2018/10/29 ver 5.75 LabelManagerのデストラクタでLabelから参照を切り離す 2018/10/21 ver 5.74 RegRip +/intの形をサポート Xbyak::CastToを削除 2018/10/15 util::StackFrameでmovの代わりにpush/popを使う 2018/09/19 ver 5.73 vpslld, vpslldq, vpsllwなどの(reg, mem, imm8)に対するevexエンコーディング修整 2018/09/19 ver 5.72 fix the encoding of vinsertps for disp8N(Thanks to petercaday) 2018/08/27 ver 5.71 新しいlabelインスタンスを返すL()を追加 2018/08/27 ver 5.70 read/exec設定のためのsetProtectMode()とDontUseProtectの追加 2018/08/24 ver 5.68 indexが16以上のVSIBエンコーディングのバグ修正(thanks to petercaday) 2018/08/14 ver 5.67 Addressクラス内のmutableを削除 ; fix setCacheHierarchy for cloud vm 2018/07/26 ver 5.661 mingw64対応 2018/07/24 ver 5.66 protect()のmodeにCodeArray::PROTECT_REを追加 2018/06/26 ver 5.65 fix push(qword [mem]) 2018/03/07 ver 5.64 Cpu()の中でzero divisionが出ることがあるのを修正 2018/02/14 ver 5.63 Cpu::setCacheHierarchy()の修正とclang<3.9のためのEvexModifierZero修正(thanks to mgouicem) 2018/02/13 ver 5.62 Cpu::setCacheHierarchy() by mgouicem and rsdubtso 2018/02/07 ver 5.61 vmov*がmem{k}{z}形式対応(忘れてた) 2018/01/24 ver 5.601 xword, ywordなどをXbyak::util名前空間に追加 2018/01/05 ver 5.60 Ice lake系命令対応(319433-030.pdf) 2017/08/22 ver 5.53 mpxエンコーディングバグ修正, bnd()プレフィクス追加 2017/08/18 ver 5.52 align修正(thanks to MerryMage) 2017/08/17 ver 5.51 multi-byte nop追加 align()はそれを使用する(thanks to inolen) 2017/08/08 ver 5.50 mpx追加(thanks to magurosan) 2017/08/08 ver 5.45 sha追加(thanks to magurosan) 2017/08/08 ver 5.44 prefetchw追加(thanks to rsdubtso) 2017/07/12 ver 5.432 PVS-studioの警告を減らす 2017/07/09 ver 5.431 hasRex()修正 (影響なし) (thanks to drillsar) 2017/05/14 ver 5.43 CodeGenerator::resetSize()修正(thanks to gibbed) 2017/05/13 ver 5.42 movs{b,w,d,q}追加 2017/01/26 ver 5.41 prefetcwt1追加とscale == 0対応(thanks to rsdubtso) 2016/12/14 ver 5.40 Labelが示すアドレスを取得するLabel::getAddress()追加 2016/12/07 ver 5.34 disp8N時の負のオフセット処理の修正(thanks to rsdubtso) 2016/12/06 ver 5.33 disp8N時のvpbroadcast{b,w,d,q}, vpinsr{b,w}, vpextr{b,w}のバグ修正 2016/12/01 ver 5.32 clang for Visual Studioサポートのために__xgetbv()を_xgetbv()に変更(thanks to freiro) 2016/11/27 ver 5.31 AVX512_4VNNIをAVX512_4VNNIWに変更 2016/11/27 ver 5.30 AVX512_4VNNI, AVX512_4FMAPS命令の追加(thanks to rsdubtso) 2016/11/26 ver 5.20 AVX512_4VNNIとAVX512_4FMAPSの判定追加(thanks to rsdubtso) 2016/11/20 ver 5.11 何故か消えていたvptest for ymm追加(thanks to gregory38) 2016/11/20 ver 5.10 [rip+&var]の形のアドレッシング追加 2016/09/29 ver 5.03 ERR_INVALID_OPMASK_WITH_MEMORYの判定ミス修正(thanks to PVS-Studio) 2016/08/15 ver 5.02 xbyak_bin2hex.hをincludeしない 2016/08/15 ver 5.011 gcc 5.4のバージョン取得ミスの修正 2016/08/03 ver 5.01 AVXの省略表記非サポート 2016/07/24 ver 5.00 avx-512フルサポート 2016/06/13 avx-512 opmask命令サポート 2016/05/05 ver 4.91 AVX-512命令の検出サポート 2016/03/14 ver 4.901 ready()関数にコメント加筆(thanks to skmp) 2016/02/04 ver 4.90 条件分岐命令にjcc(const void *addr);のタイプを追加 2016/01/30 ver 4.89 vpblendvbがymmレジスタをサポートしていなかった(thanks to John Funnell) 2016/01/24 ver 4.88 lea, cmovの16bitレジスタ対応(thanks to whyisthisfieldhere) 2015/08/16 ver 4.87 セグメントセレクタに対応 2015/08/16 ver 4.86 [rip + label]アドレッシングで即値を使うと壊れる(thanks to whyisthisfieldhere) 2015/08/10 ver 4.85 Address::operator==()が間違っている(thanks to inolen) 2015/07/22 ver 4.84 call()がvariadic template対応 2015/05/24 ver 4.83 mobveサポート(thanks to benvanik) 2015/05/24 ver 4.82 F16Cが使えるかどうかの判定追加 2015/04/25 ver 4.81 setSizeが例外を投げる条件を修正(thanks to whyisthisfieldhere) 2015/04/22 ver 4.80 rip相対でLabelのサポート(thanks to whyisthisfieldhere) 2015/01/28 ver 4.71 adcx, adox, cmpxchg, rdseed, stacのサポート 2014/10/14 ver 4.70 MmapAllocatorのサポート 2014/06/13 ver 4.62 VC2014で警告抑制 2014/05/30 ver 4.61 bt, bts, btr, btcのサポート 2014/05/28 ver 4.60 vcvtph2ps, vcvtps2phのサポート 2014/04/11 ver 4.52 rdrandの判定追加 2014/03/25 ver 4.51 参照されなくなったラベルの状態を削除する 2014/03/16 ver 4.50 新しいラベルクラスのサポート 2014/03/05 ver 4.40 VirtualBox上でBMI/enhanced repのサポート判定を間違うことがあるのを修正 2013/12/03 ver 4.30 Reg::cvt8(), cvt16(), cvt32()のサポート 2013/10/16 ver 4.21 ラベルでstd::stringを受け付ける。 2013/07/30 ver 4.20 [break backward compatibility] 従来のReg32eクラスをアドレッシング用のRegExpとReg32, Reg64を表すReg32eに分離 2013/07/04 ver 4.10 [break backward compatibility] Xbyak::Errorの型をenumからclassに変更 2013/06/21 ver 4.02 LABELの指すアドレスを書き込むputL(LABEL)関数の追加。 2013/06/21 ver 4.01 vpsllw, vpslld, vpsllq, vpsraw, vpsrad, vpsrlw, vpsrld, vpsrlq support (ymm, ymm, xmm) support vpbroadcastb, vpbroadcastw, vpbroadcastd, vpbroadcastq(thanks to Gabest) 2013/05/30 ver 4.00 AVX2, VEX-encoded GPR-instructionをサポート 2013/03/27 ver 3.80 mov(reg, "label");をサポート 2013/03/13 ver 3.76 cqo, jcxz, jecxz, jrcxz追加 2013/01/15 ver 3.75 生成されたコードを修正するためにsetSize()を追加 2013/01/12 ver 3.74 CodeGenerator::reset()とAllocator::useProtect()を追加 2013/01/06 ver 3.73 可能ならunordered_mapを使う 2012/12/04 ver 3.72 eaxなどをCodeGeneratorのメンバ変数に戻す. Xbyak::util::eaxはstatic const変数 2012/11/17 ver 3.71 and_(), or_(), xor_(), not_()をXBYAK_NO_OP_NAMESが定義されていないときでも使えるようにした 2012/11/17 CodeGeneratorのeax, ecx, ptrなどのメンバ変数をstaticにし、const参照をXbyak::utilにも定義 2012/11/09 ver 3.70 and()をand_()にするためのマクロXBYAK_NO_OP_NAMESを追加(thanks to Mattias) 2012/11/01 ver 3.62 add fwait/fnwait/finit/fninit 2012/11/01 ver 3.61 add fldcw/fstcw 2012/05/03 ver 3.60 Allocatorクラスのインタフェースを変更 2012/03/23 ver 3.51 userPtrモードがバグったのを修正 2012/03/19 ver 3.50 AutoGrowモードサポート 2011/11/09 ver 3.05 rip相対の64bitサイズ以外の扱いのバグ修正 / movsxdサポート 2011/08/15 ver 3.04 add(dword [ebp-8], 0xda);などにおけるimm8の扱いのバグ修正(thanks to lolcat) 2011/06/16 ver 3.03 Macのgcc上での__GNUC_PREREQがミスってたのを修正(thanks to t_teruya) 2011/04/28 ver 3.02 Macのgcc上ではxgetbvをdisable 2011/03/24 ver 3.01 fix typo of OSXSAVE 2011/03/23 ver 3.00 vcmpeqpsなどを追加 2011/02/16 ver 2.994 beta add vmovq for 32-bit mode(I forgot it) 2011/02/16 ver 2.993 beta remove cvtReg to avoid thread unsafe 2011/02/10 ver 2.992 beta support one argument syntax for fadd like nasm 2011/02/07 ver 2.991 beta fix pextrw reg, xmm, imm(Thanks to Gabest) 2011/02/04 ver 2.99 beta support AVX 2010/12/08 ver 2.31 fix ptr [rip + 32bit offset], support rtdscp 2010/10/19 ver 2.30 support pclmulqdq, aesdec, aesdeclast, aesenc, aesenclast, aesimc, aeskeygenassist 2010/07/07 ver 2.29 fix call(