Initial commit

This commit is contained in:
ApfelTeeSaft
2025-06-24 07:28:52 +02:00
commit 568da50061
3897 changed files with 1028940 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
# Auto detect text files and perform LF normalization
* text=auto
+398
View File
@@ -0,0 +1,398 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Mono auto generated files
mono_crash.*
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/
# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# Visual Studio 2017 auto generated files
Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# Benchmark Results
BenchmarkDotNet.Artifacts/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
# ASP.NET Scaffolding
ScaffoldingReadMe.txt
# StyleCop
StyleCopReport.xml
# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.tlog
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# Visual Studio Trace Files
*.e2e
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json
# Coverlet is a free, cross platform Code Coverage Tool
coverage*.json
coverage*.xml
coverage*.info
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio 6 auto-generated project file (contains which files were open etc.)
*.vbp
# Visual Studio 6 workspace and project file (working project files containing files to include in project)
*.dsw
*.dsp
# Visual Studio 6 technical files
*.ncb
*.aps
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# CodeRush personal settings
.cr/personal
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Tabs Studio
*.tss
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
*.binlog
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
.mfractor/
# Local History for Visual Studio
.localhistory/
# Visual Studio History (VSHistory) files
.vshistory/
# BeatPulse healthcheck temp database
healthchecksdb
# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/
# Ionide (cross platform F# VS Code tools) working folder
.ionide/
# Fody - auto-generated XML schema
FodyWeavers.xsd
# VS Code files for those working on multiple tools
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace
# Local History for Visual Studio Code
.history/
# Windows Installer files from build outputs
*.cab
*.msi
*.msix
*.msm
*.msp
# JetBrains Rider
*.sln.iml
+31
View File
@@ -0,0 +1,31 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.14.36127.28 d17.14
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Blizzard", "Blizzard\Blizzard.vcxproj", "{3EF6C28D-01DC-4A62-ABF9-533DF5E127BC}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3EF6C28D-01DC-4A62-ABF9-533DF5E127BC}.Debug|x64.ActiveCfg = Debug|x64
{3EF6C28D-01DC-4A62-ABF9-533DF5E127BC}.Debug|x64.Build.0 = Debug|x64
{3EF6C28D-01DC-4A62-ABF9-533DF5E127BC}.Debug|x86.ActiveCfg = Debug|Win32
{3EF6C28D-01DC-4A62-ABF9-533DF5E127BC}.Debug|x86.Build.0 = Debug|Win32
{3EF6C28D-01DC-4A62-ABF9-533DF5E127BC}.Release|x64.ActiveCfg = Release|x64
{3EF6C28D-01DC-4A62-ABF9-533DF5E127BC}.Release|x64.Build.0 = Release|x64
{3EF6C28D-01DC-4A62-ABF9-533DF5E127BC}.Release|x86.ActiveCfg = Release|Win32
{3EF6C28D-01DC-4A62-ABF9-533DF5E127BC}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {2FF39792-2E62-4AD4-B752-AD4AA0F5B01A}
EndGlobalSection
EndGlobal
+64
View File
@@ -0,0 +1,64 @@
#pragma once
#include "SDK.hpp"
#include "FN_Basic.hpp"
#include "Globals.h"
namespace ActorNamespace
{
bool (*InternalTryActivateAbility)(SDK::UAbilitySystemComponent*, SDK::FGameplayAbilitySpecHandle, SDK::FPredictionKey, SDK::UGameplayAbility**, void*, const SDK::FGameplayEventData* TriggerEventData);
SDK::AActor* (*SpawnActorInternal)(SDK::UWorld*, SDK::UClass*, SDK::FTransform, SDK::FActorSpawnParameters);
inline SDK::FQuat RotatorToQuat(const SDK::FRotator& Rotation)
{
auto DEG_TO_RAD = 3.14159 / 180;
auto DIVIDE_BY_2 = DEG_TO_RAD / 2;
auto SP = sin(Rotation.Pitch * DIVIDE_BY_2);
auto CP = cos(Rotation.Pitch * DIVIDE_BY_2);
auto SY = sin(Rotation.Yaw * DIVIDE_BY_2);
auto CY = cos(Rotation.Yaw * DIVIDE_BY_2);
auto SR = sin(Rotation.Roll * DIVIDE_BY_2);
auto CR = cos(Rotation.Roll * DIVIDE_BY_2);
SDK::FQuat Quat;
Quat.X = CR * SP * SY - SR * CP * CY;
Quat.Y = -CR * SP * CY - SR * CP * SY;
Quat.Z = CR * CP * SY - SR * SP * CY;
Quat.W = CR * CP * CY + SR * SP * SY;
return Quat;
}
template<typename T = SDK::AActor>
T* SpawnActor(SDK::FVector Location, SDK::FRotator Rotation, SDK::UClass* ActorClass)
{
SDK::FTransform Transform;
Transform.Rotation = RotatorToQuat(Rotation);
Transform.Scale3D = { 1, 1, 1 };
Transform.Translation = Location;
return (T*)SpawnActorInternal(Globals::GetWorld(), ActorClass, Transform, SDK::FActorSpawnParameters());
}
template<typename T = SDK::AActor>
T* SpawnActor(SDK::UClass* ActorClass, SDK::FVector Location, SDK::FRotator Rotation = {})
{
SDK::FTransform Transform;
Transform.Rotation = RotatorToQuat(Rotation);
Transform.Scale3D = { 1, 1, 1 };
Transform.Translation = Location;
return (T*)SpawnActorInternal(Globals::GetWorld(), ActorClass, Transform, SDK::FActorSpawnParameters());
}
template<typename T = SDK::AActor>
T* SpawnActor(SDK::UClass* ActorClass, SDK::FVector Location)
{
return SpawnActor<T>(ActorClass, Location, SDK::FRotator{});
}
void Initialize()
{
SpawnActorInternal = decltype(SpawnActorInternal)(Globals::GetAddress(0x20B1240));
InternalTryActivateAbility = decltype(InternalTryActivateAbility)(Globals::GetAddress(0x4DD2F0));
auto NewCheatManager = SDK::UGameplayStatics::GetDefaultObj()->SpawnObject(SDK::UCheatManager::StaticClass(), Globals::GetEngine()->GameInstance->LocalPlayers[0]->PlayerController);
Globals::GetEngine()->GameInstance->LocalPlayers[0]->PlayerController->CheatManager = (SDK::UCheatManager*)(NewCheatManager);
}
}
+163
View File
@@ -0,0 +1,163 @@
#pragma once
#include "Inventory.h"
#include "SDK.hpp"
#include "Globals.h"
#include "Actor.h"
#include "Logging.h"
#include "Replication.h"
namespace Beacons
{
SDK::AOnlineBeaconHost* Beacon;
bool (*InitHost)(SDK::AOnlineBeaconHost*);
__int64(*WelcomePlayer)(SDK::UWorld* This, SDK::UNetConnection* NetConnection);
SDK::APlayerController* (*SpawnPlayActor)(SDK::UWorld* a1, SDK::UPlayer* a2, SDK::ENetRole a3, SDK::FURL a4, void* a5, SDK::FString& Src, uint8_t a7);
void(*UWorld_NotifyControlMessage)(SDK::UWorld* World, SDK::UNetConnection* NetConnection, uint8_t a3, void* a4);
void (*TickFlush)(SDK::UNetDriver*, float DeltaSeconds);
void (*NotifyActorDestroyed)(SDK::UNetDriver*, SDK::AActor*, bool);
SDK::FVector GetPlayerStart();
void __fastcall AOnlineBeaconHost_NotifyControlMessageHook(SDK::AOnlineBeaconHost* BeaconHost, SDK::UNetConnection* NetConnection, uint8_t a3, void* a4);
void NotifyActorDestroyedHook(SDK::UNetDriver* NetDriver, SDK::AActor* Actor, bool IsSeamlessTravel);
void TickFlushHook(SDK::UNetDriver* NetDriver, float DeltaSeconds);
__int64 KickPatch(__int64, __int64);
__int64 __fastcall WelcomePlayerHook(SDK::UWorld*, SDK::UNetConnection* NetConnection);
SDK::APlayerController* SpawnPlayActorHook(SDK::UWorld*, SDK::UNetConnection* Connection, SDK::ENetRole NetRole, SDK::FURL a4, void* a5, SDK::FString& Src, uint8_t a7);
void InitHooks();
inline SDK::FVector GetPlayerStart()
{
SDK::TArray<SDK::AActor*> OutActors;
SDK::UGameplayStatics::GetDefaultObj()->GetAllActorsOfClass(Globals::GetWorld(), SDK::APlayerStart::StaticClass(), &OutActors);
return OutActors[rand() % OutActors.Num()]->K2_GetActorLocation();
}
inline void __fastcall AOnlineBeaconHost_NotifyControlMessageHook(SDK::AOnlineBeaconHost* BeaconHost, SDK::UNetConnection* NetConnection, uint8_t a3, void* a4)
{
if (std::to_string(a3) == "4") {
NetConnection->CurrentNetSpeed = 30000;
return;
}
return UWorld_NotifyControlMessage(Globals::GetWorld(), NetConnection, a3, a4);
}
inline void NotifyActorDestroyedHook(SDK::UNetDriver* NetDriver, SDK::AActor* Actor, bool IsSeamlessTravel)
{
for (int i = 0; i < NetDriver->ClientConnections.Num(); i++)
{
auto Connection = NetDriver->ClientConnections[i];
if (Connection)
{
auto ActorChannel = Replication::FindChannel(Actor, Connection);
if (!ActorChannel)
return;
if (ActorChannel)
{
Replication::ActorChannelClose(ActorChannel);
}
}
}
return;
}
inline void TickFlushHook(SDK::UNetDriver* NetDriver, float DeltaSeconds)
{
Replication::ReplicateActors(NetDriver);
return TickFlush(NetDriver, DeltaSeconds);
}
inline __int64 KickPatch(__int64, __int64)
{
return 0;
}
inline __int64 __fastcall WelcomePlayerHook(SDK::UWorld*, SDK::UNetConnection* NetConnection)
{
return WelcomePlayer(Globals::GetWorld(), NetConnection);
}
inline SDK::APlayerController* SpawnPlayActorHook(SDK::UWorld*, SDK::UNetConnection* Connection, SDK::ENetRole NetRole, SDK::FURL a4, void* a5, SDK::FString& Src, uint8_t a7)
{
auto PlayerController = (SDK::AFortPlayerControllerAthena*)SpawnPlayActor(Globals::GetWorld(), Connection, NetRole, a4, a5, Src, a7);
Connection->PlayerController = PlayerController;
PlayerController->NetConnection = Connection;
Connection->OwningActor = PlayerController;
auto Pawn = (SDK::APlayerPawn_Athena_C*)(ActorNamespace::SpawnActor(SDK::APlayerPawn_Athena_C::StaticClass(), GetPlayerStart(), {}));
Pawn->SetOwner(PlayerController);
PlayerController->Possess(Pawn);
PlayerController->ClientForceProfileQuery();
Pawn->OnRep_CustomizationLoadout();
Pawn->ServerChoosePart(SDK::EFortCustomPartType::Head, SDK::UObject::FindObject<SDK::UCustomCharacterPart>("CustomCharacterPart F_Med_Head1.F_Med_Head1"));
Pawn->ServerChoosePart(SDK::EFortCustomPartType::Body, SDK::UObject::FindObject<SDK::UCustomCharacterPart>("CustomCharacterPart F_Med_Soldier_01.F_Med_Soldier_01"));
((SDK::AFortPlayerStateAthena*)Pawn->PlayerState)->OnRep_CharacterParts();
Pawn->CharacterMovement->bReplicates = true;
Pawn->SetReplicateMovement(true);
Pawn->OnRep_ReplicatedBasedMovement();
Pawn->OnRep_ReplicatedMovement();
PlayerController->bHasServerFinishedLoading = true;
PlayerController->OnRep_bHasServerFinishedLoading();
auto PlayerState = (SDK::AFortPlayerStateAthena*)(PlayerController->PlayerState);
PlayerState->TeamIndex = SDK::EFortTeam::HumanPvP_Team69;
PlayerState->SquadId = 70;
PlayerState->OnRep_SquadId();
PlayerState->OnRep_PlayerTeam();
PlayerState->bHasFinishedLoading = true;
PlayerState->bHasStartedPlaying = true;
PlayerState->OnRep_bHasStartedPlaying();
PlayerState->OnRep_CharacterParts();
auto NewCheatManager = (SDK::UFortCheatManager*)(SDK::UGameplayStatics::GetDefaultObj()->SpawnObject(SDK::UFortCheatManager::StaticClass(), PlayerController));
PlayerController->CheatManager = NewCheatManager;
InventoryNamespace::SetupInventory(PlayerController);
InventoryNamespace::UpdateInventory(PlayerController);
PlayerState->OnRep_HeroType();
PlayerController->ClientRestart(Pawn);
return PlayerController;
}
inline void InitHooks()
{
Replication::InitOffsets();
Globals::CreateHook(Globals::GetAddress(0x317BF0), AOnlineBeaconHost_NotifyControlMessageHook, nullptr);
Globals::CreateHook(Globals::GetAddress(0x23BCB00), WelcomePlayerHook, (void**)(&WelcomePlayer));
Globals::CreateHook(Globals::GetAddress(0x20B2CA0), SpawnPlayActorHook, (void**)(&SpawnPlayActor));
Globals::CreateHook(Globals::GetAddress(0xC98310), KickPatch, nullptr);
Beacon = (SDK::AOnlineBeaconHost*)(ActorNamespace::SpawnActor(SDK::AOnlineBeaconHost::StaticClass(), {}, {}));
Beacon->ListenPort = 7777;
if (InitHost(Beacon))
{
Beacon->NetDriver->World = Globals::GetWorld();
Globals::GetWorld()->LevelCollections[0].NetDriver = Beacon->NetDriver;
Globals::GetWorld()->LevelCollections[1].NetDriver = Beacon->NetDriver;
((SDK::AOnlineBeacon*)Beacon)->BeaconState = 0;
Globals::CreateHook(Globals::GetAddress(0x2118B40), TickFlushHook, (void**)(&TickFlush));
Globals::CreateHook(Globals::GetAddress(0x21107D0), NotifyActorDestroyedHook, (void**)(&NotifyActorDestroyed));
Logging::Log(ELogEvent::Info, ELogType::Athena, "Server is now Listening!");
}
}
}
+172
View File
@@ -0,0 +1,172 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{3ef6c28d-01dc-4a62-abf9-533df5e127bc}</ProjectGuid>
<RootNamespace>Blizzard</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;BLIZZARD_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<LanguageStandard>stdcpp20</LanguageStandard>
<LanguageStandard_C>stdc17</LanguageStandard_C>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;BLIZZARD_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<LanguageStandard>stdcpp20</LanguageStandard>
<LanguageStandard_C>stdc17</LanguageStandard_C>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;BLIZZARD_EXPORTS;_WINDOWS;_USRDLL;_ALLOW_KEYWORD_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<LanguageStandard>stdcpp20</LanguageStandard>
<LanguageStandard_C>stdc17</LanguageStandard_C>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;BLIZZARD_EXPORTS;_WINDOWS;_USRDLL;_ALLOW_KEYWORD_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<LanguageStandard>stdcpp20</LanguageStandard>
<LanguageStandard_C>stdc17</LanguageStandard_C>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="Actor.h" />
<ClInclude Include="Beacon.h" />
<ClInclude Include="FN_Basic.hpp" />
<ClInclude Include="framework.h" />
<ClInclude Include="Globals.h" />
<ClInclude Include="Inventory.h" />
<ClInclude Include="Logging.h" />
<ClInclude Include="ProcessEvent.h" />
<ClInclude Include="Replication.h" />
<ClInclude Include="Types.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\Dumper-7\4.20.0-3889387+++Fortnite+Release-2.5-FortniteGame\CppSDK\SDK\Basic.cpp" />
<ClCompile Include="..\..\..\Dumper-7\4.20.0-3889387+++Fortnite+Release-2.5-FortniteGame\CppSDK\SDK\CoreUObject_functions.cpp" />
<ClCompile Include="..\..\..\Dumper-7\4.20.0-3889387+++Fortnite+Release-2.5-FortniteGame\CppSDK\SDK\Engine_functions.cpp" />
<ClCompile Include="..\..\..\Dumper-7\4.20.0-3889387+++Fortnite+Release-2.5-FortniteGame\CppSDK\SDK\FortniteGame_functions.cpp" />
<ClCompile Include="dllmain.cpp" />
<ClCompile Include="MinHook\src\buffer.c" />
<ClCompile Include="MinHook\src\hde\hde32.c" />
<ClCompile Include="MinHook\src\hde\hde64.c" />
<ClCompile Include="MinHook\src\hook.c" />
<ClCompile Include="MinHook\src\trampoline.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
+84
View File
@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="MinHook">
<UniqueIdentifier>{ef3d5cdc-2298-460e-9db5-b1c90062564c}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="framework.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Globals.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Logging.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Types.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="FN_Basic.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Actor.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ProcessEvent.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Beacon.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Inventory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Replication.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="dllmain.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="MinHook\src\buffer.c">
<Filter>MinHook</Filter>
</ClCompile>
<ClCompile Include="MinHook\src\hook.c">
<Filter>MinHook</Filter>
</ClCompile>
<ClCompile Include="MinHook\src\trampoline.c">
<Filter>MinHook</Filter>
</ClCompile>
<ClCompile Include="MinHook\src\hde\hde64.c">
<Filter>MinHook</Filter>
</ClCompile>
<ClCompile Include="MinHook\src\hde\hde32.c">
<Filter>MinHook</Filter>
</ClCompile>
<ClCompile Include="..\..\..\Dumper-7\4.20.0-3889387+++Fortnite+Release-2.5-FortniteGame\CppSDK\SDK\FortniteGame_functions.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\Dumper-7\4.20.0-3889387+++Fortnite+Release-2.5-FortniteGame\CppSDK\SDK\Engine_functions.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\Dumper-7\4.20.0-3889387+++Fortnite+Release-2.5-FortniteGame\CppSDK\SDK\CoreUObject_functions.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\Dumper-7\4.20.0-3889387+++Fortnite+Release-2.5-FortniteGame\CppSDK\SDK\Basic.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>
+94
View File
@@ -0,0 +1,94 @@
#pragma once
#include "SDK.hpp"
#include "UnrealContainers.hpp"
#include <string>
namespace SDK
{
inline void (*FNameToString)(SDK::FName* This, UC::FString& OutStr);
inline void (*FreeInternal)(__int64);
inline std::string GetFNameString(SDK::FName* fname)
{
if (!fname)
return "";
UC::FString temp;
SDK::FNameToString(fname, temp);
wchar_t* data = *reinterpret_cast<wchar_t**>(&temp);
if (!data)
return "";
auto wName = std::wstring(data);
auto name = std::string(wName.begin(), wName.end());
SDK::FreeInternal((__int64)data);
auto pos = name.rfind('/');
if (pos == std::string::npos)
{
return name;
}
return name.substr(pos + 1);
}
enum class ESpawnActorNameMode : uint8_t
{
Required_Fatal,
Required_ErrorAndReturnNull,
Required_ReturnNull,
Requested
};
struct FActorSpawnParameters
{
FActorSpawnParameters() : Name(), Template(nullptr), Owner(nullptr), Instigator(nullptr), OverrideLevel(nullptr),
SpawnCollisionHandlingOverride(), bRemoteOwned(0), bNoFail(0),
bDeferConstruction(0),
bAllowDuringConstructionScript(0),
NameMode(),
ObjectFlags()
{
}
;
SDK::FName Name;
SDK::UObject* Template;
SDK::UObject* Owner;
SDK::UObject* Instigator;
SDK::UObject* OverrideLevel;
SDK::ESpawnActorCollisionHandlingMethod SpawnCollisionHandlingOverride;
private:
uint8_t bRemoteOwned : 1;
public:
bool IsRemoteOwned() const { return bRemoteOwned; }
uint8_t bNoFail : 1;
uint8_t bDeferConstruction : 1;
uint8_t bAllowDuringConstructionScript : 1;
ESpawnActorNameMode NameMode;
EObjectFlags ObjectFlags;
};
// STRUCTS
struct AFortPlayerController_ServerClientPawnLoaded_Params
{
bool bIsPawnLoaded;
};
struct AFortPlayerPawn_ServerHandlePickup_Params
{
class AFortPickup* Pickup;
float InFlyTime;
struct FVector InStartDirection;
bool bPlayPickupSound;
};
struct AFortPlayerController_ServerPlayEmoteItem_Params
{
class UFortMontageItemDefinitionBase* EmoteAsset;
};
struct AFortPlayerController_ServerSetClientHasFinishedLoading_Params
{
bool bInHasFinishedLoading;
};
struct AFortPlayerController_ServerExecuteInventoryItem_Params
{
struct FGuid ItemGuid;
};
}
+81
View File
@@ -0,0 +1,81 @@
#pragma once
#include <cstdint>
#include <Windows.h>
#include "MinHook/include/MinHook.h"
#include "SDK.hpp"
namespace Globals
{
bool bBeaconInitialized = false;
SDK::UFortEngine* GetEngine()
{
SDK::UFortEngine* FortEngine = SDK::UObject::FindObject<UFortEngine>("FortEngine Transient.FortEngine_0");
if (!FortEngine)
{
Logging::Log(ELogEvent::Error, ELogType::Athena, "Failed to find FortEngine object");
}
return FortEngine;
}
SDK::AFortPlayerController* GetPlayerController()
{
SDK::UFortEngine* engine = GetEngine();
if (!engine || !engine->GameInstance ||
!engine->GameInstance->LocalPlayers.IsValid() ||
engine->GameInstance->LocalPlayers.Num() == 0 ||
!engine->GameInstance->LocalPlayers[0] ||
!engine->GameInstance->LocalPlayers[0]->PlayerController)
{
Logging::Log(ELogEvent::Error, ELogType::Athena, "Failed to get PlayerController - invalid chain");
return nullptr;
}
return reinterpret_cast<SDK::AFortPlayerController*>(engine->GameInstance->LocalPlayers[0]->PlayerController);
}
static bool ValidateGuidEquality(const SDK::FGuid& first, const SDK::FGuid& second)
{
return memcmp(&first, &second, sizeof(SDK::FGuid)) == 0;
}
SDK::UWorld* GetWorld()
{
SDK::UWorld* World = GetEngine()->GameViewport->World;
return World;
}
uintptr_t GetBaseAddress()
{
return (uintptr_t)GetModuleHandle(0);
}
uintptr_t GetAddress(uintptr_t Offset)
{
return GetBaseAddress() + Offset;
}
MH_STATUS CreateHook(uintptr_t pTarget, LPVOID pDetour, LPVOID* ppOriginal = nullptr)
{
MH_CreateHook((LPVOID)pTarget, pDetour, ppOriginal);
return MH_EnableHook((LPVOID)pTarget);
}
void VirtualHook(void* Object, int Index, void* Detour, void** OG = nullptr)
{
auto vft = *(void***)Object;
if (!vft || !vft[Index])
{
return;
}
if (OG)
*OG = vft[Index];
DWORD oldProtection;
VirtualProtect(&vft[Index], sizeof(void*), PAGE_EXECUTE_READWRITE, &oldProtection);
vft[Index] = Detour;
VirtualProtect(&vft[Index], 8, oldProtection, NULL);
}
}
+122
View File
@@ -0,0 +1,122 @@
#pragma once
#include <map>
#include "SDK.hpp"
#include "Globals.h"
#include "Actor.h"
namespace InventoryNamespace
{
void AddDefaultQuickBarItems(SDK::AFortPlayerController* PC)
{
auto QuickBars = PC->QuickBars;
auto FortInventory = PC->WorldInventory;
auto PickaxeDef = SDK::UObject::FindObject<SDK::UFortWeaponItemDefinition>("FortWeaponMeleeItemDefinition WID_Harvest_Pickaxe_Athena_C_T01.WID_Harvest_Pickaxe_Athena_C_T01");
auto EditToolDef = SDK::UObject::FindObject<SDK::UFortEditToolItemDefinition>("FortEditToolItemDefinition EditTool.EditTool");
auto WallBuildDef = SDK::UObject::FindObject<SDK::UFortBuildingItemDefinition>("FortBuildingItemDefinition BuildingItemData_Wall.BuildingItemData_Wall");
auto FloorBuildDef = SDK::UObject::FindObject<SDK::UFortBuildingItemDefinition>("FortBuildingItemDefinition BuildingItemData_Floor.BuildingItemData_Floor");
auto StairBuildDef = SDK::UObject::FindObject<SDK::UFortBuildingItemDefinition>("FortBuildingItemDefinition BuildingItemData_Stair_W.BuildingItemData_Stair_W");
auto RoofBuildDef = SDK::UObject::FindObject<SDK::UFortBuildingItemDefinition>("FortBuildingItemDefinition BuildingItemData_RoofS.BuildingItemData_RoofS");
auto PickaxeItem = PickaxeDef->CreateTemporaryItemInstanceBP(1, 0);
auto WorldPickaxeItem = reinterpret_cast<SDK::UFortWorldItem*>(PickaxeItem);
WorldPickaxeItem->ItemEntry.Count = 1;
FortInventory->Inventory.ReplicatedEntries.Add(WorldPickaxeItem->ItemEntry);
FortInventory->Inventory.ItemInstances.Add(WorldPickaxeItem);
QuickBars->ServerAddItemInternal(WorldPickaxeItem->GetItemGuid(), SDK::EFortQuickBars::Primary, 0);
auto WallBuildItem = WallBuildDef->CreateTemporaryItemInstanceBP(1, 0);
auto WallWorldBuildItem = reinterpret_cast<SDK::UFortWorldItem*>(WallBuildItem);
FortInventory->Inventory.ReplicatedEntries.Add(WallWorldBuildItem->ItemEntry);
FortInventory->Inventory.ItemInstances.Add(WallWorldBuildItem);
QuickBars->ServerAddItemInternal(WallWorldBuildItem->GetItemGuid(), SDK::EFortQuickBars::Secondary, 0);
auto FloorBuildItem = FloorBuildDef->CreateTemporaryItemInstanceBP(1, 0);
auto FloorWorldBuildItem = reinterpret_cast<SDK::UFortWorldItem*>(FloorBuildItem);
FortInventory->Inventory.ReplicatedEntries.Add(FloorWorldBuildItem->ItemEntry);
FortInventory->Inventory.ItemInstances.Add(FloorWorldBuildItem);
QuickBars->ServerAddItemInternal(FloorWorldBuildItem->GetItemGuid(), SDK::EFortQuickBars::Secondary, 1);
auto StairBuildItem = StairBuildDef->CreateTemporaryItemInstanceBP(1, 0);
auto StairWorldBuildItem = reinterpret_cast<SDK::UFortWorldItem*>(StairBuildItem);
FortInventory->Inventory.ReplicatedEntries.Add(StairWorldBuildItem->ItemEntry);
FortInventory->Inventory.ItemInstances.Add(StairWorldBuildItem);
QuickBars->ServerAddItemInternal(StairWorldBuildItem->GetItemGuid(), SDK::EFortQuickBars::Secondary, 2);
auto RoofBuildItem = RoofBuildDef->CreateTemporaryItemInstanceBP(1, 0);
auto RoofWorldBuildItem = reinterpret_cast<SDK::UFortWorldItem*>(RoofBuildItem);
FortInventory->Inventory.ReplicatedEntries.Add(RoofWorldBuildItem->ItemEntry);
FortInventory->Inventory.ItemInstances.Add(RoofWorldBuildItem);
QuickBars->ServerAddItemInternal(RoofWorldBuildItem->GetItemGuid(), SDK::EFortQuickBars::Secondary, 3);
}
void SetupInventory(SDK::AFortPlayerController* PC)
{
std::map<SDK::UFortItemDefinition*, int> ItemsToAddMap;
auto NewQuickBars = (SDK::AFortQuickBars*)ActorNamespace::SpawnActor(SDK::AFortQuickBars::StaticClass(), {}, {});
NewQuickBars->SetOwner(PC);
PC->QuickBars = NewQuickBars;
PC->OnRep_QuickBar();
auto pWood = SDK::UObject::FindObject<SDK::UFortItemDefinition>("FortResourceItemDefinition WoodItemData.WoodItemData");
auto pMetal = SDK::UObject::FindObject<SDK::UFortItemDefinition>("FortResourceItemDefinition MetalItemData.MetalItemData");
auto pStone = SDK::UObject::FindObject<SDK::UFortItemDefinition>("FortResourceItemDefinition StoneItemData.StoneItemData");
auto pRockets = SDK::UObject::FindObject<SDK::UFortItemDefinition>("FortAmmoItemDefinition AthenaAmmoDataRockets.AthenaAmmoDataRockets");
auto pShells = SDK::UObject::FindObject<SDK::UFortItemDefinition>("FortAmmoItemDefinition AthenaAmmoDataShells.AthenaAmmoDataShells");
auto pMedium = SDK::UObject::FindObject<SDK::UFortItemDefinition>("FortAmmoItemDefinition AthenaAmmoDataBulletsMedium.AthenaAmmoDataBulletsMedium");
auto pLight = SDK::UObject::FindObject<SDK::UFortItemDefinition>("FortAmmoItemDefinition AthenaAmmoDataBulletsLight.AthenaAmmoDataBulletsLight");
auto pHeavy = SDK::UObject::FindObject<SDK::UFortItemDefinition>("FortAmmoItemDefinition AthenaAmmoDataBulletsHeavy.AthenaAmmoDataBulletsHeavy");
ItemsToAddMap.insert_or_assign(pWood, 999);
ItemsToAddMap.insert_or_assign(pMetal, 999);
ItemsToAddMap.insert_or_assign(pStone, 999);
ItemsToAddMap.insert_or_assign(pRockets, 999);
ItemsToAddMap.insert_or_assign(pShells, 999);
ItemsToAddMap.insert_or_assign(pMedium, 999);
ItemsToAddMap.insert_or_assign(pLight, 999);
ItemsToAddMap.insert_or_assign(pHeavy, 999);
auto FortInventory = PC->WorldInventory;
auto QuickBars = PC->QuickBars;
QuickBars->EnableSlot(SDK::EFortQuickBars::Primary, 0);
QuickBars->EnableSlot(SDK::EFortQuickBars::Primary, 1);
QuickBars->EnableSlot(SDK::EFortQuickBars::Primary, 2);
QuickBars->EnableSlot(SDK::EFortQuickBars::Primary, 3);
QuickBars->EnableSlot(SDK::EFortQuickBars::Primary, 4);
QuickBars->EnableSlot(SDK::EFortQuickBars::Secondary, 0);
QuickBars->EnableSlot(SDK::EFortQuickBars::Secondary, 1);
QuickBars->EnableSlot(SDK::EFortQuickBars::Secondary, 2);
QuickBars->EnableSlot(SDK::EFortQuickBars::Secondary, 3);
AddDefaultQuickBarItems(PC);
for (auto Item : ItemsToAddMap)
{
auto ItemDef = Item.first;
auto ItemCount = Item.second;
if (ItemDef)
{
auto NewWorldItem = (SDK::UFortWorldItem*)(ItemDef->CreateTemporaryItemInstanceBP(ItemCount, 0));
FortInventory->Inventory.ReplicatedEntries.Add(NewWorldItem->ItemEntry);
FortInventory->Inventory.ItemInstances.Add(NewWorldItem);
}
}
ItemsToAddMap.empty();
ItemsToAddMap.clear();
}
void UpdateInventory(SDK::AFortPlayerController* PC)
{
PC->WorldInventory->ForceNetUpdate();
PC->WorldInventory->HandleInventoryLocalUpdate();
PC->HandleWorldInventoryLocalUpdate();
PC->QuickBars->OnRep_PrimaryQuickBar();
PC->QuickBars->OnRep_SecondaryQuickBar();
}
}
+140
View File
@@ -0,0 +1,140 @@
#pragma once
#include <fstream>
#include <string>
#include <Windows.h>
#include <filesystem>
#include <iostream>
enum ELogType : uint8_t
{
Invalid = 0,
Abilities = 1,
Actor = 2,
Player = 3,
Game = 4,
Inventory = 5,
Kismet = 6,
Hook = 7,
Athena = 8,
ProcessEvent = 9,
Quests = 10,
Bot = 11
};
enum ELogEvent : uint8_t
{
Warning = 1,
Info = 2,
Error = 3
};
namespace Logging
{
std::string LogTypeToString(ELogType LogType = ELogType::Invalid)
{
switch (LogType)
{
case ELogType::Abilities: return "LogAbilities";
case ELogType::Actor: return "LogActor";
case ELogType::Player: return "LogPlayer";
case ELogType::Game: return "LogGame";
case ELogType::Inventory: return "LogInventory";
case ELogType::Kismet: return "LogKismet";
case ELogType::Hook: return "LogHook";
case ELogType::Athena: return "LogAthena";
case ELogType::ProcessEvent: return "LogProcessEvent";
case ELogType::Quests: return "LogQuests";
case ELogType::Bot: return "LogAI";
default: return "Log";
}
}
std::string LogEventToString(ELogEvent LogEvent)
{
switch (LogEvent)
{
case ELogEvent::Warning: return "Warning";
case ELogEvent::Info: return "Info";
case ELogEvent::Error: return "Error";
default: return "Unknown";
}
}
void Log(ELogEvent LogEvent, ELogType LogType, const char* Format, ...)
{
std::string Prefix = LogTypeToString(LogType) + ": " + LogEventToString(LogEvent) + ": ";
char Buffer[1024];
va_list _ArgList;
va_start(_ArgList, Format);
vsnprintf(Buffer, sizeof(Buffer), Format, _ArgList);
va_end(_ArgList);
std::string FullMessage = Prefix + Buffer + "\n";
printf("%s", FullMessage.c_str());
fflush(stdout);
try
{
std::ofstream logFile("Athena.log", std::ios::app);
if (logFile.is_open())
{
logFile << FullMessage;
logFile.flush();
logFile.close();
}
else
{
std::string currentPath = std::filesystem::current_path().string();
std::string fullPath = currentPath + "\\Athena.log";
std::ofstream logFileAbs(fullPath, std::ios::app);
if (logFileAbs.is_open())
{
logFileAbs << FullMessage;
logFileAbs.flush();
logFileAbs.close();
}
else
{
printf("ERROR: Could not open log file! Current dir: %s\n", currentPath.c_str());
}
}
}
catch (const std::exception& e)
{
printf("ERROR: Exception while logging: %s\n", e.what());
}
}
void Initialize()
{
AllocConsole();
FILE* File;
freopen_s(&File, "CONOUT$", "w+", stdout);
SetConsoleTitleA("Blizzard - 2.5.0");
try
{
if (std::filesystem::exists("Athena.log"))
std::filesystem::remove("Athena.log");
std::ofstream testFile("Athena.log", std::ios::app);
if (testFile.is_open())
{
testFile << "=== Log Started ===\n";
testFile.close();
}
else
{
printf("WARNING: Could not create log file!\n");
}
}
catch (const std::exception& e)
{
printf("ERROR: Exception during log initialization: %s\n", e.what());
}
Logging::Log(ELogEvent::Info, ELogType::Athena, "Pieced together by @ApfelTeeSaft");
}
}
@@ -0,0 +1,14 @@
EXPORTS
MH_Initialize
MH_Uninitialize
MH_CreateHook
MH_CreateHookApi
MH_CreateHookApiEx
MH_RemoveHook
MH_EnableHook
MH_DisableHook
MH_QueueEnableHook
MH_QueueDisableHook
MH_ApplyQueued
MH_StatusToString
+32
View File
@@ -0,0 +1,32 @@
1 VERSIONINFO
FILEVERSION 1,3,3,0
PRODUCTVERSION 1,3,3,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "Tsuda Kageyu"
VALUE "FileDescription", "MinHook - The Minimalistic API Hook Library for x64/x86"
VALUE "FileVersion", "1.3.3.0"
VALUE "InternalName", "MinHookD"
VALUE "LegalCopyright", "Copyright (C) 2009-2017 Tsuda Kageyu. All rights reserved."
VALUE "LegalTrademarks", "Tsuda Kageyu"
VALUE "ProductName", "MinHook DLL"
VALUE "ProductVersion", "1.3.3.0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
+186
View File
@@ -0,0 +1,186 @@
/*
* MinHook - The Minimalistic API Hooking Library for x64/x86
* Copyright (C) 2009-2017 Tsuda Kageyu.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. 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.
*
* 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 HOLDER
* 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.
*/
#pragma once
#if !(defined _M_IX86) && !(defined _M_X64) && !(defined __i386__) && !(defined __x86_64__)
#error MinHook supports only x86 and x64 systems.
#endif
#include <windows.h>
// MinHook Error Codes.
typedef enum MH_STATUS
{
// Unknown error. Should not be returned.
MH_UNKNOWN = -1,
// Successful.
MH_OK = 0,
// MinHook is already initialized.
MH_ERROR_ALREADY_INITIALIZED,
// MinHook is not initialized yet, or already uninitialized.
MH_ERROR_NOT_INITIALIZED,
// The hook for the specified target function is already created.
MH_ERROR_ALREADY_CREATED,
// The hook for the specified target function is not created yet.
MH_ERROR_NOT_CREATED,
// The hook for the specified target function is already enabled.
MH_ERROR_ENABLED,
// The hook for the specified target function is not enabled yet, or already
// disabled.
MH_ERROR_DISABLED,
// The specified pointer is invalid. It points the address of non-allocated
// and/or non-executable region.
MH_ERROR_NOT_EXECUTABLE,
// The specified target function cannot be hooked.
MH_ERROR_UNSUPPORTED_FUNCTION,
// Failed to allocate memory.
MH_ERROR_MEMORY_ALLOC,
// Failed to change the memory protection.
MH_ERROR_MEMORY_PROTECT,
// The specified module is not loaded.
MH_ERROR_MODULE_NOT_FOUND,
// The specified function is not found.
MH_ERROR_FUNCTION_NOT_FOUND
}
MH_STATUS;
// Can be passed as a parameter to MH_EnableHook, MH_DisableHook,
// MH_QueueEnableHook or MH_QueueDisableHook.
#define MH_ALL_HOOKS NULL
#ifdef __cplusplus
extern "C" {
#endif
// Initialize the MinHook library. You must call this function EXACTLY ONCE
// at the beginning of your program.
MH_STATUS WINAPI MH_Initialize(VOID);
// Uninitialize the MinHook library. You must call this function EXACTLY
// ONCE at the end of your program.
MH_STATUS WINAPI MH_Uninitialize(VOID);
// Creates a Hook for the specified target function, in disabled state.
// Parameters:
// pTarget [in] A pointer to the target function, which will be
// overridden by the detour function.
// pDetour [in] A pointer to the detour function, which will override
// the target function.
// ppOriginal [out] A pointer to the trampoline function, which will be
// used to call the original target function.
// This parameter can be NULL.
MH_STATUS WINAPI MH_CreateHook(LPVOID pTarget, LPVOID pDetour, LPVOID *ppOriginal);
// Creates a Hook for the specified API function, in disabled state.
// Parameters:
// pszModule [in] A pointer to the loaded module name which contains the
// target function.
// pszTarget [in] A pointer to the target function name, which will be
// overridden by the detour function.
// pDetour [in] A pointer to the detour function, which will override
// the target function.
// ppOriginal [out] A pointer to the trampoline function, which will be
// used to call the original target function.
// This parameter can be NULL.
MH_STATUS WINAPI MH_CreateHookApi(
LPCWSTR pszModule, LPCSTR pszProcName, LPVOID pDetour, LPVOID *ppOriginal);
// Creates a Hook for the specified API function, in disabled state.
// Parameters:
// pszModule [in] A pointer to the loaded module name which contains the
// target function.
// pszTarget [in] A pointer to the target function name, which will be
// overridden by the detour function.
// pDetour [in] A pointer to the detour function, which will override
// the target function.
// ppOriginal [out] A pointer to the trampoline function, which will be
// used to call the original target function.
// This parameter can be NULL.
// ppTarget [out] A pointer to the target function, which will be used
// with other functions.
// This parameter can be NULL.
MH_STATUS WINAPI MH_CreateHookApiEx(
LPCWSTR pszModule, LPCSTR pszProcName, LPVOID pDetour, LPVOID *ppOriginal, LPVOID *ppTarget);
// Removes an already created hook.
// Parameters:
// pTarget [in] A pointer to the target function.
MH_STATUS WINAPI MH_RemoveHook(LPVOID pTarget);
// Enables an already created hook.
// Parameters:
// pTarget [in] A pointer to the target function.
// If this parameter is MH_ALL_HOOKS, all created hooks are
// enabled in one go.
MH_STATUS WINAPI MH_EnableHook(LPVOID pTarget);
// Disables an already created hook.
// Parameters:
// pTarget [in] A pointer to the target function.
// If this parameter is MH_ALL_HOOKS, all created hooks are
// disabled in one go.
MH_STATUS WINAPI MH_DisableHook(LPVOID pTarget);
// Queues to enable an already created hook.
// Parameters:
// pTarget [in] A pointer to the target function.
// If this parameter is MH_ALL_HOOKS, all created hooks are
// queued to be enabled.
MH_STATUS WINAPI MH_QueueEnableHook(LPVOID pTarget);
// Queues to disable an already created hook.
// Parameters:
// pTarget [in] A pointer to the target function.
// If this parameter is MH_ALL_HOOKS, all created hooks are
// queued to be disabled.
MH_STATUS WINAPI MH_QueueDisableHook(LPVOID pTarget);
// Applies all queued changes in one go.
MH_STATUS WINAPI MH_ApplyQueued(VOID);
// Translates the MH_STATUS to its name as a string.
const char * WINAPI MH_StatusToString(MH_STATUS status);
#ifdef __cplusplus
}
#endif
+312
View File
@@ -0,0 +1,312 @@
/*
* MinHook - The Minimalistic API Hooking Library for x64/x86
* Copyright (C) 2009-2017 Tsuda Kageyu.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. 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.
*
* 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 HOLDER
* 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.
*/
#include <windows.h>
#include "buffer.h"
// Size of each memory block. (= page size of VirtualAlloc)
#define MEMORY_BLOCK_SIZE 0x1000
// Max range for seeking a memory block. (= 1024MB)
#define MAX_MEMORY_RANGE 0x40000000
// Memory protection flags to check the executable address.
#define PAGE_EXECUTE_FLAGS \
(PAGE_EXECUTE | PAGE_EXECUTE_READ | PAGE_EXECUTE_READWRITE | PAGE_EXECUTE_WRITECOPY)
// Memory slot.
typedef struct _MEMORY_SLOT
{
union
{
struct _MEMORY_SLOT *pNext;
UINT8 buffer[MEMORY_SLOT_SIZE];
};
} MEMORY_SLOT, *PMEMORY_SLOT;
// Memory block info. Placed at the head of each block.
typedef struct _MEMORY_BLOCK
{
struct _MEMORY_BLOCK *pNext;
PMEMORY_SLOT pFree; // First element of the free slot list.
UINT usedCount;
} MEMORY_BLOCK, *PMEMORY_BLOCK;
//-------------------------------------------------------------------------
// Global Variables:
//-------------------------------------------------------------------------
// First element of the memory block list.
PMEMORY_BLOCK g_pMemoryBlocks;
//-------------------------------------------------------------------------
VOID InitializeBuffer(VOID)
{
// Nothing to do for now.
}
//-------------------------------------------------------------------------
VOID UninitializeBuffer(VOID)
{
PMEMORY_BLOCK pBlock = g_pMemoryBlocks;
g_pMemoryBlocks = NULL;
while (pBlock)
{
PMEMORY_BLOCK pNext = pBlock->pNext;
VirtualFree(pBlock, 0, MEM_RELEASE);
pBlock = pNext;
}
}
//-------------------------------------------------------------------------
#if defined(_M_X64) || defined(__x86_64__)
static LPVOID FindPrevFreeRegion(LPVOID pAddress, LPVOID pMinAddr, DWORD dwAllocationGranularity)
{
ULONG_PTR tryAddr = (ULONG_PTR)pAddress;
// Round down to the allocation granularity.
tryAddr -= tryAddr % dwAllocationGranularity;
// Start from the previous allocation granularity multiply.
tryAddr -= dwAllocationGranularity;
while (tryAddr >= (ULONG_PTR)pMinAddr)
{
MEMORY_BASIC_INFORMATION mbi;
if (VirtualQuery((LPVOID)tryAddr, &mbi, sizeof(mbi)) == 0)
break;
if (mbi.State == MEM_FREE)
return (LPVOID)tryAddr;
if ((ULONG_PTR)mbi.AllocationBase < dwAllocationGranularity)
break;
tryAddr = (ULONG_PTR)mbi.AllocationBase - dwAllocationGranularity;
}
return NULL;
}
#endif
//-------------------------------------------------------------------------
#if defined(_M_X64) || defined(__x86_64__)
static LPVOID FindNextFreeRegion(LPVOID pAddress, LPVOID pMaxAddr, DWORD dwAllocationGranularity)
{
ULONG_PTR tryAddr = (ULONG_PTR)pAddress;
// Round down to the allocation granularity.
tryAddr -= tryAddr % dwAllocationGranularity;
// Start from the next allocation granularity multiply.
tryAddr += dwAllocationGranularity;
while (tryAddr <= (ULONG_PTR)pMaxAddr)
{
MEMORY_BASIC_INFORMATION mbi;
if (VirtualQuery((LPVOID)tryAddr, &mbi, sizeof(mbi)) == 0)
break;
if (mbi.State == MEM_FREE)
return (LPVOID)tryAddr;
tryAddr = (ULONG_PTR)mbi.BaseAddress + mbi.RegionSize;
// Round up to the next allocation granularity.
tryAddr += dwAllocationGranularity - 1;
tryAddr -= tryAddr % dwAllocationGranularity;
}
return NULL;
}
#endif
//-------------------------------------------------------------------------
static PMEMORY_BLOCK GetMemoryBlock(LPVOID pOrigin)
{
PMEMORY_BLOCK pBlock;
#if defined(_M_X64) || defined(__x86_64__)
ULONG_PTR minAddr;
ULONG_PTR maxAddr;
SYSTEM_INFO si;
GetSystemInfo(&si);
minAddr = (ULONG_PTR)si.lpMinimumApplicationAddress;
maxAddr = (ULONG_PTR)si.lpMaximumApplicationAddress;
// pOrigin ± 512MB
if ((ULONG_PTR)pOrigin > MAX_MEMORY_RANGE && minAddr < (ULONG_PTR)pOrigin - MAX_MEMORY_RANGE)
minAddr = (ULONG_PTR)pOrigin - MAX_MEMORY_RANGE;
if (maxAddr > (ULONG_PTR)pOrigin + MAX_MEMORY_RANGE)
maxAddr = (ULONG_PTR)pOrigin + MAX_MEMORY_RANGE;
// Make room for MEMORY_BLOCK_SIZE bytes.
maxAddr -= MEMORY_BLOCK_SIZE - 1;
#endif
// Look the registered blocks for a reachable one.
for (pBlock = g_pMemoryBlocks; pBlock != NULL; pBlock = pBlock->pNext)
{
#if defined(_M_X64) || defined(__x86_64__)
// Ignore the blocks too far.
if ((ULONG_PTR)pBlock < minAddr || (ULONG_PTR)pBlock >= maxAddr)
continue;
#endif
// The block has at least one unused slot.
if (pBlock->pFree != NULL)
return pBlock;
}
#if defined(_M_X64) || defined(__x86_64__)
// Alloc a new block above if not found.
{
LPVOID pAlloc = pOrigin;
while ((ULONG_PTR)pAlloc >= minAddr)
{
pAlloc = FindPrevFreeRegion(pAlloc, (LPVOID)minAddr, si.dwAllocationGranularity);
if (pAlloc == NULL)
break;
pBlock = (PMEMORY_BLOCK)VirtualAlloc(
pAlloc, MEMORY_BLOCK_SIZE, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
if (pBlock != NULL)
break;
}
}
// Alloc a new block below if not found.
if (pBlock == NULL)
{
LPVOID pAlloc = pOrigin;
while ((ULONG_PTR)pAlloc <= maxAddr)
{
pAlloc = FindNextFreeRegion(pAlloc, (LPVOID)maxAddr, si.dwAllocationGranularity);
if (pAlloc == NULL)
break;
pBlock = (PMEMORY_BLOCK)VirtualAlloc(
pAlloc, MEMORY_BLOCK_SIZE, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
if (pBlock != NULL)
break;
}
}
#else
// In x86 mode, a memory block can be placed anywhere.
pBlock = (PMEMORY_BLOCK)VirtualAlloc(
NULL, MEMORY_BLOCK_SIZE, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
#endif
if (pBlock != NULL)
{
// Build a linked list of all the slots.
PMEMORY_SLOT pSlot = (PMEMORY_SLOT)pBlock + 1;
pBlock->pFree = NULL;
pBlock->usedCount = 0;
do
{
pSlot->pNext = pBlock->pFree;
pBlock->pFree = pSlot;
pSlot++;
} while ((ULONG_PTR)pSlot - (ULONG_PTR)pBlock <= MEMORY_BLOCK_SIZE - MEMORY_SLOT_SIZE);
pBlock->pNext = g_pMemoryBlocks;
g_pMemoryBlocks = pBlock;
}
return pBlock;
}
//-------------------------------------------------------------------------
LPVOID AllocateBuffer(LPVOID pOrigin)
{
PMEMORY_SLOT pSlot;
PMEMORY_BLOCK pBlock = GetMemoryBlock(pOrigin);
if (pBlock == NULL)
return NULL;
// Remove an unused slot from the list.
pSlot = pBlock->pFree;
pBlock->pFree = pSlot->pNext;
pBlock->usedCount++;
#ifdef _DEBUG
// Fill the slot with INT3 for debugging.
memset(pSlot, 0xCC, sizeof(MEMORY_SLOT));
#endif
return pSlot;
}
//-------------------------------------------------------------------------
VOID FreeBuffer(LPVOID pBuffer)
{
PMEMORY_BLOCK pBlock = g_pMemoryBlocks;
PMEMORY_BLOCK pPrev = NULL;
ULONG_PTR pTargetBlock = ((ULONG_PTR)pBuffer / MEMORY_BLOCK_SIZE) * MEMORY_BLOCK_SIZE;
while (pBlock != NULL)
{
if ((ULONG_PTR)pBlock == pTargetBlock)
{
PMEMORY_SLOT pSlot = (PMEMORY_SLOT)pBuffer;
#ifdef _DEBUG
// Clear the released slot for debugging.
memset(pSlot, 0x00, sizeof(*pSlot));
#endif
// Restore the released slot to the list.
pSlot->pNext = pBlock->pFree;
pBlock->pFree = pSlot;
pBlock->usedCount--;
// Free if unused.
if (pBlock->usedCount == 0)
{
if (pPrev)
pPrev->pNext = pBlock->pNext;
else
g_pMemoryBlocks = pBlock->pNext;
VirtualFree(pBlock, 0, MEM_RELEASE);
}
break;
}
pPrev = pBlock;
pBlock = pBlock->pNext;
}
}
//-------------------------------------------------------------------------
BOOL IsExecutableAddress(LPVOID pAddress)
{
MEMORY_BASIC_INFORMATION mi;
VirtualQuery(pAddress, &mi, sizeof(mi));
return (mi.State == MEM_COMMIT && (mi.Protect & PAGE_EXECUTE_FLAGS));
}
+42
View File
@@ -0,0 +1,42 @@
/*
* MinHook - The Minimalistic API Hooking Library for x64/x86
* Copyright (C) 2009-2017 Tsuda Kageyu.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. 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.
*
* 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 HOLDER
* 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.
*/
#pragma once
// Size of each memory slot.
#if defined(_M_X64) || defined(__x86_64__)
#define MEMORY_SLOT_SIZE 64
#else
#define MEMORY_SLOT_SIZE 32
#endif
VOID InitializeBuffer(VOID);
VOID UninitializeBuffer(VOID);
LPVOID AllocateBuffer(LPVOID pOrigin);
VOID FreeBuffer(LPVOID pBuffer);
BOOL IsExecutableAddress(LPVOID pAddress);
+326
View File
@@ -0,0 +1,326 @@
/*
* Hacker Disassembler Engine 32 C
* Copyright (c) 2008-2009, Vyacheslav Patkov.
* All rights reserved.
*
*/
#if defined(_M_IX86) || defined(__i386__)
#include "hde32.h"
#include "table32.h"
unsigned int hde32_disasm(const void *code, hde32s *hs)
{
uint8_t x, c, *p = (uint8_t *)code, cflags, opcode, pref = 0;
uint8_t *ht = hde32_table, m_mod, m_reg, m_rm, disp_size = 0;
// Avoid using memset to reduce the footprint.
#ifndef _MSC_VER
memset((LPBYTE)hs, 0, sizeof(hde32s));
#else
__stosb((LPBYTE)hs, 0, sizeof(hde32s));
#endif
for (x = 16; x; x--)
switch (c = *p++) {
case 0xf3:
hs->p_rep = c;
pref |= PRE_F3;
break;
case 0xf2:
hs->p_rep = c;
pref |= PRE_F2;
break;
case 0xf0:
hs->p_lock = c;
pref |= PRE_LOCK;
break;
case 0x26: case 0x2e: case 0x36:
case 0x3e: case 0x64: case 0x65:
hs->p_seg = c;
pref |= PRE_SEG;
break;
case 0x66:
hs->p_66 = c;
pref |= PRE_66;
break;
case 0x67:
hs->p_67 = c;
pref |= PRE_67;
break;
default:
goto pref_done;
}
pref_done:
hs->flags = (uint32_t)pref << 23;
if (!pref)
pref |= PRE_NONE;
if ((hs->opcode = c) == 0x0f) {
hs->opcode2 = c = *p++;
ht += DELTA_OPCODES;
} else if (c >= 0xa0 && c <= 0xa3) {
if (pref & PRE_67)
pref |= PRE_66;
else
pref &= ~PRE_66;
}
opcode = c;
cflags = ht[ht[opcode / 4] + (opcode % 4)];
if (cflags == C_ERROR) {
hs->flags |= F_ERROR | F_ERROR_OPCODE;
cflags = 0;
if ((opcode & -3) == 0x24)
cflags++;
}
x = 0;
if (cflags & C_GROUP) {
uint16_t t;
t = *(uint16_t *)(ht + (cflags & 0x7f));
cflags = (uint8_t)t;
x = (uint8_t)(t >> 8);
}
if (hs->opcode2) {
ht = hde32_table + DELTA_PREFIXES;
if (ht[ht[opcode / 4] + (opcode % 4)] & pref)
hs->flags |= F_ERROR | F_ERROR_OPCODE;
}
if (cflags & C_MODRM) {
hs->flags |= F_MODRM;
hs->modrm = c = *p++;
hs->modrm_mod = m_mod = c >> 6;
hs->modrm_rm = m_rm = c & 7;
hs->modrm_reg = m_reg = (c & 0x3f) >> 3;
if (x && ((x << m_reg) & 0x80))
hs->flags |= F_ERROR | F_ERROR_OPCODE;
if (!hs->opcode2 && opcode >= 0xd9 && opcode <= 0xdf) {
uint8_t t = opcode - 0xd9;
if (m_mod == 3) {
ht = hde32_table + DELTA_FPU_MODRM + t*8;
t = ht[m_reg] << m_rm;
} else {
ht = hde32_table + DELTA_FPU_REG;
t = ht[t] << m_reg;
}
if (t & 0x80)
hs->flags |= F_ERROR | F_ERROR_OPCODE;
}
if (pref & PRE_LOCK) {
if (m_mod == 3) {
hs->flags |= F_ERROR | F_ERROR_LOCK;
} else {
uint8_t *table_end, op = opcode;
if (hs->opcode2) {
ht = hde32_table + DELTA_OP2_LOCK_OK;
table_end = ht + DELTA_OP_ONLY_MEM - DELTA_OP2_LOCK_OK;
} else {
ht = hde32_table + DELTA_OP_LOCK_OK;
table_end = ht + DELTA_OP2_LOCK_OK - DELTA_OP_LOCK_OK;
op &= -2;
}
for (; ht != table_end; ht++)
if (*ht++ == op) {
if (!((*ht << m_reg) & 0x80))
goto no_lock_error;
else
break;
}
hs->flags |= F_ERROR | F_ERROR_LOCK;
no_lock_error:
;
}
}
if (hs->opcode2) {
switch (opcode) {
case 0x20: case 0x22:
m_mod = 3;
if (m_reg > 4 || m_reg == 1)
goto error_operand;
else
goto no_error_operand;
case 0x21: case 0x23:
m_mod = 3;
if (m_reg == 4 || m_reg == 5)
goto error_operand;
else
goto no_error_operand;
}
} else {
switch (opcode) {
case 0x8c:
if (m_reg > 5)
goto error_operand;
else
goto no_error_operand;
case 0x8e:
if (m_reg == 1 || m_reg > 5)
goto error_operand;
else
goto no_error_operand;
}
}
if (m_mod == 3) {
uint8_t *table_end;
if (hs->opcode2) {
ht = hde32_table + DELTA_OP2_ONLY_MEM;
table_end = ht + sizeof(hde32_table) - DELTA_OP2_ONLY_MEM;
} else {
ht = hde32_table + DELTA_OP_ONLY_MEM;
table_end = ht + DELTA_OP2_ONLY_MEM - DELTA_OP_ONLY_MEM;
}
for (; ht != table_end; ht += 2)
if (*ht++ == opcode) {
if (*ht++ & pref && !((*ht << m_reg) & 0x80))
goto error_operand;
else
break;
}
goto no_error_operand;
} else if (hs->opcode2) {
switch (opcode) {
case 0x50: case 0xd7: case 0xf7:
if (pref & (PRE_NONE | PRE_66))
goto error_operand;
break;
case 0xd6:
if (pref & (PRE_F2 | PRE_F3))
goto error_operand;
break;
case 0xc5:
goto error_operand;
}
goto no_error_operand;
} else
goto no_error_operand;
error_operand:
hs->flags |= F_ERROR | F_ERROR_OPERAND;
no_error_operand:
c = *p++;
if (m_reg <= 1) {
if (opcode == 0xf6)
cflags |= C_IMM8;
else if (opcode == 0xf7)
cflags |= C_IMM_P66;
}
switch (m_mod) {
case 0:
if (pref & PRE_67) {
if (m_rm == 6)
disp_size = 2;
} else
if (m_rm == 5)
disp_size = 4;
break;
case 1:
disp_size = 1;
break;
case 2:
disp_size = 2;
if (!(pref & PRE_67))
disp_size <<= 1;
}
if (m_mod != 3 && m_rm == 4 && !(pref & PRE_67)) {
hs->flags |= F_SIB;
p++;
hs->sib = c;
hs->sib_scale = c >> 6;
hs->sib_index = (c & 0x3f) >> 3;
if ((hs->sib_base = c & 7) == 5 && !(m_mod & 1))
disp_size = 4;
}
p--;
switch (disp_size) {
case 1:
hs->flags |= F_DISP8;
hs->disp.disp8 = *p;
break;
case 2:
hs->flags |= F_DISP16;
hs->disp.disp16 = *(uint16_t *)p;
break;
case 4:
hs->flags |= F_DISP32;
hs->disp.disp32 = *(uint32_t *)p;
}
p += disp_size;
} else if (pref & PRE_LOCK)
hs->flags |= F_ERROR | F_ERROR_LOCK;
if (cflags & C_IMM_P66) {
if (cflags & C_REL32) {
if (pref & PRE_66) {
hs->flags |= F_IMM16 | F_RELATIVE;
hs->imm.imm16 = *(uint16_t *)p;
p += 2;
goto disasm_done;
}
goto rel32_ok;
}
if (pref & PRE_66) {
hs->flags |= F_IMM16;
hs->imm.imm16 = *(uint16_t *)p;
p += 2;
} else {
hs->flags |= F_IMM32;
hs->imm.imm32 = *(uint32_t *)p;
p += 4;
}
}
if (cflags & C_IMM16) {
if (hs->flags & F_IMM32) {
hs->flags |= F_IMM16;
hs->disp.disp16 = *(uint16_t *)p;
} else if (hs->flags & F_IMM16) {
hs->flags |= F_2IMM16;
hs->disp.disp16 = *(uint16_t *)p;
} else {
hs->flags |= F_IMM16;
hs->imm.imm16 = *(uint16_t *)p;
}
p += 2;
}
if (cflags & C_IMM8) {
hs->flags |= F_IMM8;
hs->imm.imm8 = *p++;
}
if (cflags & C_REL32) {
rel32_ok:
hs->flags |= F_IMM32 | F_RELATIVE;
hs->imm.imm32 = *(uint32_t *)p;
p += 4;
} else if (cflags & C_REL8) {
hs->flags |= F_IMM8 | F_RELATIVE;
hs->imm.imm8 = *p++;
}
disasm_done:
if ((hs->len = (uint8_t)(p-(uint8_t *)code)) > 15) {
hs->flags |= F_ERROR | F_ERROR_LENGTH;
hs->len = 15;
}
return (unsigned int)hs->len;
}
#endif // defined(_M_IX86) || defined(__i386__)
+105
View File
@@ -0,0 +1,105 @@
/*
* Hacker Disassembler Engine 32
* Copyright (c) 2006-2009, Vyacheslav Patkov.
* All rights reserved.
*
* hde32.h: C/C++ header file
*
*/
#ifndef _HDE32_H_
#define _HDE32_H_
/* stdint.h - C99 standard header
* http://en.wikipedia.org/wiki/stdint.h
*
* if your compiler doesn't contain "stdint.h" header (for
* example, Microsoft Visual C++), you can download file:
* http://www.azillionmonkeys.com/qed/pstdint.h
* and change next line to:
* #include "pstdint.h"
*/
#include "pstdint.h"
#define F_MODRM 0x00000001
#define F_SIB 0x00000002
#define F_IMM8 0x00000004
#define F_IMM16 0x00000008
#define F_IMM32 0x00000010
#define F_DISP8 0x00000020
#define F_DISP16 0x00000040
#define F_DISP32 0x00000080
#define F_RELATIVE 0x00000100
#define F_2IMM16 0x00000800
#define F_ERROR 0x00001000
#define F_ERROR_OPCODE 0x00002000
#define F_ERROR_LENGTH 0x00004000
#define F_ERROR_LOCK 0x00008000
#define F_ERROR_OPERAND 0x00010000
#define F_PREFIX_REPNZ 0x01000000
#define F_PREFIX_REPX 0x02000000
#define F_PREFIX_REP 0x03000000
#define F_PREFIX_66 0x04000000
#define F_PREFIX_67 0x08000000
#define F_PREFIX_LOCK 0x10000000
#define F_PREFIX_SEG 0x20000000
#define F_PREFIX_ANY 0x3f000000
#define PREFIX_SEGMENT_CS 0x2e
#define PREFIX_SEGMENT_SS 0x36
#define PREFIX_SEGMENT_DS 0x3e
#define PREFIX_SEGMENT_ES 0x26
#define PREFIX_SEGMENT_FS 0x64
#define PREFIX_SEGMENT_GS 0x65
#define PREFIX_LOCK 0xf0
#define PREFIX_REPNZ 0xf2
#define PREFIX_REPX 0xf3
#define PREFIX_OPERAND_SIZE 0x66
#define PREFIX_ADDRESS_SIZE 0x67
#pragma pack(push,1)
typedef struct {
uint8_t len;
uint8_t p_rep;
uint8_t p_lock;
uint8_t p_seg;
uint8_t p_66;
uint8_t p_67;
uint8_t opcode;
uint8_t opcode2;
uint8_t modrm;
uint8_t modrm_mod;
uint8_t modrm_reg;
uint8_t modrm_rm;
uint8_t sib;
uint8_t sib_scale;
uint8_t sib_index;
uint8_t sib_base;
union {
uint8_t imm8;
uint16_t imm16;
uint32_t imm32;
} imm;
union {
uint8_t disp8;
uint16_t disp16;
uint32_t disp32;
} disp;
uint32_t flags;
} hde32s;
#pragma pack(pop)
#ifdef __cplusplus
extern "C" {
#endif
/* __cdecl */
unsigned int hde32_disasm(const void *code, hde32s *hs);
#ifdef __cplusplus
}
#endif
#endif /* _HDE32_H_ */
+337
View File
@@ -0,0 +1,337 @@
/*
* Hacker Disassembler Engine 64 C
* Copyright (c) 2008-2009, Vyacheslav Patkov.
* All rights reserved.
*
*/
#if defined(_M_X64) || defined(__x86_64__)
#include "hde64.h"
#include "table64.h"
unsigned int hde64_disasm(const void *code, hde64s *hs)
{
uint8_t x, c, *p = (uint8_t *)code, cflags, opcode, pref = 0;
uint8_t *ht = hde64_table, m_mod, m_reg, m_rm, disp_size = 0;
uint8_t op64 = 0;
// Avoid using memset to reduce the footprint.
#ifndef _MSC_VER
memset((LPBYTE)hs, 0, sizeof(hde64s));
#else
__stosb((LPBYTE)hs, 0, sizeof(hde64s));
#endif
for (x = 16; x; x--)
switch (c = *p++) {
case 0xf3:
hs->p_rep = c;
pref |= PRE_F3;
break;
case 0xf2:
hs->p_rep = c;
pref |= PRE_F2;
break;
case 0xf0:
hs->p_lock = c;
pref |= PRE_LOCK;
break;
case 0x26: case 0x2e: case 0x36:
case 0x3e: case 0x64: case 0x65:
hs->p_seg = c;
pref |= PRE_SEG;
break;
case 0x66:
hs->p_66 = c;
pref |= PRE_66;
break;
case 0x67:
hs->p_67 = c;
pref |= PRE_67;
break;
default:
goto pref_done;
}
pref_done:
hs->flags = (uint32_t)pref << 23;
if (!pref)
pref |= PRE_NONE;
if ((c & 0xf0) == 0x40) {
hs->flags |= F_PREFIX_REX;
if ((hs->rex_w = (c & 0xf) >> 3) && (*p & 0xf8) == 0xb8)
op64++;
hs->rex_r = (c & 7) >> 2;
hs->rex_x = (c & 3) >> 1;
hs->rex_b = c & 1;
if (((c = *p++) & 0xf0) == 0x40) {
opcode = c;
goto error_opcode;
}
}
if ((hs->opcode = c) == 0x0f) {
hs->opcode2 = c = *p++;
ht += DELTA_OPCODES;
} else if (c >= 0xa0 && c <= 0xa3) {
op64++;
if (pref & PRE_67)
pref |= PRE_66;
else
pref &= ~PRE_66;
}
opcode = c;
cflags = ht[ht[opcode / 4] + (opcode % 4)];
if (cflags == C_ERROR) {
error_opcode:
hs->flags |= F_ERROR | F_ERROR_OPCODE;
cflags = 0;
if ((opcode & -3) == 0x24)
cflags++;
}
x = 0;
if (cflags & C_GROUP) {
uint16_t t;
t = *(uint16_t *)(ht + (cflags & 0x7f));
cflags = (uint8_t)t;
x = (uint8_t)(t >> 8);
}
if (hs->opcode2) {
ht = hde64_table + DELTA_PREFIXES;
if (ht[ht[opcode / 4] + (opcode % 4)] & pref)
hs->flags |= F_ERROR | F_ERROR_OPCODE;
}
if (cflags & C_MODRM) {
hs->flags |= F_MODRM;
hs->modrm = c = *p++;
hs->modrm_mod = m_mod = c >> 6;
hs->modrm_rm = m_rm = c & 7;
hs->modrm_reg = m_reg = (c & 0x3f) >> 3;
if (x && ((x << m_reg) & 0x80))
hs->flags |= F_ERROR | F_ERROR_OPCODE;
if (!hs->opcode2 && opcode >= 0xd9 && opcode <= 0xdf) {
uint8_t t = opcode - 0xd9;
if (m_mod == 3) {
ht = hde64_table + DELTA_FPU_MODRM + t*8;
t = ht[m_reg] << m_rm;
} else {
ht = hde64_table + DELTA_FPU_REG;
t = ht[t] << m_reg;
}
if (t & 0x80)
hs->flags |= F_ERROR | F_ERROR_OPCODE;
}
if (pref & PRE_LOCK) {
if (m_mod == 3) {
hs->flags |= F_ERROR | F_ERROR_LOCK;
} else {
uint8_t *table_end, op = opcode;
if (hs->opcode2) {
ht = hde64_table + DELTA_OP2_LOCK_OK;
table_end = ht + DELTA_OP_ONLY_MEM - DELTA_OP2_LOCK_OK;
} else {
ht = hde64_table + DELTA_OP_LOCK_OK;
table_end = ht + DELTA_OP2_LOCK_OK - DELTA_OP_LOCK_OK;
op &= -2;
}
for (; ht != table_end; ht++)
if (*ht++ == op) {
if (!((*ht << m_reg) & 0x80))
goto no_lock_error;
else
break;
}
hs->flags |= F_ERROR | F_ERROR_LOCK;
no_lock_error:
;
}
}
if (hs->opcode2) {
switch (opcode) {
case 0x20: case 0x22:
m_mod = 3;
if (m_reg > 4 || m_reg == 1)
goto error_operand;
else
goto no_error_operand;
case 0x21: case 0x23:
m_mod = 3;
if (m_reg == 4 || m_reg == 5)
goto error_operand;
else
goto no_error_operand;
}
} else {
switch (opcode) {
case 0x8c:
if (m_reg > 5)
goto error_operand;
else
goto no_error_operand;
case 0x8e:
if (m_reg == 1 || m_reg > 5)
goto error_operand;
else
goto no_error_operand;
}
}
if (m_mod == 3) {
uint8_t *table_end;
if (hs->opcode2) {
ht = hde64_table + DELTA_OP2_ONLY_MEM;
table_end = ht + sizeof(hde64_table) - DELTA_OP2_ONLY_MEM;
} else {
ht = hde64_table + DELTA_OP_ONLY_MEM;
table_end = ht + DELTA_OP2_ONLY_MEM - DELTA_OP_ONLY_MEM;
}
for (; ht != table_end; ht += 2)
if (*ht++ == opcode) {
if (*ht++ & pref && !((*ht << m_reg) & 0x80))
goto error_operand;
else
break;
}
goto no_error_operand;
} else if (hs->opcode2) {
switch (opcode) {
case 0x50: case 0xd7: case 0xf7:
if (pref & (PRE_NONE | PRE_66))
goto error_operand;
break;
case 0xd6:
if (pref & (PRE_F2 | PRE_F3))
goto error_operand;
break;
case 0xc5:
goto error_operand;
}
goto no_error_operand;
} else
goto no_error_operand;
error_operand:
hs->flags |= F_ERROR | F_ERROR_OPERAND;
no_error_operand:
c = *p++;
if (m_reg <= 1) {
if (opcode == 0xf6)
cflags |= C_IMM8;
else if (opcode == 0xf7)
cflags |= C_IMM_P66;
}
switch (m_mod) {
case 0:
if (pref & PRE_67) {
if (m_rm == 6)
disp_size = 2;
} else
if (m_rm == 5)
disp_size = 4;
break;
case 1:
disp_size = 1;
break;
case 2:
disp_size = 2;
if (!(pref & PRE_67))
disp_size <<= 1;
}
if (m_mod != 3 && m_rm == 4) {
hs->flags |= F_SIB;
p++;
hs->sib = c;
hs->sib_scale = c >> 6;
hs->sib_index = (c & 0x3f) >> 3;
if ((hs->sib_base = c & 7) == 5 && !(m_mod & 1))
disp_size = 4;
}
p--;
switch (disp_size) {
case 1:
hs->flags |= F_DISP8;
hs->disp.disp8 = *p;
break;
case 2:
hs->flags |= F_DISP16;
hs->disp.disp16 = *(uint16_t *)p;
break;
case 4:
hs->flags |= F_DISP32;
hs->disp.disp32 = *(uint32_t *)p;
}
p += disp_size;
} else if (pref & PRE_LOCK)
hs->flags |= F_ERROR | F_ERROR_LOCK;
if (cflags & C_IMM_P66) {
if (cflags & C_REL32) {
if (pref & PRE_66) {
hs->flags |= F_IMM16 | F_RELATIVE;
hs->imm.imm16 = *(uint16_t *)p;
p += 2;
goto disasm_done;
}
goto rel32_ok;
}
if (op64) {
hs->flags |= F_IMM64;
hs->imm.imm64 = *(uint64_t *)p;
p += 8;
} else if (!(pref & PRE_66)) {
hs->flags |= F_IMM32;
hs->imm.imm32 = *(uint32_t *)p;
p += 4;
} else
goto imm16_ok;
}
if (cflags & C_IMM16) {
imm16_ok:
hs->flags |= F_IMM16;
hs->imm.imm16 = *(uint16_t *)p;
p += 2;
}
if (cflags & C_IMM8) {
hs->flags |= F_IMM8;
hs->imm.imm8 = *p++;
}
if (cflags & C_REL32) {
rel32_ok:
hs->flags |= F_IMM32 | F_RELATIVE;
hs->imm.imm32 = *(uint32_t *)p;
p += 4;
} else if (cflags & C_REL8) {
hs->flags |= F_IMM8 | F_RELATIVE;
hs->imm.imm8 = *p++;
}
disasm_done:
if ((hs->len = (uint8_t)(p-(uint8_t *)code)) > 15) {
hs->flags |= F_ERROR | F_ERROR_LENGTH;
hs->len = 15;
}
return (unsigned int)hs->len;
}
#endif // defined(_M_X64) || defined(__x86_64__)
+112
View File
@@ -0,0 +1,112 @@
/*
* Hacker Disassembler Engine 64
* Copyright (c) 2008-2009, Vyacheslav Patkov.
* All rights reserved.
*
* hde64.h: C/C++ header file
*
*/
#ifndef _HDE64_H_
#define _HDE64_H_
/* stdint.h - C99 standard header
* http://en.wikipedia.org/wiki/stdint.h
*
* if your compiler doesn't contain "stdint.h" header (for
* example, Microsoft Visual C++), you can download file:
* http://www.azillionmonkeys.com/qed/pstdint.h
* and change next line to:
* #include "pstdint.h"
*/
#include "pstdint.h"
#define F_MODRM 0x00000001
#define F_SIB 0x00000002
#define F_IMM8 0x00000004
#define F_IMM16 0x00000008
#define F_IMM32 0x00000010
#define F_IMM64 0x00000020
#define F_DISP8 0x00000040
#define F_DISP16 0x00000080
#define F_DISP32 0x00000100
#define F_RELATIVE 0x00000200
#define F_ERROR 0x00001000
#define F_ERROR_OPCODE 0x00002000
#define F_ERROR_LENGTH 0x00004000
#define F_ERROR_LOCK 0x00008000
#define F_ERROR_OPERAND 0x00010000
#define F_PREFIX_REPNZ 0x01000000
#define F_PREFIX_REPX 0x02000000
#define F_PREFIX_REP 0x03000000
#define F_PREFIX_66 0x04000000
#define F_PREFIX_67 0x08000000
#define F_PREFIX_LOCK 0x10000000
#define F_PREFIX_SEG 0x20000000
#define F_PREFIX_REX 0x40000000
#define F_PREFIX_ANY 0x7f000000
#define PREFIX_SEGMENT_CS 0x2e
#define PREFIX_SEGMENT_SS 0x36
#define PREFIX_SEGMENT_DS 0x3e
#define PREFIX_SEGMENT_ES 0x26
#define PREFIX_SEGMENT_FS 0x64
#define PREFIX_SEGMENT_GS 0x65
#define PREFIX_LOCK 0xf0
#define PREFIX_REPNZ 0xf2
#define PREFIX_REPX 0xf3
#define PREFIX_OPERAND_SIZE 0x66
#define PREFIX_ADDRESS_SIZE 0x67
#pragma pack(push,1)
typedef struct {
uint8_t len;
uint8_t p_rep;
uint8_t p_lock;
uint8_t p_seg;
uint8_t p_66;
uint8_t p_67;
uint8_t rex;
uint8_t rex_w;
uint8_t rex_r;
uint8_t rex_x;
uint8_t rex_b;
uint8_t opcode;
uint8_t opcode2;
uint8_t modrm;
uint8_t modrm_mod;
uint8_t modrm_reg;
uint8_t modrm_rm;
uint8_t sib;
uint8_t sib_scale;
uint8_t sib_index;
uint8_t sib_base;
union {
uint8_t imm8;
uint16_t imm16;
uint32_t imm32;
uint64_t imm64;
} imm;
union {
uint8_t disp8;
uint16_t disp16;
uint32_t disp32;
} disp;
uint32_t flags;
} hde64s;
#pragma pack(pop)
#ifdef __cplusplus
extern "C" {
#endif
/* __cdecl */
unsigned int hde64_disasm(const void *code, hde64s *hs);
#ifdef __cplusplus
}
#endif
#endif /* _HDE64_H_ */
+39
View File
@@ -0,0 +1,39 @@
/*
* MinHook - The Minimalistic API Hooking Library for x64/x86
* Copyright (C) 2009-2017 Tsuda Kageyu. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. 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.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR "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 AUTHOR 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.
*/
#pragma once
#include <windows.h>
// Integer types for HDE.
typedef INT8 int8_t;
typedef INT16 int16_t;
typedef INT32 int32_t;
typedef INT64 int64_t;
typedef UINT8 uint8_t;
typedef UINT16 uint16_t;
typedef UINT32 uint32_t;
typedef UINT64 uint64_t;
+73
View File
@@ -0,0 +1,73 @@
/*
* Hacker Disassembler Engine 32 C
* Copyright (c) 2008-2009, Vyacheslav Patkov.
* All rights reserved.
*
*/
#define C_NONE 0x00
#define C_MODRM 0x01
#define C_IMM8 0x02
#define C_IMM16 0x04
#define C_IMM_P66 0x10
#define C_REL8 0x20
#define C_REL32 0x40
#define C_GROUP 0x80
#define C_ERROR 0xff
#define PRE_ANY 0x00
#define PRE_NONE 0x01
#define PRE_F2 0x02
#define PRE_F3 0x04
#define PRE_66 0x08
#define PRE_67 0x10
#define PRE_LOCK 0x20
#define PRE_SEG 0x40
#define PRE_ALL 0xff
#define DELTA_OPCODES 0x4a
#define DELTA_FPU_REG 0xf1
#define DELTA_FPU_MODRM 0xf8
#define DELTA_PREFIXES 0x130
#define DELTA_OP_LOCK_OK 0x1a1
#define DELTA_OP2_LOCK_OK 0x1b9
#define DELTA_OP_ONLY_MEM 0x1cb
#define DELTA_OP2_ONLY_MEM 0x1da
unsigned char hde32_table[] = {
0xa3,0xa8,0xa3,0xa8,0xa3,0xa8,0xa3,0xa8,0xa3,0xa8,0xa3,0xa8,0xa3,0xa8,0xa3,
0xa8,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xac,0xaa,0xb2,0xaa,0x9f,0x9f,
0x9f,0x9f,0xb5,0xa3,0xa3,0xa4,0xaa,0xaa,0xba,0xaa,0x96,0xaa,0xa8,0xaa,0xc3,
0xc3,0x96,0x96,0xb7,0xae,0xd6,0xbd,0xa3,0xc5,0xa3,0xa3,0x9f,0xc3,0x9c,0xaa,
0xaa,0xac,0xaa,0xbf,0x03,0x7f,0x11,0x7f,0x01,0x7f,0x01,0x3f,0x01,0x01,0x90,
0x82,0x7d,0x97,0x59,0x59,0x59,0x59,0x59,0x7f,0x59,0x59,0x60,0x7d,0x7f,0x7f,
0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x9a,0x88,0x7d,
0x59,0x50,0x50,0x50,0x50,0x59,0x59,0x59,0x59,0x61,0x94,0x61,0x9e,0x59,0x59,
0x85,0x59,0x92,0xa3,0x60,0x60,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,
0x59,0x59,0x9f,0x01,0x03,0x01,0x04,0x03,0xd5,0x03,0xcc,0x01,0xbc,0x03,0xf0,
0x10,0x10,0x10,0x10,0x50,0x50,0x50,0x50,0x14,0x20,0x20,0x20,0x20,0x01,0x01,
0x01,0x01,0xc4,0x02,0x10,0x00,0x00,0x00,0x00,0x01,0x01,0xc0,0xc2,0x10,0x11,
0x02,0x03,0x11,0x03,0x03,0x04,0x00,0x00,0x14,0x00,0x02,0x00,0x00,0xc6,0xc8,
0x02,0x02,0x02,0x02,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xca,
0x01,0x01,0x01,0x00,0x06,0x00,0x04,0x00,0xc0,0xc2,0x01,0x01,0x03,0x01,0xff,
0xff,0x01,0x00,0x03,0xc4,0xc4,0xc6,0x03,0x01,0x01,0x01,0xff,0x03,0x03,0x03,
0xc8,0x40,0x00,0x0a,0x00,0x04,0x00,0x00,0x00,0x00,0x7f,0x00,0x33,0x01,0x00,
0x00,0x00,0x00,0x00,0x00,0xff,0xbf,0xff,0xff,0x00,0x00,0x00,0x00,0x07,0x00,
0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xff,0xff,0x00,0x00,0x00,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x7f,0x00,0x00,0xff,0x4a,0x4a,0x4a,0x4a,0x4b,0x52,0x4a,0x4a,0x4a,0x4a,0x4f,
0x4c,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x55,0x45,0x40,0x4a,0x4a,0x4a,
0x45,0x59,0x4d,0x46,0x4a,0x5d,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,
0x4a,0x4a,0x4a,0x4a,0x4a,0x61,0x63,0x67,0x4e,0x4a,0x4a,0x6b,0x6d,0x4a,0x4a,
0x45,0x6d,0x4a,0x4a,0x44,0x45,0x4a,0x4a,0x00,0x00,0x00,0x02,0x0d,0x06,0x06,
0x06,0x06,0x0e,0x00,0x00,0x00,0x00,0x06,0x06,0x06,0x00,0x06,0x06,0x02,0x06,
0x00,0x0a,0x0a,0x07,0x07,0x06,0x02,0x05,0x05,0x02,0x02,0x00,0x00,0x04,0x04,
0x04,0x04,0x00,0x00,0x00,0x0e,0x05,0x06,0x06,0x06,0x01,0x06,0x00,0x00,0x08,
0x00,0x10,0x00,0x18,0x00,0x20,0x00,0x28,0x00,0x30,0x00,0x80,0x01,0x82,0x01,
0x86,0x00,0xf6,0xcf,0xfe,0x3f,0xab,0x00,0xb0,0x00,0xb1,0x00,0xb3,0x00,0xba,
0xf8,0xbb,0x00,0xc0,0x00,0xc1,0x00,0xc7,0xbf,0x62,0xff,0x00,0x8d,0xff,0x00,
0xc4,0xff,0x00,0xc5,0xff,0x00,0xff,0xff,0xeb,0x01,0xff,0x0e,0x12,0x08,0x00,
0x13,0x09,0x00,0x16,0x08,0x00,0x17,0x09,0x00,0x2b,0x09,0x00,0xae,0xff,0x07,
0xb2,0xff,0x00,0xb4,0xff,0x00,0xb5,0xff,0x00,0xc3,0x01,0x00,0xc7,0xff,0xbf,
0xe7,0x08,0x00,0xf0,0x02,0x00
};
+74
View File
@@ -0,0 +1,74 @@
/*
* Hacker Disassembler Engine 64 C
* Copyright (c) 2008-2009, Vyacheslav Patkov.
* All rights reserved.
*
*/
#define C_NONE 0x00
#define C_MODRM 0x01
#define C_IMM8 0x02
#define C_IMM16 0x04
#define C_IMM_P66 0x10
#define C_REL8 0x20
#define C_REL32 0x40
#define C_GROUP 0x80
#define C_ERROR 0xff
#define PRE_ANY 0x00
#define PRE_NONE 0x01
#define PRE_F2 0x02
#define PRE_F3 0x04
#define PRE_66 0x08
#define PRE_67 0x10
#define PRE_LOCK 0x20
#define PRE_SEG 0x40
#define PRE_ALL 0xff
#define DELTA_OPCODES 0x4a
#define DELTA_FPU_REG 0xfd
#define DELTA_FPU_MODRM 0x104
#define DELTA_PREFIXES 0x13c
#define DELTA_OP_LOCK_OK 0x1ae
#define DELTA_OP2_LOCK_OK 0x1c6
#define DELTA_OP_ONLY_MEM 0x1d8
#define DELTA_OP2_ONLY_MEM 0x1e7
unsigned char hde64_table[] = {
0xa5,0xaa,0xa5,0xb8,0xa5,0xaa,0xa5,0xaa,0xa5,0xb8,0xa5,0xb8,0xa5,0xb8,0xa5,
0xb8,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xac,0xc0,0xcc,0xc0,0xa1,0xa1,
0xa1,0xa1,0xb1,0xa5,0xa5,0xa6,0xc0,0xc0,0xd7,0xda,0xe0,0xc0,0xe4,0xc0,0xea,
0xea,0xe0,0xe0,0x98,0xc8,0xee,0xf1,0xa5,0xd3,0xa5,0xa5,0xa1,0xea,0x9e,0xc0,
0xc0,0xc2,0xc0,0xe6,0x03,0x7f,0x11,0x7f,0x01,0x7f,0x01,0x3f,0x01,0x01,0xab,
0x8b,0x90,0x64,0x5b,0x5b,0x5b,0x5b,0x5b,0x92,0x5b,0x5b,0x76,0x90,0x92,0x92,
0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x6a,0x73,0x90,
0x5b,0x52,0x52,0x52,0x52,0x5b,0x5b,0x5b,0x5b,0x77,0x7c,0x77,0x85,0x5b,0x5b,
0x70,0x5b,0x7a,0xaf,0x76,0x76,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,
0x5b,0x5b,0x86,0x01,0x03,0x01,0x04,0x03,0xd5,0x03,0xd5,0x03,0xcc,0x01,0xbc,
0x03,0xf0,0x03,0x03,0x04,0x00,0x50,0x50,0x50,0x50,0xff,0x20,0x20,0x20,0x20,
0x01,0x01,0x01,0x01,0xc4,0x02,0x10,0xff,0xff,0xff,0x01,0x00,0x03,0x11,0xff,
0x03,0xc4,0xc6,0xc8,0x02,0x10,0x00,0xff,0xcc,0x01,0x01,0x01,0x00,0x00,0x00,
0x00,0x01,0x01,0x03,0x01,0xff,0xff,0xc0,0xc2,0x10,0x11,0x02,0x03,0x01,0x01,
0x01,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0x10,
0x10,0x10,0x10,0x02,0x10,0x00,0x00,0xc6,0xc8,0x02,0x02,0x02,0x02,0x06,0x00,
0x04,0x00,0x02,0xff,0x00,0xc0,0xc2,0x01,0x01,0x03,0x03,0x03,0xca,0x40,0x00,
0x0a,0x00,0x04,0x00,0x00,0x00,0x00,0x7f,0x00,0x33,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0xff,0xbf,0xff,0xff,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0xff,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
0x00,0x00,0x00,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x00,0x00,
0xff,0x40,0x40,0x40,0x40,0x41,0x49,0x40,0x40,0x40,0x40,0x4c,0x42,0x40,0x40,
0x40,0x40,0x40,0x40,0x40,0x40,0x4f,0x44,0x53,0x40,0x40,0x40,0x44,0x57,0x43,
0x5c,0x40,0x60,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
0x40,0x40,0x64,0x66,0x6e,0x6b,0x40,0x40,0x6a,0x46,0x40,0x40,0x44,0x46,0x40,
0x40,0x5b,0x44,0x40,0x40,0x00,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x01,0x06,
0x06,0x02,0x06,0x06,0x00,0x06,0x00,0x0a,0x0a,0x00,0x00,0x00,0x02,0x07,0x07,
0x06,0x02,0x0d,0x06,0x06,0x06,0x0e,0x05,0x05,0x02,0x02,0x00,0x00,0x04,0x04,
0x04,0x04,0x05,0x06,0x06,0x06,0x00,0x00,0x00,0x0e,0x00,0x00,0x08,0x00,0x10,
0x00,0x18,0x00,0x20,0x00,0x28,0x00,0x30,0x00,0x80,0x01,0x82,0x01,0x86,0x00,
0xf6,0xcf,0xfe,0x3f,0xab,0x00,0xb0,0x00,0xb1,0x00,0xb3,0x00,0xba,0xf8,0xbb,
0x00,0xc0,0x00,0xc1,0x00,0xc7,0xbf,0x62,0xff,0x00,0x8d,0xff,0x00,0xc4,0xff,
0x00,0xc5,0xff,0x00,0xff,0xff,0xeb,0x01,0xff,0x0e,0x12,0x08,0x00,0x13,0x09,
0x00,0x16,0x08,0x00,0x17,0x09,0x00,0x2b,0x09,0x00,0xae,0xff,0x07,0xb2,0xff,
0x00,0xb4,0xff,0x00,0xb5,0xff,0x00,0xc3,0x01,0x00,0xc7,0xff,0xbf,0xe7,0x08,
0x00,0xf0,0x02,0x00
};
+889
View File
@@ -0,0 +1,889 @@
/*
* MinHook - The Minimalistic API Hooking Library for x64/x86
* Copyright (C) 2009-2017 Tsuda Kageyu.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. 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.
*
* 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 HOLDER
* 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.
*/
#include <windows.h>
#include <tlhelp32.h>
#include <limits.h>
#include "../include/MinHook.h"
#include "buffer.h"
#include "trampoline.h"
#ifndef ARRAYSIZE
#define ARRAYSIZE(A) (sizeof(A)/sizeof((A)[0]))
#endif
// Initial capacity of the HOOK_ENTRY buffer.
#define INITIAL_HOOK_CAPACITY 32
// Initial capacity of the thread IDs buffer.
#define INITIAL_THREAD_CAPACITY 128
// Special hook position values.
#define INVALID_HOOK_POS UINT_MAX
#define ALL_HOOKS_POS UINT_MAX
// Freeze() action argument defines.
#define ACTION_DISABLE 0
#define ACTION_ENABLE 1
#define ACTION_APPLY_QUEUED 2
// Thread access rights for suspending/resuming threads.
#define THREAD_ACCESS \
(THREAD_SUSPEND_RESUME | THREAD_GET_CONTEXT | THREAD_QUERY_INFORMATION | THREAD_SET_CONTEXT)
// Hook information.
typedef struct _HOOK_ENTRY
{
LPVOID pTarget; // Address of the target function.
LPVOID pDetour; // Address of the detour or relay function.
LPVOID pTrampoline; // Address of the trampoline function.
UINT8 backup[8]; // Original prologue of the target function.
UINT8 patchAbove : 1; // Uses the hot patch area.
UINT8 isEnabled : 1; // Enabled.
UINT8 queueEnable : 1; // Queued for enabling/disabling when != isEnabled.
UINT nIP : 4; // Count of the instruction boundaries.
UINT8 oldIPs[8]; // Instruction boundaries of the target function.
UINT8 newIPs[8]; // Instruction boundaries of the trampoline function.
} HOOK_ENTRY, *PHOOK_ENTRY;
// Suspended threads for Freeze()/Unfreeze().
typedef struct _FROZEN_THREADS
{
LPDWORD pItems; // Data heap
UINT capacity; // Size of allocated data heap, items
UINT size; // Actual number of data items
} FROZEN_THREADS, *PFROZEN_THREADS;
//-------------------------------------------------------------------------
// Global Variables:
//-------------------------------------------------------------------------
// Spin lock flag for EnterSpinLock()/LeaveSpinLock().
volatile LONG g_isLocked = FALSE;
// Private heap handle. If not NULL, this library is initialized.
HANDLE g_hHeap = NULL;
// Hook entries.
struct
{
PHOOK_ENTRY pItems; // Data heap
UINT capacity; // Size of allocated data heap, items
UINT size; // Actual number of data items
} g_hooks;
//-------------------------------------------------------------------------
// Returns INVALID_HOOK_POS if not found.
static UINT FindHookEntry(LPVOID pTarget)
{
UINT i;
for (i = 0; i < g_hooks.size; ++i)
{
if ((ULONG_PTR)pTarget == (ULONG_PTR)g_hooks.pItems[i].pTarget)
return i;
}
return INVALID_HOOK_POS;
}
//-------------------------------------------------------------------------
static PHOOK_ENTRY AddHookEntry()
{
if (g_hooks.pItems == NULL)
{
g_hooks.capacity = INITIAL_HOOK_CAPACITY;
g_hooks.pItems = (PHOOK_ENTRY)HeapAlloc(
g_hHeap, 0, g_hooks.capacity * sizeof(HOOK_ENTRY));
if (g_hooks.pItems == NULL)
return NULL;
}
else if (g_hooks.size >= g_hooks.capacity)
{
PHOOK_ENTRY p = (PHOOK_ENTRY)HeapReAlloc(
g_hHeap, 0, g_hooks.pItems, (g_hooks.capacity * 2) * sizeof(HOOK_ENTRY));
if (p == NULL)
return NULL;
g_hooks.capacity *= 2;
g_hooks.pItems = p;
}
return &g_hooks.pItems[g_hooks.size++];
}
//-------------------------------------------------------------------------
static void DeleteHookEntry(UINT pos)
{
if (pos < g_hooks.size - 1)
g_hooks.pItems[pos] = g_hooks.pItems[g_hooks.size - 1];
g_hooks.size--;
if (g_hooks.capacity / 2 >= INITIAL_HOOK_CAPACITY && g_hooks.capacity / 2 >= g_hooks.size)
{
PHOOK_ENTRY p = (PHOOK_ENTRY)HeapReAlloc(
g_hHeap, 0, g_hooks.pItems, (g_hooks.capacity / 2) * sizeof(HOOK_ENTRY));
if (p == NULL)
return;
g_hooks.capacity /= 2;
g_hooks.pItems = p;
}
}
//-------------------------------------------------------------------------
static DWORD_PTR FindOldIP(PHOOK_ENTRY pHook, DWORD_PTR ip)
{
UINT i;
if (pHook->patchAbove && ip == ((DWORD_PTR)pHook->pTarget - sizeof(JMP_REL)))
return (DWORD_PTR)pHook->pTarget;
for (i = 0; i < pHook->nIP; ++i)
{
if (ip == ((DWORD_PTR)pHook->pTrampoline + pHook->newIPs[i]))
return (DWORD_PTR)pHook->pTarget + pHook->oldIPs[i];
}
#if defined(_M_X64) || defined(__x86_64__)
// Check relay function.
if (ip == (DWORD_PTR)pHook->pDetour)
return (DWORD_PTR)pHook->pTarget;
#endif
return 0;
}
//-------------------------------------------------------------------------
static DWORD_PTR FindNewIP(PHOOK_ENTRY pHook, DWORD_PTR ip)
{
UINT i;
for (i = 0; i < pHook->nIP; ++i)
{
if (ip == ((DWORD_PTR)pHook->pTarget + pHook->oldIPs[i]))
return (DWORD_PTR)pHook->pTrampoline + pHook->newIPs[i];
}
return 0;
}
//-------------------------------------------------------------------------
static void ProcessThreadIPs(HANDLE hThread, UINT pos, UINT action)
{
// If the thread suspended in the overwritten area,
// move IP to the proper address.
CONTEXT c;
#if defined(_M_X64) || defined(__x86_64__)
DWORD64 *pIP = &c.Rip;
#else
DWORD *pIP = &c.Eip;
#endif
UINT count;
c.ContextFlags = CONTEXT_CONTROL;
if (!GetThreadContext(hThread, &c))
return;
if (pos == ALL_HOOKS_POS)
{
pos = 0;
count = g_hooks.size;
}
else
{
count = pos + 1;
}
for (; pos < count; ++pos)
{
PHOOK_ENTRY pHook = &g_hooks.pItems[pos];
BOOL enable;
DWORD_PTR ip;
switch (action)
{
case ACTION_DISABLE:
enable = FALSE;
break;
case ACTION_ENABLE:
enable = TRUE;
break;
default: // ACTION_APPLY_QUEUED
enable = pHook->queueEnable;
break;
}
if (pHook->isEnabled == enable)
continue;
if (enable)
ip = FindNewIP(pHook, *pIP);
else
ip = FindOldIP(pHook, *pIP);
if (ip != 0)
{
*pIP = ip;
SetThreadContext(hThread, &c);
}
}
}
//-------------------------------------------------------------------------
static VOID EnumerateThreads(PFROZEN_THREADS pThreads)
{
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);
if (hSnapshot != INVALID_HANDLE_VALUE)
{
THREADENTRY32 te;
te.dwSize = sizeof(THREADENTRY32);
if (Thread32First(hSnapshot, &te))
{
do
{
if (te.dwSize >= (FIELD_OFFSET(THREADENTRY32, th32OwnerProcessID) + sizeof(DWORD))
&& te.th32OwnerProcessID == GetCurrentProcessId()
&& te.th32ThreadID != GetCurrentThreadId())
{
if (pThreads->pItems == NULL)
{
pThreads->capacity = INITIAL_THREAD_CAPACITY;
pThreads->pItems
= (LPDWORD)HeapAlloc(g_hHeap, 0, pThreads->capacity * sizeof(DWORD));
if (pThreads->pItems == NULL)
break;
}
else if (pThreads->size >= pThreads->capacity)
{
LPDWORD p = (LPDWORD)HeapReAlloc(
g_hHeap, 0, pThreads->pItems, (pThreads->capacity * 2) * sizeof(DWORD));
if (p == NULL)
break;
pThreads->capacity *= 2;
pThreads->pItems = p;
}
pThreads->pItems[pThreads->size++] = te.th32ThreadID;
}
te.dwSize = sizeof(THREADENTRY32);
} while (Thread32Next(hSnapshot, &te));
}
CloseHandle(hSnapshot);
}
}
//-------------------------------------------------------------------------
static VOID Freeze(PFROZEN_THREADS pThreads, UINT pos, UINT action)
{
pThreads->pItems = NULL;
pThreads->capacity = 0;
pThreads->size = 0;
EnumerateThreads(pThreads);
if (pThreads->pItems != NULL)
{
UINT i;
for (i = 0; i < pThreads->size; ++i)
{
HANDLE hThread = OpenThread(THREAD_ACCESS, FALSE, pThreads->pItems[i]);
if (hThread != NULL)
{
SuspendThread(hThread);
ProcessThreadIPs(hThread, pos, action);
CloseHandle(hThread);
}
}
}
}
//-------------------------------------------------------------------------
static VOID Unfreeze(PFROZEN_THREADS pThreads)
{
if (pThreads->pItems != NULL)
{
UINT i;
for (i = 0; i < pThreads->size; ++i)
{
HANDLE hThread = OpenThread(THREAD_ACCESS, FALSE, pThreads->pItems[i]);
if (hThread != NULL)
{
ResumeThread(hThread);
CloseHandle(hThread);
}
}
HeapFree(g_hHeap, 0, pThreads->pItems);
}
}
//-------------------------------------------------------------------------
static MH_STATUS EnableHookLL(UINT pos, BOOL enable)
{
PHOOK_ENTRY pHook = &g_hooks.pItems[pos];
DWORD oldProtect;
SIZE_T patchSize = sizeof(JMP_REL);
LPBYTE pPatchTarget = (LPBYTE)pHook->pTarget;
if (pHook->patchAbove)
{
pPatchTarget -= sizeof(JMP_REL);
patchSize += sizeof(JMP_REL_SHORT);
}
if (!VirtualProtect(pPatchTarget, patchSize, PAGE_EXECUTE_READWRITE, &oldProtect))
return MH_ERROR_MEMORY_PROTECT;
if (enable)
{
PJMP_REL pJmp = (PJMP_REL)pPatchTarget;
pJmp->opcode = 0xE9;
pJmp->operand = (UINT32)((LPBYTE)pHook->pDetour - (pPatchTarget + sizeof(JMP_REL)));
if (pHook->patchAbove)
{
PJMP_REL_SHORT pShortJmp = (PJMP_REL_SHORT)pHook->pTarget;
pShortJmp->opcode = 0xEB;
pShortJmp->operand = (UINT8)(0 - (sizeof(JMP_REL_SHORT) + sizeof(JMP_REL)));
}
}
else
{
if (pHook->patchAbove)
memcpy(pPatchTarget, pHook->backup, sizeof(JMP_REL) + sizeof(JMP_REL_SHORT));
else
memcpy(pPatchTarget, pHook->backup, sizeof(JMP_REL));
}
VirtualProtect(pPatchTarget, patchSize, oldProtect, &oldProtect);
// Just-in-case measure.
FlushInstructionCache(GetCurrentProcess(), pPatchTarget, patchSize);
pHook->isEnabled = enable;
pHook->queueEnable = enable;
return MH_OK;
}
//-------------------------------------------------------------------------
static MH_STATUS EnableAllHooksLL(BOOL enable)
{
MH_STATUS status = MH_OK;
UINT i, first = INVALID_HOOK_POS;
for (i = 0; i < g_hooks.size; ++i)
{
if (g_hooks.pItems[i].isEnabled != enable)
{
first = i;
break;
}
}
if (first != INVALID_HOOK_POS)
{
FROZEN_THREADS threads;
Freeze(&threads, ALL_HOOKS_POS, enable ? ACTION_ENABLE : ACTION_DISABLE);
for (i = first; i < g_hooks.size; ++i)
{
if (g_hooks.pItems[i].isEnabled != enable)
{
status = EnableHookLL(i, enable);
if (status != MH_OK)
break;
}
}
Unfreeze(&threads);
}
return status;
}
//-------------------------------------------------------------------------
static VOID EnterSpinLock(VOID)
{
SIZE_T spinCount = 0;
// Wait until the flag is FALSE.
while (InterlockedCompareExchange(&g_isLocked, TRUE, FALSE) != FALSE)
{
// No need to generate a memory barrier here, since InterlockedCompareExchange()
// generates a full memory barrier itself.
// Prevent the loop from being too busy.
if (spinCount < 32)
Sleep(0);
else
Sleep(1);
spinCount++;
}
}
//-------------------------------------------------------------------------
static VOID LeaveSpinLock(VOID)
{
// No need to generate a memory barrier here, since InterlockedExchange()
// generates a full memory barrier itself.
InterlockedExchange(&g_isLocked, FALSE);
}
//-------------------------------------------------------------------------
MH_STATUS WINAPI MH_Initialize(VOID)
{
MH_STATUS status = MH_OK;
EnterSpinLock();
if (g_hHeap == NULL)
{
g_hHeap = HeapCreate(0, 0, 0);
if (g_hHeap != NULL)
{
// Initialize the internal function buffer.
InitializeBuffer();
}
else
{
status = MH_ERROR_MEMORY_ALLOC;
}
}
else
{
status = MH_ERROR_ALREADY_INITIALIZED;
}
LeaveSpinLock();
return status;
}
//-------------------------------------------------------------------------
MH_STATUS WINAPI MH_Uninitialize(VOID)
{
MH_STATUS status = MH_OK;
EnterSpinLock();
if (g_hHeap != NULL)
{
status = EnableAllHooksLL(FALSE);
if (status == MH_OK)
{
// Free the internal function buffer.
// HeapFree is actually not required, but some tools detect a false
// memory leak without HeapFree.
UninitializeBuffer();
HeapFree(g_hHeap, 0, g_hooks.pItems);
HeapDestroy(g_hHeap);
g_hHeap = NULL;
g_hooks.pItems = NULL;
g_hooks.capacity = 0;
g_hooks.size = 0;
}
}
else
{
status = MH_ERROR_NOT_INITIALIZED;
}
LeaveSpinLock();
return status;
}
//-------------------------------------------------------------------------
MH_STATUS WINAPI MH_CreateHook(LPVOID pTarget, LPVOID pDetour, LPVOID *ppOriginal)
{
MH_STATUS status = MH_OK;
EnterSpinLock();
if (g_hHeap != NULL)
{
if (IsExecutableAddress(pTarget) && IsExecutableAddress(pDetour))
{
UINT pos = FindHookEntry(pTarget);
if (pos == INVALID_HOOK_POS)
{
LPVOID pBuffer = AllocateBuffer(pTarget);
if (pBuffer != NULL)
{
TRAMPOLINE ct;
ct.pTarget = pTarget;
ct.pDetour = pDetour;
ct.pTrampoline = pBuffer;
if (CreateTrampolineFunction(&ct))
{
PHOOK_ENTRY pHook = AddHookEntry();
if (pHook != NULL)
{
pHook->pTarget = ct.pTarget;
#if defined(_M_X64) || defined(__x86_64__)
pHook->pDetour = ct.pRelay;
#else
pHook->pDetour = ct.pDetour;
#endif
pHook->pTrampoline = ct.pTrampoline;
pHook->patchAbove = ct.patchAbove;
pHook->isEnabled = FALSE;
pHook->queueEnable = FALSE;
pHook->nIP = ct.nIP;
memcpy(pHook->oldIPs, ct.oldIPs, ARRAYSIZE(ct.oldIPs));
memcpy(pHook->newIPs, ct.newIPs, ARRAYSIZE(ct.newIPs));
// Back up the target function.
if (ct.patchAbove)
{
memcpy(
pHook->backup,
(LPBYTE)pTarget - sizeof(JMP_REL),
sizeof(JMP_REL) + sizeof(JMP_REL_SHORT));
}
else
{
memcpy(pHook->backup, pTarget, sizeof(JMP_REL));
}
if (ppOriginal != NULL)
*ppOriginal = pHook->pTrampoline;
}
else
{
status = MH_ERROR_MEMORY_ALLOC;
}
}
else
{
status = MH_ERROR_UNSUPPORTED_FUNCTION;
}
if (status != MH_OK)
{
FreeBuffer(pBuffer);
}
}
else
{
status = MH_ERROR_MEMORY_ALLOC;
}
}
else
{
status = MH_ERROR_ALREADY_CREATED;
}
}
else
{
status = MH_ERROR_NOT_EXECUTABLE;
}
}
else
{
status = MH_ERROR_NOT_INITIALIZED;
}
LeaveSpinLock();
return status;
}
//-------------------------------------------------------------------------
MH_STATUS WINAPI MH_RemoveHook(LPVOID pTarget)
{
MH_STATUS status = MH_OK;
EnterSpinLock();
if (g_hHeap != NULL)
{
UINT pos = FindHookEntry(pTarget);
if (pos != INVALID_HOOK_POS)
{
if (g_hooks.pItems[pos].isEnabled)
{
FROZEN_THREADS threads;
Freeze(&threads, pos, ACTION_DISABLE);
status = EnableHookLL(pos, FALSE);
Unfreeze(&threads);
}
if (status == MH_OK)
{
FreeBuffer(g_hooks.pItems[pos].pTrampoline);
DeleteHookEntry(pos);
}
}
else
{
status = MH_ERROR_NOT_CREATED;
}
}
else
{
status = MH_ERROR_NOT_INITIALIZED;
}
LeaveSpinLock();
return status;
}
//-------------------------------------------------------------------------
static MH_STATUS EnableHook(LPVOID pTarget, BOOL enable)
{
MH_STATUS status = MH_OK;
EnterSpinLock();
if (g_hHeap != NULL)
{
if (pTarget == MH_ALL_HOOKS)
{
status = EnableAllHooksLL(enable);
}
else
{
FROZEN_THREADS threads;
UINT pos = FindHookEntry(pTarget);
if (pos != INVALID_HOOK_POS)
{
if (g_hooks.pItems[pos].isEnabled != enable)
{
Freeze(&threads, pos, ACTION_ENABLE);
status = EnableHookLL(pos, enable);
Unfreeze(&threads);
}
else
{
status = enable ? MH_ERROR_ENABLED : MH_ERROR_DISABLED;
}
}
else
{
status = MH_ERROR_NOT_CREATED;
}
}
}
else
{
status = MH_ERROR_NOT_INITIALIZED;
}
LeaveSpinLock();
return status;
}
//-------------------------------------------------------------------------
MH_STATUS WINAPI MH_EnableHook(LPVOID pTarget)
{
return EnableHook(pTarget, TRUE);
}
//-------------------------------------------------------------------------
MH_STATUS WINAPI MH_DisableHook(LPVOID pTarget)
{
return EnableHook(pTarget, FALSE);
}
//-------------------------------------------------------------------------
static MH_STATUS QueueHook(LPVOID pTarget, BOOL queueEnable)
{
MH_STATUS status = MH_OK;
EnterSpinLock();
if (g_hHeap != NULL)
{
if (pTarget == MH_ALL_HOOKS)
{
UINT i;
for (i = 0; i < g_hooks.size; ++i)
g_hooks.pItems[i].queueEnable = queueEnable;
}
else
{
UINT pos = FindHookEntry(pTarget);
if (pos != INVALID_HOOK_POS)
{
g_hooks.pItems[pos].queueEnable = queueEnable;
}
else
{
status = MH_ERROR_NOT_CREATED;
}
}
}
else
{
status = MH_ERROR_NOT_INITIALIZED;
}
LeaveSpinLock();
return status;
}
//-------------------------------------------------------------------------
MH_STATUS WINAPI MH_QueueEnableHook(LPVOID pTarget)
{
return QueueHook(pTarget, TRUE);
}
//-------------------------------------------------------------------------
MH_STATUS WINAPI MH_QueueDisableHook(LPVOID pTarget)
{
return QueueHook(pTarget, FALSE);
}
//-------------------------------------------------------------------------
MH_STATUS WINAPI MH_ApplyQueued(VOID)
{
MH_STATUS status = MH_OK;
UINT i, first = INVALID_HOOK_POS;
EnterSpinLock();
if (g_hHeap != NULL)
{
for (i = 0; i < g_hooks.size; ++i)
{
if (g_hooks.pItems[i].isEnabled != g_hooks.pItems[i].queueEnable)
{
first = i;
break;
}
}
if (first != INVALID_HOOK_POS)
{
FROZEN_THREADS threads;
Freeze(&threads, ALL_HOOKS_POS, ACTION_APPLY_QUEUED);
for (i = first; i < g_hooks.size; ++i)
{
PHOOK_ENTRY pHook = &g_hooks.pItems[i];
if (pHook->isEnabled != pHook->queueEnable)
{
status = EnableHookLL(i, pHook->queueEnable);
if (status != MH_OK)
break;
}
}
Unfreeze(&threads);
}
}
else
{
status = MH_ERROR_NOT_INITIALIZED;
}
LeaveSpinLock();
return status;
}
//-------------------------------------------------------------------------
MH_STATUS WINAPI MH_CreateHookApiEx(
LPCWSTR pszModule, LPCSTR pszProcName, LPVOID pDetour,
LPVOID *ppOriginal, LPVOID *ppTarget)
{
HMODULE hModule;
LPVOID pTarget;
hModule = GetModuleHandleW(pszModule);
if (hModule == NULL)
return MH_ERROR_MODULE_NOT_FOUND;
pTarget = (LPVOID)GetProcAddress(hModule, pszProcName);
if (pTarget == NULL)
return MH_ERROR_FUNCTION_NOT_FOUND;
if(ppTarget != NULL)
*ppTarget = pTarget;
return MH_CreateHook(pTarget, pDetour, ppOriginal);
}
//-------------------------------------------------------------------------
MH_STATUS WINAPI MH_CreateHookApi(
LPCWSTR pszModule, LPCSTR pszProcName, LPVOID pDetour, LPVOID *ppOriginal)
{
return MH_CreateHookApiEx(pszModule, pszProcName, pDetour, ppOriginal, NULL);
}
//-------------------------------------------------------------------------
const char * WINAPI MH_StatusToString(MH_STATUS status)
{
#define MH_ST2STR(x) \
case x: \
return #x;
switch (status) {
MH_ST2STR(MH_UNKNOWN)
MH_ST2STR(MH_OK)
MH_ST2STR(MH_ERROR_ALREADY_INITIALIZED)
MH_ST2STR(MH_ERROR_NOT_INITIALIZED)
MH_ST2STR(MH_ERROR_ALREADY_CREATED)
MH_ST2STR(MH_ERROR_NOT_CREATED)
MH_ST2STR(MH_ERROR_ENABLED)
MH_ST2STR(MH_ERROR_DISABLED)
MH_ST2STR(MH_ERROR_NOT_EXECUTABLE)
MH_ST2STR(MH_ERROR_UNSUPPORTED_FUNCTION)
MH_ST2STR(MH_ERROR_MEMORY_ALLOC)
MH_ST2STR(MH_ERROR_MEMORY_PROTECT)
MH_ST2STR(MH_ERROR_MODULE_NOT_FOUND)
MH_ST2STR(MH_ERROR_FUNCTION_NOT_FOUND)
}
#undef MH_ST2STR
return "(unknown)";
}
+316
View File
@@ -0,0 +1,316 @@
/*
* MinHook - The Minimalistic API Hooking Library for x64/x86
* Copyright (C) 2009-2017 Tsuda Kageyu.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. 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.
*
* 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 HOLDER
* 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.
*/
#include <windows.h>
#ifndef ARRAYSIZE
#define ARRAYSIZE(A) (sizeof(A)/sizeof((A)[0]))
#endif
#if defined(_M_X64) || defined(__x86_64__)
#include "./hde/hde64.h"
typedef hde64s HDE;
#define HDE_DISASM(code, hs) hde64_disasm(code, hs)
#else
#include "./hde/hde32.h"
typedef hde32s HDE;
#define HDE_DISASM(code, hs) hde32_disasm(code, hs)
#endif
#include "trampoline.h"
#include "buffer.h"
// Maximum size of a trampoline function.
#if defined(_M_X64) || defined(__x86_64__)
#define TRAMPOLINE_MAX_SIZE (MEMORY_SLOT_SIZE - sizeof(JMP_ABS))
#else
#define TRAMPOLINE_MAX_SIZE MEMORY_SLOT_SIZE
#endif
//-------------------------------------------------------------------------
static BOOL IsCodePadding(LPBYTE pInst, UINT size)
{
UINT i;
if (pInst[0] != 0x00 && pInst[0] != 0x90 && pInst[0] != 0xCC)
return FALSE;
for (i = 1; i < size; ++i)
{
if (pInst[i] != pInst[0])
return FALSE;
}
return TRUE;
}
//-------------------------------------------------------------------------
BOOL CreateTrampolineFunction(PTRAMPOLINE ct)
{
#if defined(_M_X64) || defined(__x86_64__)
CALL_ABS call = {
0xFF, 0x15, 0x00000002, // FF15 00000002: CALL [RIP+8]
0xEB, 0x08, // EB 08: JMP +10
0x0000000000000000ULL // Absolute destination address
};
JMP_ABS jmp = {
0xFF, 0x25, 0x00000000, // FF25 00000000: JMP [RIP+6]
0x0000000000000000ULL // Absolute destination address
};
JCC_ABS jcc = {
0x70, 0x0E, // 7* 0E: J** +16
0xFF, 0x25, 0x00000000, // FF25 00000000: JMP [RIP+6]
0x0000000000000000ULL // Absolute destination address
};
#else
CALL_REL call = {
0xE8, // E8 xxxxxxxx: CALL +5+xxxxxxxx
0x00000000 // Relative destination address
};
JMP_REL jmp = {
0xE9, // E9 xxxxxxxx: JMP +5+xxxxxxxx
0x00000000 // Relative destination address
};
JCC_REL jcc = {
0x0F, 0x80, // 0F8* xxxxxxxx: J** +6+xxxxxxxx
0x00000000 // Relative destination address
};
#endif
UINT8 oldPos = 0;
UINT8 newPos = 0;
ULONG_PTR jmpDest = 0; // Destination address of an internal jump.
BOOL finished = FALSE; // Is the function completed?
#if defined(_M_X64) || defined(__x86_64__)
UINT8 instBuf[16];
#endif
ct->patchAbove = FALSE;
ct->nIP = 0;
do
{
HDE hs;
UINT copySize;
LPVOID pCopySrc;
ULONG_PTR pOldInst = (ULONG_PTR)ct->pTarget + oldPos;
ULONG_PTR pNewInst = (ULONG_PTR)ct->pTrampoline + newPos;
copySize = HDE_DISASM((LPVOID)pOldInst, &hs);
if (hs.flags & F_ERROR)
return FALSE;
pCopySrc = (LPVOID)pOldInst;
if (oldPos >= sizeof(JMP_REL))
{
// The trampoline function is long enough.
// Complete the function with the jump to the target function.
#if defined(_M_X64) || defined(__x86_64__)
jmp.address = pOldInst;
#else
jmp.operand = (UINT32)(pOldInst - (pNewInst + sizeof(jmp)));
#endif
pCopySrc = &jmp;
copySize = sizeof(jmp);
finished = TRUE;
}
#if defined(_M_X64) || defined(__x86_64__)
else if ((hs.modrm & 0xC7) == 0x05)
{
// Instructions using RIP relative addressing. (ModR/M = 00???101B)
// Modify the RIP relative address.
PUINT32 pRelAddr;
// Avoid using memcpy to reduce the footprint.
#ifndef _MSC_VER
memcpy(instBuf, (LPBYTE)pOldInst, copySize);
#else
__movsb(instBuf, (LPBYTE)pOldInst, copySize);
#endif
pCopySrc = instBuf;
// Relative address is stored at (instruction length - immediate value length - 4).
pRelAddr = (PUINT32)(instBuf + hs.len - ((hs.flags & 0x3C) >> 2) - 4);
*pRelAddr
= (UINT32)((pOldInst + hs.len + (INT32)hs.disp.disp32) - (pNewInst + hs.len));
// Complete the function if JMP (FF /4).
if (hs.opcode == 0xFF && hs.modrm_reg == 4)
finished = TRUE;
}
#endif
else if (hs.opcode == 0xE8)
{
// Direct relative CALL
ULONG_PTR dest = pOldInst + hs.len + (INT32)hs.imm.imm32;
#if defined(_M_X64) || defined(__x86_64__)
call.address = dest;
#else
call.operand = (UINT32)(dest - (pNewInst + sizeof(call)));
#endif
pCopySrc = &call;
copySize = sizeof(call);
}
else if ((hs.opcode & 0xFD) == 0xE9)
{
// Direct relative JMP (EB or E9)
ULONG_PTR dest = pOldInst + hs.len;
if (hs.opcode == 0xEB) // isShort jmp
dest += (INT8)hs.imm.imm8;
else
dest += (INT32)hs.imm.imm32;
// Simply copy an internal jump.
if ((ULONG_PTR)ct->pTarget <= dest
&& dest < ((ULONG_PTR)ct->pTarget + sizeof(JMP_REL)))
{
if (jmpDest < dest)
jmpDest = dest;
}
else
{
#if defined(_M_X64) || defined(__x86_64__)
jmp.address = dest;
#else
jmp.operand = (UINT32)(dest - (pNewInst + sizeof(jmp)));
#endif
pCopySrc = &jmp;
copySize = sizeof(jmp);
// Exit the function If it is not in the branch
finished = (pOldInst >= jmpDest);
}
}
else if ((hs.opcode & 0xF0) == 0x70
|| (hs.opcode & 0xFC) == 0xE0
|| (hs.opcode2 & 0xF0) == 0x80)
{
// Direct relative Jcc
ULONG_PTR dest = pOldInst + hs.len;
if ((hs.opcode & 0xF0) == 0x70 // Jcc
|| (hs.opcode & 0xFC) == 0xE0) // LOOPNZ/LOOPZ/LOOP/JECXZ
dest += (INT8)hs.imm.imm8;
else
dest += (INT32)hs.imm.imm32;
// Simply copy an internal jump.
if ((ULONG_PTR)ct->pTarget <= dest
&& dest < ((ULONG_PTR)ct->pTarget + sizeof(JMP_REL)))
{
if (jmpDest < dest)
jmpDest = dest;
}
else if ((hs.opcode & 0xFC) == 0xE0)
{
// LOOPNZ/LOOPZ/LOOP/JCXZ/JECXZ to the outside are not supported.
return FALSE;
}
else
{
UINT8 cond = ((hs.opcode != 0x0F ? hs.opcode : hs.opcode2) & 0x0F);
#if defined(_M_X64) || defined(__x86_64__)
// Invert the condition in x64 mode to simplify the conditional jump logic.
jcc.opcode = 0x71 ^ cond;
jcc.address = dest;
#else
jcc.opcode1 = 0x80 | cond;
jcc.operand = (UINT32)(dest - (pNewInst + sizeof(jcc)));
#endif
pCopySrc = &jcc;
copySize = sizeof(jcc);
}
}
else if ((hs.opcode & 0xFE) == 0xC2)
{
// RET (C2 or C3)
// Complete the function if not in a branch.
finished = (pOldInst >= jmpDest);
}
// Can't alter the instruction length in a branch.
if (pOldInst < jmpDest && copySize != hs.len)
return FALSE;
// Trampoline function is too large.
if ((newPos + copySize) > TRAMPOLINE_MAX_SIZE)
return FALSE;
// Trampoline function has too many instructions.
if (ct->nIP >= ARRAYSIZE(ct->oldIPs))
return FALSE;
ct->oldIPs[ct->nIP] = oldPos;
ct->newIPs[ct->nIP] = newPos;
ct->nIP++;
// Avoid using memcpy to reduce the footprint.
#ifndef _MSC_VER
memcpy((LPBYTE)ct->pTrampoline + newPos, pCopySrc, copySize);
#else
__movsb((LPBYTE)ct->pTrampoline + newPos, pCopySrc, copySize);
#endif
newPos += copySize;
oldPos += hs.len;
}
while (!finished);
// Is there enough place for a long jump?
if (oldPos < sizeof(JMP_REL)
&& !IsCodePadding((LPBYTE)ct->pTarget + oldPos, sizeof(JMP_REL) - oldPos))
{
// Is there enough place for a short jump?
if (oldPos < sizeof(JMP_REL_SHORT)
&& !IsCodePadding((LPBYTE)ct->pTarget + oldPos, sizeof(JMP_REL_SHORT) - oldPos))
{
return FALSE;
}
// Can we place the long jump above the function?
if (!IsExecutableAddress((LPBYTE)ct->pTarget - sizeof(JMP_REL)))
return FALSE;
if (!IsCodePadding((LPBYTE)ct->pTarget - sizeof(JMP_REL), sizeof(JMP_REL)))
return FALSE;
ct->patchAbove = TRUE;
}
#if defined(_M_X64) || defined(__x86_64__)
// Create a relay function.
jmp.address = (ULONG_PTR)ct->pDetour;
ct->pRelay = (LPBYTE)ct->pTrampoline + newPos;
memcpy(ct->pRelay, &jmp, sizeof(jmp));
#endif
return TRUE;
}
+105
View File
@@ -0,0 +1,105 @@
/*
* MinHook - The Minimalistic API Hooking Library for x64/x86
* Copyright (C) 2009-2017 Tsuda Kageyu.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. 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.
*
* 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 HOLDER
* 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.
*/
#pragma once
#pragma pack(push, 1)
// Structs for writing x86/x64 instructions.
// 8-bit relative jump.
typedef struct _JMP_REL_SHORT
{
UINT8 opcode; // EB xx: JMP +2+xx
UINT8 operand;
} JMP_REL_SHORT, *PJMP_REL_SHORT;
// 32-bit direct relative jump/call.
typedef struct _JMP_REL
{
UINT8 opcode; // E9/E8 xxxxxxxx: JMP/CALL +5+xxxxxxxx
UINT32 operand; // Relative destination address
} JMP_REL, *PJMP_REL, CALL_REL;
// 64-bit indirect absolute jump.
typedef struct _JMP_ABS
{
UINT8 opcode0; // FF25 00000000: JMP [+6]
UINT8 opcode1;
UINT32 dummy;
UINT64 address; // Absolute destination address
} JMP_ABS, *PJMP_ABS;
// 64-bit indirect absolute call.
typedef struct _CALL_ABS
{
UINT8 opcode0; // FF15 00000002: CALL [+6]
UINT8 opcode1;
UINT32 dummy0;
UINT8 dummy1; // EB 08: JMP +10
UINT8 dummy2;
UINT64 address; // Absolute destination address
} CALL_ABS;
// 32-bit direct relative conditional jumps.
typedef struct _JCC_REL
{
UINT8 opcode0; // 0F8* xxxxxxxx: J** +6+xxxxxxxx
UINT8 opcode1;
UINT32 operand; // Relative destination address
} JCC_REL;
// 64bit indirect absolute conditional jumps that x64 lacks.
typedef struct _JCC_ABS
{
UINT8 opcode; // 7* 0E: J** +16
UINT8 dummy0;
UINT8 dummy1; // FF25 00000000: JMP [+6]
UINT8 dummy2;
UINT32 dummy3;
UINT64 address; // Absolute destination address
} JCC_ABS;
#pragma pack(pop)
typedef struct _TRAMPOLINE
{
LPVOID pTarget; // [In] Address of the target function.
LPVOID pDetour; // [In] Address of the detour function.
LPVOID pTrampoline; // [In] Buffer address for the trampoline and relay function.
#if defined(_M_X64) || defined(__x86_64__)
LPVOID pRelay; // [Out] Address of the relay function.
#endif
BOOL patchAbove; // [Out] Should use the hot patch area?
UINT nIP; // [Out] Number of the instruction boundaries.
UINT8 oldIPs[8]; // [Out] Instruction boundaries of the target function.
UINT8 newIPs[8]; // [Out] Instruction boundaries of the trampoline function.
} TRAMPOLINE, *PTRAMPOLINE;
BOOL CreateTrampolineFunction(PTRAMPOLINE ct);
+13
View File
@@ -0,0 +1,13 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// FORWARD DECLARATIONS
namespace GameplayAbilities { struct FServerAbilityRPCBatch; }
+215
View File
@@ -0,0 +1,215 @@
#pragma once
#include "SDK.hpp"
#include "Globals.h"
#include "FN_Basic.hpp"
#include "Actor.h"
#include "Logging.h"
#include "Beacon.h"
namespace ProcessEventNamespace
{
LPVOID(*ProcessEvent)(void*, void*, void*);
LPVOID ProcessEventHook(SDK::UObject* pObject, SDK::UFunction* pFunction, LPVOID pParams)
{
Logging::Log(ELogEvent::Info, ELogType::Athena, "ProcessEvent Called");
auto ObjName = pObject->GetName();
auto FuncName = pFunction->GetName();
if (FuncName.find("ReadyToStartMatch") != std::string::npos)
{
if (!Globals::bBeaconInitialized) {
Beacons::InitHooks();
Globals::bBeaconInitialized = true;
auto GameState = (SDK::AFortGameStateAthena*)(Globals::GetWorld()->GameState);
GameState->GamePhase = SDK::EAthenaGamePhase::Warmup;
GameState->OnRep_GamePhase(SDK::EAthenaGamePhase::None);
SDK::TArray<SDK::AActor*> OutHLODs;
SDK::UGameplayStatics::GetDefaultObj()->GetAllActorsOfClass(Globals::GetWorld(), SDK::AFortHLODSMActor::StaticClass(), &OutHLODs);
for (int i = 0; i < OutHLODs.Num(); i++)
{
auto Actor = OutHLODs[i];
if (Actor)
{
Actor->K2_DestroyActor();
}
}
}
}
if (FuncName.find("AircraftExitedDropZone") != std::string::npos)
{
for (int i = 0; i < Beacons::Beacon->NetDriver->ClientConnections.Num(); i++)
{
auto Connection = Beacons::Beacon->NetDriver->ClientConnections[i];
if (Connection && Connection->PlayerController)
{
auto FortPlayerController = (SDK::AFortPlayerControllerAthena*)(Connection->PlayerController);
if (FortPlayerController->IsInAircraft() && FortPlayerController->Pawn)
{
FortPlayerController->ServerAttemptAircraftJump({});
}
}
}
}
if (pFunction->FunctionFlags & 0x01000000 || pFunction->FunctionFlags & 0x00200000 &&
!FuncName.find("UpdateCamera") &&
!FuncName.find("NoBase") &&
!FuncName.find("ClientAckGoodMove") &&
!FuncName.find("ServerMoveOld") &&
!FuncName.find("ClientAdjustPosition"))
{
Logging::Log(ELogEvent::Info, ELogType::Athena, "RPC: %s", FuncName.c_str());
}
if (FuncName.find("ServerReadyToStartMatch"))
{
auto PC = (SDK::AFortPlayerController*)pObject;
PC->bReadyToStartMatch = true;
}
if (FuncName.find("ServerClientPawnLoaded"))
{
auto PC = (SDK::AFortPlayerController*)pObject;
auto Params = (SDK::AFortPlayerController_ServerClientPawnLoaded_Params*)pParams;
PC->bClientPawnIsLoaded = Params->bIsPawnLoaded;
}
if (FuncName.find("ServerSetClientHasFinishedLoading"))
{
auto PC = (SDK::AFortPlayerController*)pObject;
auto Params = (SDK::AFortPlayerController_ServerSetClientHasFinishedLoading_Params*)pParams;
PC->bHasClientFinishedLoading = Params->bInHasFinishedLoading;
}
if (FuncName.find("ServerExecuteInventoryItem"))
{
auto PC = (SDK::AFortPlayerController*)pObject;
auto Params = (SDK::AFortPlayerController_ServerExecuteInventoryItem_Params*)pParams;
if (PC)
{
auto WorldInventory = PC->WorldInventory;
if (WorldInventory) {
auto ItemInstances = WorldInventory->Inventory.ItemInstances;
for (int i = 0; i < ItemInstances.Num(); i++)
{
auto ItemInstance = ItemInstances[i];
if (Globals::ValidateGuidEquality(Params->ItemGuid, ItemInstance->GetItemGuid()))
{
if (PC->Pawn)
((SDK::AFortPlayerPawn*)PC->Pawn)->EquipWeaponDefinition((SDK::UFortWeaponItemDefinition*)ItemInstance->GetItemDefinitionBP(), Params->ItemGuid);
}
}
}
}
}
if (FuncName.find("ServerAttemptAircraftJump"))
{
auto PC = (SDK::AFortPlayerControllerAthena*)pObject;
if (PC->Pawn)
PC->Pawn->K2_DestroyActor();
auto NewPawn = (SDK::APlayerPawn_Athena_C*)(ActorNamespace::SpawnActor(SDK::APlayerPawn_Athena_C::StaticClass(), ((SDK::AFortGameStateAthena*)Globals::GetWorld()->GameState)->Aircraft->K2_GetActorLocation(), {}));
if (NewPawn) {
PC->Possess(NewPawn);
((SDK::AFortPlayerState*)NewPawn->PlayerState)->OnRep_PlayerTeam();
auto PickaxeGuid = PC->QuickBars->PrimaryQuickBar.Slots[0].Items[0];
PC->ServerExecuteInventoryItem(PickaxeGuid);
}
}
if (FuncName.find("ServerReturnToMainMenu"))
{
auto PC = (SDK::AFortPlayerController*)pObject;
PC->ClientTravel(L"/Game/Maps/Frontend", SDK::ETravelType::TRAVEL_Absolute, false, SDK::FGuid());
}
if (FuncName.find("ServerHandlePickup"))
{
auto Pawn = (SDK::AFortPlayerPawn*)pObject;
auto Params = (SDK::AFortPlayerPawn_ServerHandlePickup_Params*)pParams;
if (Pawn)
{
auto PC = Pawn->Controller;
if (PC)
{
}
}
}
if (FuncName.find("ServerCreateBuildingActor"))
{
auto PlayerController = (SDK::AFortPlayerController*)pObject;
if (PlayerController)
{
auto BuildLoc = PlayerController->LastBuildPreviewGridSnapLoc;
auto BuildRot = PlayerController->LastBuildPreviewGridSnapRot;
auto BuildClass = PlayerController->CurrentBuildableClass;
auto BuildingActor = ActorNamespace::SpawnActor<SDK::ABuildingActor>(BuildLoc, BuildRot, BuildClass);
if (BuildingActor) {
BuildingActor->InitializeKismetSpawnedBuildingActor(BuildingActor, PlayerController);
}
}
}
// idk
if (FuncName.find("ServerPlayEmoteItem") != std::string::npos)
{
for (int i = 0; i < Beacons::Beacon->NetDriver->ClientConnections.Num(); i++)
{
auto Connection = Beacons::Beacon->NetDriver->ClientConnections[i];
if (Connection && Connection->PlayerController)
{
auto ControllerFromObject = (SDK::AFortPlayerControllerAthena*)pObject;
auto AthenaPlayerPawn = (SDK::AFortPlayerPawnAthena*)ControllerFromObject->Pawn;
if (!ControllerFromObject->bIsPlayerActivelyMoving)
{
if (AthenaPlayerPawn->bIsCrouched) AthenaPlayerPawn->UnCrouch(true);
auto EmoteAsset = static_cast<SDK::AFortPlayerController_ServerPlayEmoteItem_Params*>(pParams)->EmoteAsset;
auto Montage = EmoteAsset->GetAnimationHardReference(SDK::EFortCustomBodyType::All, SDK::EFortCustomGender::Both);
if (AthenaPlayerPawn->RepAnimMontageInfo.AnimMontage != Montage)
{
AthenaPlayerPawn->RepAnimMontageInfo.AnimMontage = Montage;
AthenaPlayerPawn->RepAnimMontageInfo.PlayRate = 1;
AthenaPlayerPawn->RepAnimMontageInfo.IsStopped = false;
AthenaPlayerPawn->RepAnimMontageInfo.SkipPositionCorrection = true;
auto AnimInstance = AthenaPlayerPawn->Mesh->GetAnimInstance();
auto playemote = AnimInstance->Montage_Play(Montage, 1, SDK::EMontagePlayReturnType::Duration, 0, false);
AthenaPlayerPawn->OnRep_ReplicatedAnimMontage();
AthenaPlayerPawn->OnRep_AttachmentMesh();
AthenaPlayerPawn->OnRep_AttachmentReplication();
AthenaPlayerPawn->OnRep_ReplicateMovement();
}
}
}
}
}
return ProcessEvent(pObject, pFunction, pParams);
}
void Initialize()
{
auto PC = reinterpret_cast<SDK::AFortPlayerController*>(Globals::GetEngine()->GameInstance->LocalPlayers[0]->PlayerController);
PC->SwitchLevel(L"Athena_Terrain");
Globals::CreateHook(Globals::GetAddress(Offsets::ProcessEvent), ProcessEventHook, (void**)&ProcessEvent);
}
}
+21
View File
@@ -0,0 +1,21 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// PROPERTY-FIXUP
namespace SDK
{
class alignas(0x01) UMulticastDelegateProperty_
{
unsigned __int8 Pad[0x10];
};
}
+391
View File
@@ -0,0 +1,391 @@
#pragma once
#include "SDK.hpp"
#include "Globals.h"
#include "Types.h"
#include <algorithm>
struct FNetworkObjectInfo
{
SDK::AActor* Actor;
double NextUpdateTime;
double LastNetReplicateTime;
float OptimalNetUpdateDelta;
float LastNetUpdateTime;
float NetworkPriority;
uint32_t bPendingNetUpdate : 1;
uint32_t bForceRelevantNextUpdate : 1;
uint32_t bTearOff : 1;
std::vector<SDK::UNetConnection*> DormantConnections;
std::vector<SDK::UNetConnection*> RecentlyDormantConnections;
};
struct FConnectionReplicationData
{
SDK::UNetConnection* Connection;
std::vector<FNetworkObjectInfo*> RelevantActors;
float LastReplicationTime;
int32_t MaxReplicationBytes;
int32_t UsedReplicationBytes;
};
inline int32_t Rand() { return rand(); };
inline float FRand() { return Rand() / (float)RAND_MAX; };
// Helper functions for distance calculations
inline float DistanceSquared(const SDK::FVector& A, const SDK::FVector& B)
{
float DX = A.X - B.X;
float DY = A.Y - B.Y;
float DZ = A.Z - B.Z;
return (DX * DX) + (DY * DY) + (DZ * DZ);
}
inline float Distance(const SDK::FVector& A, const SDK::FVector& B)
{
return sqrtf(DistanceSquared(A, B));
}
namespace Replication
{
inline static SDK::UChannel* (*CreateChannel)(SDK::UNetConnection*, int, bool, int32_t);
inline static __int64 (*ReplicateActor)(SDK::UActorChannel*);
inline static __int64 (*SetChannelActor)(SDK::UActorChannel*, SDK::AActor*);
inline static void (*CallPreReplication)(SDK::AActor*, SDK::UNetDriver*);
inline static void (*SendClientAdjustment)(SDK::APlayerController*);
inline static void (*ActorChannelClose)(SDK::UActorChannel*);
constexpr float MAX_REPLICATION_DISTANCE = 10000.0f;
constexpr float CULL_DISTANCE_SQUARED = MAX_REPLICATION_DISTANCE * MAX_REPLICATION_DISTANCE;
SDK::UActorChannel* ReplicateToClient(SDK::AActor* InActor, SDK::UNetConnection* InConnection)
{
if (InActor->IsA(SDK::APlayerController::StaticClass()) && InActor != InConnection->PlayerController)
return nullptr;
auto Channel = (SDK::UActorChannel*)(CreateChannel(InConnection, 2, true, -1));
if (Channel) {
SetChannelActor(Channel, InActor);
Channel->Connection = InConnection;
return Channel;
}
return nullptr;
}
int PrepConnections(SDK::UNetDriver* NetDriver)
{
int ReadyConnections = 0;
for (int ConnIdx = 0; ConnIdx < NetDriver->ClientConnections.Num(); ConnIdx++)
{
SDK::UNetConnection* Connection = NetDriver->ClientConnections[ConnIdx];
if (!Connection) continue;
SDK::AActor* OwningActor = Connection->OwningActor;
if (OwningActor)
{
ReadyConnections++;
SDK::AActor* DesiredViewTarget = OwningActor;
if (Connection->PlayerController)
{
if (SDK::AActor* ViewTarget = Connection->PlayerController->GetViewTarget())
{
DesiredViewTarget = ViewTarget;
}
}
Connection->ViewTarget = DesiredViewTarget;
for (int ChildIdx = 0; ChildIdx < Connection->Children.Num(); ++ChildIdx)
{
SDK::UNetConnection* ChildConnection = Connection->Children[ChildIdx];
if (ChildConnection && ChildConnection->PlayerController && ChildConnection->ViewTarget)
{
ChildConnection->ViewTarget = DesiredViewTarget;
}
}
}
else
{
Connection->ViewTarget = nullptr;
for (int ChildIdx = 0; ChildIdx < Connection->Children.Num(); ++ChildIdx)
{
SDK::UNetConnection* ChildConnection = Connection->Children[ChildIdx];
if (ChildConnection && ChildConnection->PlayerController && ChildConnection->ViewTarget)
{
ChildConnection->ViewTarget = nullptr;
}
}
}
}
return ReadyConnections;
}
SDK::UActorChannel* FindChannel(SDK::AActor* Actor, SDK::UNetConnection* Connection)
{
for (int i = 0; i < Connection->OpenChannels.Num(); i++)
{
auto Channel = Connection->OpenChannels[i];
if (Channel && Channel->Class)
{
if (Channel->Class == SDK::UActorChannel::StaticClass())
{
if (((SDK::UActorChannel*)Channel)->Actor == Actor)
return ((SDK::UActorChannel*)Channel);
}
}
}
return nullptr;
}
SDK::UNetConnection* GetOwningConnection(SDK::AActor* Actor)
{
for (auto Owner = Actor; Actor; Actor = Actor->GetOwner())
{
if (Actor->IsA(SDK::APlayerController::StaticClass()))
{
return ((SDK::APlayerController*)Actor)->NetConnection;
}
}
return nullptr;
}
bool IsActorRelevantForConnection_Impl(SDK::AActor* Actor, SDK::UNetConnection* Connection)
{
if (!Actor || !Connection)
return false;
if (Actor->bAlwaysRelevant)
return true;
if (Actor->GetOwner() == Connection->OwningActor)
return true;
if (Actor == Connection->PlayerController)
return true;
// Distance culling
SDK::AActor* ViewTarget = Connection->ViewTarget;
if (ViewTarget)
{
float DistanceSquaredValue = DistanceSquared(
Actor->K2_GetActorLocation(),
ViewTarget->K2_GetActorLocation()
);
if (DistanceSquaredValue > CULL_DISTANCE_SQUARED)
return false;
}
if (Actor->RemoteRole == SDK::ENetRole::ROLE_None)
return false;
return true;
}
// basic impl
float CalculateNetworkPriority_Impl(SDK::AActor* Actor, SDK::UNetConnection* Connection)
{
if (!Actor || !Connection)
return 0.0f;
float Priority = 1.0f;
// Higher priority for player controllers and pawns
if (Actor->IsA(SDK::APlayerController::StaticClass()) || Actor->IsA(SDK::APawn::StaticClass()))
{
Priority *= 3.0f;
}
// Always relevant actors get high priority
if (Actor->bAlwaysRelevant)
{
Priority *= 2.0f;
}
// Distance-based priority
SDK::AActor* ViewTarget = Connection->ViewTarget;
if (ViewTarget)
{
float DistanceValue = Distance(
Actor->K2_GetActorLocation(),
ViewTarget->K2_GetActorLocation()
);
if (DistanceValue > 0.0f)
{
// Closer actors get higher priority
Priority *= (MAX_REPLICATION_DISTANCE / (DistanceValue + 1.0f));
}
}
// Use NetPriority
if (Actor->NetPriority > 0.0f)
{
Priority *= Actor->NetPriority;
}
return Priority;
}
void BuildConsiderList(SDK::UNetDriver* NetDriver, std::vector<FNetworkObjectInfo*>& OutConsiderList)
{
SDK::TArray<SDK::AActor*> Actors;
SDK::UGameplayStatics::GetDefaultObj()->GetAllActorsOfClass(Globals::GetWorld(), SDK::AActor::StaticClass(), &Actors);
// TODO: continue on all Actors that are kicked (CRTMM fix instead of proper gamesessions ig)
for (int i = 0; i < Actors.Num(); i++)
{
auto Actor = Actors[i];
if (!Actor)
continue;
if (Actor->bActorIsBeingDestroyed)
continue;
if (Actor->RemoteRole == SDK::ENetRole::ROLE_None)
continue;
if (Actor->NetDormancy == SDK::ENetDormancy::DORM_Initial && Actor->bNetStartup)
continue;
if (Actor->bTearOff)
continue;
if (Actor->Name.ComparisonIndex == 0)
continue;
if (CallPreReplication)
CallPreReplication(Actor, NetDriver);
FNetworkObjectInfo* Info = new FNetworkObjectInfo();
Info->Actor = Actor;
Info->NextUpdateTime = 0.0;
Info->LastNetReplicateTime = 0.0;
Info->OptimalNetUpdateDelta = Actor->NetUpdateFrequency > 0.0f ? (1.0f / Actor->NetUpdateFrequency) : 0.1f;
Info->NetworkPriority = 1.0f;
Info->bPendingNetUpdate = false;
Info->bForceRelevantNextUpdate = false;
Info->bTearOff = Actor->bTearOff;
OutConsiderList.push_back(Info);
}
}
void BuildRelevantActorsForConnection(SDK::UNetConnection* Connection,
std::vector<FNetworkObjectInfo*>& ConsiderList,
std::vector<FNetworkObjectInfo*>& OutRelevantActors)
{
for (auto ActorInfo : ConsiderList)
{
if (!ActorInfo || !ActorInfo->Actor)
continue;
// Check relevancy
if (IsActorRelevantForConnection_Impl(ActorInfo->Actor, Connection))
{
// Calculate priority for this connection
ActorInfo->NetworkPriority = CalculateNetworkPriority_Impl(ActorInfo->Actor, Connection);
OutRelevantActors.push_back(ActorInfo);
}
}
// Sort by priority (highest first)
std::sort(OutRelevantActors.begin(), OutRelevantActors.end(),
[](const FNetworkObjectInfo* A, const FNetworkObjectInfo* B) {
return A->NetworkPriority > B->NetworkPriority;
});
}
void ReplicateActors(SDK::UNetDriver* NetDriver)
{
// Increment replication frame counter
++*(DWORD*)(__int64(NetDriver) + 712);
auto NumClientsToTick = PrepConnections(NetDriver);
if (NumClientsToTick == 0)
return;
// Build global consider list
std::vector<FNetworkObjectInfo*> ConsiderList;
BuildConsiderList(NetDriver, ConsiderList);
for (int i = 0; i < NetDriver->ClientConnections.Num(); i++)
{
auto Connection = NetDriver->ClientConnections[i];
if (!Connection)
continue;
if (i >= NumClientsToTick)
continue;
// Send client adjustments
if (Connection->PlayerController)
{
SendClientAdjustment(Connection->PlayerController);
}
for (int32_t ChildIdx = 0; ChildIdx < Connection->Children.Num(); ChildIdx++)
{
if (Connection->Children[ChildIdx]->PlayerController != nullptr)
{
SendClientAdjustment(Connection->Children[ChildIdx]->PlayerController);
}
}
// Build relevant actors for this connection
std::vector<FNetworkObjectInfo*> RelevantActors;
BuildRelevantActorsForConnection(Connection, ConsiderList, RelevantActors);
// Replicate relevant actors
for (auto ActorInfo : RelevantActors)
{
if (!ActorInfo || !ActorInfo->Actor)
continue;
auto Channel = FindChannel(ActorInfo->Actor, Connection);
if (!Channel)
Channel = ReplicateToClient(ActorInfo->Actor, Connection);
if (Channel)
{
if (ReplicateActor(Channel))
{
static double CurrentTime = 0.0;
CurrentTime += 0.016;
ActorInfo->LastNetReplicateTime = CurrentTime;
ActorInfo->NextUpdateTime = ActorInfo->LastNetReplicateTime + ActorInfo->OptimalNetUpdateDelta;
}
}
}
}
for (auto Info : ConsiderList)
{
delete Info;
}
ConsiderList.clear();
}
void InitOffsets()
{
CreateChannel = decltype(CreateChannel)(Globals::GetAddress(0x2105540));
SetChannelActor = decltype(SetChannelActor)(Globals::GetAddress(0x1F9C260));
ReplicateActor = decltype(ReplicateActor)(Globals::GetAddress(0x1F97D80));
CallPreReplication = decltype(CallPreReplication)(Globals::GetAddress(0x1D84F70));
SendClientAdjustment = decltype(SendClientAdjustment)(Globals::GetAddress(0x221FEC0));
ActorChannelClose = decltype(ActorChannelClose)(Globals::GetAddress(0x1F7E9C0));
}
}
+2047
View File
File diff suppressed because it is too large Load Diff
+41
View File
@@ -0,0 +1,41 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AIGoalManager
#include "Basic.hpp"
#include "FortniteGame_classes.hpp"
namespace SDK
{
// BlueprintGeneratedClass AIGoalManager.AIGoalManager_C
// 0x0008 (0x0438 - 0x0430)
class AAIGoalManager_C final : public AFortAIGoalManager
{
public:
class USceneComponent* DefaultSceneRoot; // 0x0430(0x0008)(BlueprintVisible, ZeroConstructor, InstancedReference, IsPlainOldData, NonTransactional, NoDestructor, HasGetValueTypeHash)
public:
static class UClass* StaticClass()
{
return StaticBPGeneratedClassImpl<"AIGoalManager_C">();
}
static class AAIGoalManager_C* GetDefaultObj()
{
return GetDefaultObjImpl<AAIGoalManager_C>();
}
};
static_assert(alignof(AAIGoalManager_C) == 0x000008, "Wrong alignment on AAIGoalManager_C");
static_assert(sizeof(AAIGoalManager_C) == 0x000438, "Wrong size on AAIGoalManager_C");
static_assert(offsetof(AAIGoalManager_C, DefaultSceneRoot) == 0x000430, "Member 'AAIGoalManager_C::DefaultSceneRoot' has a wrong offset!");
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,65 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AOE_Commando_KeepOutExplosion
#include "Basic.hpp"
#include "Engine_structs.hpp"
#include "FortniteGame_classes.hpp"
namespace SDK
{
// BlueprintGeneratedClass AOE_Commando_KeepOutExplosion.AOE_Commando_KeepOutExplosion_C
// 0x0328 (0x0938 - 0x0610)
class AAOE_Commando_KeepOutExplosion_C final : public AFortAreaOfEffectCloud
{
public:
struct FPointerToUberGraphFrame UberGraphFrame; // 0x0610(0x0008)(Transient, DuplicateTransient)
class UAudioComponent* AOE_Audio_Effect; // 0x0618(0x0008)(BlueprintVisible, ZeroConstructor, InstancedReference, IsPlainOldData, NonTransactional, NoDestructor, HasGetValueTypeHash)
class UParticleSystemComponent* P_Grenade_Linger; // 0x0620(0x0008)(BlueprintVisible, ZeroConstructor, InstancedReference, IsPlainOldData, NonTransactional, NoDestructor, HasGetValueTypeHash)
class USphereComponent* DamageArea; // 0x0628(0x0008)(BlueprintVisible, ZeroConstructor, InstancedReference, IsPlainOldData, NonTransactional, NoDestructor, HasGetValueTypeHash)
class USceneComponent* DefaultSceneRoot; // 0x0630(0x0008)(BlueprintVisible, ZeroConstructor, InstancedReference, IsPlainOldData, NonTransactional, NoDestructor, HasGetValueTypeHash)
float Radius; // 0x0638(0x0004)(Edit, BlueprintVisible, Net, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, RepNotify, NoDestructor, HasGetValueTypeHash)
uint8 Pad_63C[0x4]; // 0x063C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
struct FSoundAttenuationSettings AOE_Sound_Attenuation_Based_On_Radius; // 0x0640(0x02F0)(Edit, BlueprintVisible, DisableEditOnInstance)
class USoundBase* AOE_Electric_Sound; // 0x0930(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
public:
void ExecuteUbergraph_AOE_Commando_KeepOutExplosion(int32 EntryPoint);
void ReceiveBeginPlay();
void ReceiveDestroyed();
void Send_Info(float Radius_0);
void UserConstructionScript();
void OnRep_Radius();
public:
static class UClass* StaticClass()
{
return StaticBPGeneratedClassImpl<"AOE_Commando_KeepOutExplosion_C">();
}
static class AAOE_Commando_KeepOutExplosion_C* GetDefaultObj()
{
return GetDefaultObjImpl<AAOE_Commando_KeepOutExplosion_C>();
}
};
static_assert(alignof(AAOE_Commando_KeepOutExplosion_C) == 0x000008, "Wrong alignment on AAOE_Commando_KeepOutExplosion_C");
static_assert(sizeof(AAOE_Commando_KeepOutExplosion_C) == 0x000938, "Wrong size on AAOE_Commando_KeepOutExplosion_C");
static_assert(offsetof(AAOE_Commando_KeepOutExplosion_C, UberGraphFrame) == 0x000610, "Member 'AAOE_Commando_KeepOutExplosion_C::UberGraphFrame' has a wrong offset!");
static_assert(offsetof(AAOE_Commando_KeepOutExplosion_C, AOE_Audio_Effect) == 0x000618, "Member 'AAOE_Commando_KeepOutExplosion_C::AOE_Audio_Effect' has a wrong offset!");
static_assert(offsetof(AAOE_Commando_KeepOutExplosion_C, P_Grenade_Linger) == 0x000620, "Member 'AAOE_Commando_KeepOutExplosion_C::P_Grenade_Linger' has a wrong offset!");
static_assert(offsetof(AAOE_Commando_KeepOutExplosion_C, DamageArea) == 0x000628, "Member 'AAOE_Commando_KeepOutExplosion_C::DamageArea' has a wrong offset!");
static_assert(offsetof(AAOE_Commando_KeepOutExplosion_C, DefaultSceneRoot) == 0x000630, "Member 'AAOE_Commando_KeepOutExplosion_C::DefaultSceneRoot' has a wrong offset!");
static_assert(offsetof(AAOE_Commando_KeepOutExplosion_C, Radius) == 0x000638, "Member 'AAOE_Commando_KeepOutExplosion_C::Radius' has a wrong offset!");
static_assert(offsetof(AAOE_Commando_KeepOutExplosion_C, AOE_Sound_Attenuation_Based_On_Radius) == 0x000640, "Member 'AAOE_Commando_KeepOutExplosion_C::AOE_Sound_Attenuation_Based_On_Radius' has a wrong offset!");
static_assert(offsetof(AAOE_Commando_KeepOutExplosion_C, AOE_Electric_Sound) == 0x000930, "Member 'AAOE_Commando_KeepOutExplosion_C::AOE_Electric_Sound' has a wrong offset!");
}
@@ -0,0 +1,116 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AOE_Commando_KeepOutExplosion
#include "Basic.hpp"
#include "AOE_Commando_KeepOutExplosion_classes.hpp"
#include "AOE_Commando_KeepOutExplosion_parameters.hpp"
namespace SDK
{
// Function AOE_Commando_KeepOutExplosion.AOE_Commando_KeepOutExplosion_C.ExecuteUbergraph_AOE_Commando_KeepOutExplosion
// ()
// Parameters:
// int32 EntryPoint (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void AAOE_Commando_KeepOutExplosion_C::ExecuteUbergraph_AOE_Commando_KeepOutExplosion(int32 EntryPoint)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AOE_Commando_KeepOutExplosion_C", "ExecuteUbergraph_AOE_Commando_KeepOutExplosion");
Params::AOE_Commando_KeepOutExplosion_C_ExecuteUbergraph_AOE_Commando_KeepOutExplosion Parms{};
Parms.EntryPoint = EntryPoint;
UObject::ProcessEvent(Func, &Parms);
}
// Function AOE_Commando_KeepOutExplosion.AOE_Commando_KeepOutExplosion_C.ReceiveBeginPlay
// (Event, Protected, BlueprintEvent)
void AAOE_Commando_KeepOutExplosion_C::ReceiveBeginPlay()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AOE_Commando_KeepOutExplosion_C", "ReceiveBeginPlay");
UObject::ProcessEvent(Func, nullptr);
}
// Function AOE_Commando_KeepOutExplosion.AOE_Commando_KeepOutExplosion_C.ReceiveDestroyed
// (Event, Public, BlueprintEvent)
void AAOE_Commando_KeepOutExplosion_C::ReceiveDestroyed()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AOE_Commando_KeepOutExplosion_C", "ReceiveDestroyed");
UObject::ProcessEvent(Func, nullptr);
}
// Function AOE_Commando_KeepOutExplosion.AOE_Commando_KeepOutExplosion_C.Send_Info
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// float Radius_0 (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void AAOE_Commando_KeepOutExplosion_C::Send_Info(float Radius_0)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AOE_Commando_KeepOutExplosion_C", "Send_Info");
Params::AOE_Commando_KeepOutExplosion_C_Send_Info Parms{};
Parms.Radius_0 = Radius_0;
UObject::ProcessEvent(Func, &Parms);
}
// Function AOE_Commando_KeepOutExplosion.AOE_Commando_KeepOutExplosion_C.UserConstructionScript
// (Event, Public, BlueprintCallable, BlueprintEvent)
void AAOE_Commando_KeepOutExplosion_C::UserConstructionScript()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AOE_Commando_KeepOutExplosion_C", "UserConstructionScript");
UObject::ProcessEvent(Func, nullptr);
}
// Function AOE_Commando_KeepOutExplosion.AOE_Commando_KeepOutExplosion_C.OnRep_Radius
// (HasDefaults, BlueprintCallable, BlueprintEvent)
void AAOE_Commando_KeepOutExplosion_C::OnRep_Radius()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AOE_Commando_KeepOutExplosion_C", "OnRep_Radius");
UObject::ProcessEvent(Func, nullptr);
}
}
@@ -0,0 +1,63 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AOE_Commando_KeepOutExplosion
#include "Basic.hpp"
#include "Engine_structs.hpp"
#include "CoreUObject_structs.hpp"
namespace SDK::Params
{
// Function AOE_Commando_KeepOutExplosion.AOE_Commando_KeepOutExplosion_C.ExecuteUbergraph_AOE_Commando_KeepOutExplosion
// 0x0008 (0x0008 - 0x0000)
struct AOE_Commando_KeepOutExplosion_C_ExecuteUbergraph_AOE_Commando_KeepOutExplosion final
{
public:
int32 EntryPoint; // 0x0000(0x0004)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
float K2Node_CustomEvent_Radius; // 0x0004(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AOE_Commando_KeepOutExplosion_C_ExecuteUbergraph_AOE_Commando_KeepOutExplosion) == 0x000004, "Wrong alignment on AOE_Commando_KeepOutExplosion_C_ExecuteUbergraph_AOE_Commando_KeepOutExplosion");
static_assert(sizeof(AOE_Commando_KeepOutExplosion_C_ExecuteUbergraph_AOE_Commando_KeepOutExplosion) == 0x000008, "Wrong size on AOE_Commando_KeepOutExplosion_C_ExecuteUbergraph_AOE_Commando_KeepOutExplosion");
static_assert(offsetof(AOE_Commando_KeepOutExplosion_C_ExecuteUbergraph_AOE_Commando_KeepOutExplosion, EntryPoint) == 0x000000, "Member 'AOE_Commando_KeepOutExplosion_C_ExecuteUbergraph_AOE_Commando_KeepOutExplosion::EntryPoint' has a wrong offset!");
static_assert(offsetof(AOE_Commando_KeepOutExplosion_C_ExecuteUbergraph_AOE_Commando_KeepOutExplosion, K2Node_CustomEvent_Radius) == 0x000004, "Member 'AOE_Commando_KeepOutExplosion_C_ExecuteUbergraph_AOE_Commando_KeepOutExplosion::K2Node_CustomEvent_Radius' has a wrong offset!");
// Function AOE_Commando_KeepOutExplosion.AOE_Commando_KeepOutExplosion_C.Send_Info
// 0x0004 (0x0004 - 0x0000)
struct AOE_Commando_KeepOutExplosion_C_Send_Info final
{
public:
float Radius_0; // 0x0000(0x0004)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AOE_Commando_KeepOutExplosion_C_Send_Info) == 0x000004, "Wrong alignment on AOE_Commando_KeepOutExplosion_C_Send_Info");
static_assert(sizeof(AOE_Commando_KeepOutExplosion_C_Send_Info) == 0x000004, "Wrong size on AOE_Commando_KeepOutExplosion_C_Send_Info");
static_assert(offsetof(AOE_Commando_KeepOutExplosion_C_Send_Info, Radius_0) == 0x000000, "Member 'AOE_Commando_KeepOutExplosion_C_Send_Info::Radius_0' has a wrong offset!");
// Function AOE_Commando_KeepOutExplosion.AOE_Commando_KeepOutExplosion_C.OnRep_Radius
// 0x05F0 (0x05F0 - 0x0000)
struct AOE_Commando_KeepOutExplosion_C_OnRep_Radius final
{
public:
struct FSoundAttenuationSettings CallFunc_BP_GetAttenuationSettingsToApply_OutAttenuationSettings; // 0x0000(0x02F0)()
bool CallFunc_BP_GetAttenuationSettingsToApply_ReturnValue; // 0x02F0(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_2F1[0x3]; // 0x02F1(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
struct FVector CallFunc_MakeVector_ReturnValue; // 0x02F4(0x000C)(IsPlainOldData, NoDestructor, HasGetValueTypeHash)
struct FSoundAttenuationSettings K2Node_MakeStruct_SoundAttenuationSettings; // 0x0300(0x02F0)()
};
static_assert(alignof(AOE_Commando_KeepOutExplosion_C_OnRep_Radius) == 0x000008, "Wrong alignment on AOE_Commando_KeepOutExplosion_C_OnRep_Radius");
static_assert(sizeof(AOE_Commando_KeepOutExplosion_C_OnRep_Radius) == 0x0005F0, "Wrong size on AOE_Commando_KeepOutExplosion_C_OnRep_Radius");
static_assert(offsetof(AOE_Commando_KeepOutExplosion_C_OnRep_Radius, CallFunc_BP_GetAttenuationSettingsToApply_OutAttenuationSettings) == 0x000000, "Member 'AOE_Commando_KeepOutExplosion_C_OnRep_Radius::CallFunc_BP_GetAttenuationSettingsToApply_OutAttenuationSettings' has a wrong offset!");
static_assert(offsetof(AOE_Commando_KeepOutExplosion_C_OnRep_Radius, CallFunc_BP_GetAttenuationSettingsToApply_ReturnValue) == 0x0002F0, "Member 'AOE_Commando_KeepOutExplosion_C_OnRep_Radius::CallFunc_BP_GetAttenuationSettingsToApply_ReturnValue' has a wrong offset!");
static_assert(offsetof(AOE_Commando_KeepOutExplosion_C_OnRep_Radius, CallFunc_MakeVector_ReturnValue) == 0x0002F4, "Member 'AOE_Commando_KeepOutExplosion_C_OnRep_Radius::CallFunc_MakeVector_ReturnValue' has a wrong offset!");
static_assert(offsetof(AOE_Commando_KeepOutExplosion_C_OnRep_Radius, K2Node_MakeStruct_SoundAttenuationSettings) == 0x000300, "Member 'AOE_Commando_KeepOutExplosion_C_OnRep_Radius::K2Node_MakeStruct_SoundAttenuationSettings' has a wrong offset!");
}
@@ -0,0 +1,90 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AbilitiesPageTile
#include "Basic.hpp"
#include "Engine_structs.hpp"
#include "CommonUI_classes.hpp"
#include "FortniteGame_structs.hpp"
#include "FortniteUI_structs.hpp"
#include "CoreUObject_structs.hpp"
namespace SDK
{
// WidgetBlueprintGeneratedClass AbilitiesPageTile.AbilitiesPageTile_C
// 0x0138 (0x08B8 - 0x0780)
class UAbilitiesPageTile_C final : public UCommonButton
{
public:
struct FPointerToUberGraphFrame UberGraphFrame; // 0x0780(0x0008)(Transient, DuplicateTransient)
class UFortSZAwareImage* AbilityImage; // 0x0788(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonTextBlock* AbilityName; // 0x0790(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UKeybindWidget_C* KeybindAbilityKeybind; // 0x0798(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UKeybindWidget_C* KeybindGamepadAbility1; // 0x07A0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UKeybindWidget_C* KeybindGamepadAbility2; // 0x07A8(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class USizeBox* SizeBoxAbilityKeybind; // 0x07B0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonWidgetSwitcher* SwitcherAbilityBindingSwitcher; // 0x07B8(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
int32 QuickBarSlot; // 0x07C0(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_7C4[0x4]; // 0x07C4(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
class UFortAbilityKit* AbilityKit; // 0x07C8(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortGadgetItemDefinition* GadgetItemDef; // 0x07D0(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortItem* AbilityItem; // 0x07D8(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool AbilityLocked; // 0x07E0(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor)
uint8 Pad_7E1[0x7]; // 0x07E1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
struct FFortUIPerk AbilityUIPerk; // 0x07E8(0x0098)(Edit, BlueprintVisible, DisableEditOnInstance)
struct FLinearColor LockedColor; // 0x0880(0x0010)(Edit, BlueprintVisible, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
struct FLinearColor UnlockedColor; // 0x0890(0x0010)(Edit, BlueprintVisible, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
EFortBrushSize AbilityIconBrushSize; // 0x08A0(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_8A1[0x3]; // 0x08A1(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
struct FLinearColor LockedAbilityIconColor; // 0x08A4(0x0010)(Edit, BlueprintVisible, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
public:
void ExecuteUbergraph_AbilitiesPageTile(int32 EntryPoint);
void HandleInputMethodChanged(bool bUsingGamepad);
void Construct();
void SetAbilityItemInfo(class UFortItem* SlottedAbilityItem);
void UpdateKeyBinding();
void SetAbilityPerkInfo(const struct FFortUIPerk& AbilityPerk);
public:
static class UClass* StaticClass()
{
return StaticBPGeneratedClassImpl<"AbilitiesPageTile_C">();
}
static class UAbilitiesPageTile_C* GetDefaultObj()
{
return GetDefaultObjImpl<UAbilitiesPageTile_C>();
}
};
static_assert(alignof(UAbilitiesPageTile_C) == 0x000008, "Wrong alignment on UAbilitiesPageTile_C");
static_assert(sizeof(UAbilitiesPageTile_C) == 0x0008B8, "Wrong size on UAbilitiesPageTile_C");
static_assert(offsetof(UAbilitiesPageTile_C, UberGraphFrame) == 0x000780, "Member 'UAbilitiesPageTile_C::UberGraphFrame' has a wrong offset!");
static_assert(offsetof(UAbilitiesPageTile_C, AbilityImage) == 0x000788, "Member 'UAbilitiesPageTile_C::AbilityImage' has a wrong offset!");
static_assert(offsetof(UAbilitiesPageTile_C, AbilityName) == 0x000790, "Member 'UAbilitiesPageTile_C::AbilityName' has a wrong offset!");
static_assert(offsetof(UAbilitiesPageTile_C, KeybindAbilityKeybind) == 0x000798, "Member 'UAbilitiesPageTile_C::KeybindAbilityKeybind' has a wrong offset!");
static_assert(offsetof(UAbilitiesPageTile_C, KeybindGamepadAbility1) == 0x0007A0, "Member 'UAbilitiesPageTile_C::KeybindGamepadAbility1' has a wrong offset!");
static_assert(offsetof(UAbilitiesPageTile_C, KeybindGamepadAbility2) == 0x0007A8, "Member 'UAbilitiesPageTile_C::KeybindGamepadAbility2' has a wrong offset!");
static_assert(offsetof(UAbilitiesPageTile_C, SizeBoxAbilityKeybind) == 0x0007B0, "Member 'UAbilitiesPageTile_C::SizeBoxAbilityKeybind' has a wrong offset!");
static_assert(offsetof(UAbilitiesPageTile_C, SwitcherAbilityBindingSwitcher) == 0x0007B8, "Member 'UAbilitiesPageTile_C::SwitcherAbilityBindingSwitcher' has a wrong offset!");
static_assert(offsetof(UAbilitiesPageTile_C, QuickBarSlot) == 0x0007C0, "Member 'UAbilitiesPageTile_C::QuickBarSlot' has a wrong offset!");
static_assert(offsetof(UAbilitiesPageTile_C, AbilityKit) == 0x0007C8, "Member 'UAbilitiesPageTile_C::AbilityKit' has a wrong offset!");
static_assert(offsetof(UAbilitiesPageTile_C, GadgetItemDef) == 0x0007D0, "Member 'UAbilitiesPageTile_C::GadgetItemDef' has a wrong offset!");
static_assert(offsetof(UAbilitiesPageTile_C, AbilityItem) == 0x0007D8, "Member 'UAbilitiesPageTile_C::AbilityItem' has a wrong offset!");
static_assert(offsetof(UAbilitiesPageTile_C, AbilityLocked) == 0x0007E0, "Member 'UAbilitiesPageTile_C::AbilityLocked' has a wrong offset!");
static_assert(offsetof(UAbilitiesPageTile_C, AbilityUIPerk) == 0x0007E8, "Member 'UAbilitiesPageTile_C::AbilityUIPerk' has a wrong offset!");
static_assert(offsetof(UAbilitiesPageTile_C, LockedColor) == 0x000880, "Member 'UAbilitiesPageTile_C::LockedColor' has a wrong offset!");
static_assert(offsetof(UAbilitiesPageTile_C, UnlockedColor) == 0x000890, "Member 'UAbilitiesPageTile_C::UnlockedColor' has a wrong offset!");
static_assert(offsetof(UAbilitiesPageTile_C, AbilityIconBrushSize) == 0x0008A0, "Member 'UAbilitiesPageTile_C::AbilityIconBrushSize' has a wrong offset!");
static_assert(offsetof(UAbilitiesPageTile_C, LockedAbilityIconColor) == 0x0008A4, "Member 'UAbilitiesPageTile_C::LockedAbilityIconColor' has a wrong offset!");
}
@@ -0,0 +1,128 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AbilitiesPageTile
#include "Basic.hpp"
#include "AbilitiesPageTile_classes.hpp"
#include "AbilitiesPageTile_parameters.hpp"
namespace SDK
{
// Function AbilitiesPageTile.AbilitiesPageTile_C.ExecuteUbergraph_AbilitiesPageTile
// ()
// Parameters:
// int32 EntryPoint (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAbilitiesPageTile_C::ExecuteUbergraph_AbilitiesPageTile(int32 EntryPoint)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AbilitiesPageTile_C", "ExecuteUbergraph_AbilitiesPageTile");
Params::AbilitiesPageTile_C_ExecuteUbergraph_AbilitiesPageTile Parms{};
Parms.EntryPoint = EntryPoint;
UObject::ProcessEvent(Func, &Parms);
}
// Function AbilitiesPageTile.AbilitiesPageTile_C.HandleInputMethodChanged
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// bool bUsingGamepad (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)
void UAbilitiesPageTile_C::HandleInputMethodChanged(bool bUsingGamepad)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AbilitiesPageTile_C", "HandleInputMethodChanged");
Params::AbilitiesPageTile_C_HandleInputMethodChanged Parms{};
Parms.bUsingGamepad = bUsingGamepad;
UObject::ProcessEvent(Func, &Parms);
}
// Function AbilitiesPageTile.AbilitiesPageTile_C.Construct
// (BlueprintCosmetic, Event, Public, BlueprintEvent)
void UAbilitiesPageTile_C::Construct()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AbilitiesPageTile_C", "Construct");
UObject::ProcessEvent(Func, nullptr);
}
// Function AbilitiesPageTile.AbilitiesPageTile_C.SetAbilityItemInfo
// (Public, HasDefaults, BlueprintCallable, BlueprintEvent)
// Parameters:
// class UFortItem* SlottedAbilityItem (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAbilitiesPageTile_C::SetAbilityItemInfo(class UFortItem* SlottedAbilityItem)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AbilitiesPageTile_C", "SetAbilityItemInfo");
Params::AbilitiesPageTile_C_SetAbilityItemInfo Parms{};
Parms.SlottedAbilityItem = SlottedAbilityItem;
UObject::ProcessEvent(Func, &Parms);
}
// Function AbilitiesPageTile.AbilitiesPageTile_C.UpdateKeyBinding
// (Public, BlueprintCallable, BlueprintEvent)
void UAbilitiesPageTile_C::UpdateKeyBinding()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AbilitiesPageTile_C", "UpdateKeyBinding");
UObject::ProcessEvent(Func, nullptr);
}
// Function AbilitiesPageTile.AbilitiesPageTile_C.SetAbilityPerkInfo
// (Public, HasDefaults, BlueprintCallable, BlueprintEvent)
// Parameters:
// const struct FFortUIPerk& AbilityPerk (BlueprintVisible, BlueprintReadOnly, Parm)
void UAbilitiesPageTile_C::SetAbilityPerkInfo(const struct FFortUIPerk& AbilityPerk)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AbilitiesPageTile_C", "SetAbilityPerkInfo");
Params::AbilitiesPageTile_C_SetAbilityPerkInfo Parms{};
Parms.AbilityPerk = std::move(AbilityPerk);
UObject::ProcessEvent(Func, &Parms);
}
}
@@ -0,0 +1,118 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AbilitiesPageTile
#include "Basic.hpp"
#include "SlateCore_structs.hpp"
#include "FortniteUI_structs.hpp"
namespace SDK::Params
{
// Function AbilitiesPageTile.AbilitiesPageTile_C.ExecuteUbergraph_AbilitiesPageTile
// 0x0028 (0x0028 - 0x0000)
struct AbilitiesPageTile_C_ExecuteUbergraph_AbilitiesPageTile final
{
public:
int32 EntryPoint; // 0x0000(0x0004)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_4[0x4]; // 0x0004(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
TDelegate<void(bool bUsingGamepad)> K2Node_CreateDelegate_OutputDelegate; // 0x0008(0x0010)(ZeroConstructor, NoDestructor)
class UCommonUIContext* CallFunc_GetContext_ReturnValue; // 0x0018(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_CustomEvent_bUsingGamepad; // 0x0020(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AbilitiesPageTile_C_ExecuteUbergraph_AbilitiesPageTile) == 0x000008, "Wrong alignment on AbilitiesPageTile_C_ExecuteUbergraph_AbilitiesPageTile");
static_assert(sizeof(AbilitiesPageTile_C_ExecuteUbergraph_AbilitiesPageTile) == 0x000028, "Wrong size on AbilitiesPageTile_C_ExecuteUbergraph_AbilitiesPageTile");
static_assert(offsetof(AbilitiesPageTile_C_ExecuteUbergraph_AbilitiesPageTile, EntryPoint) == 0x000000, "Member 'AbilitiesPageTile_C_ExecuteUbergraph_AbilitiesPageTile::EntryPoint' has a wrong offset!");
static_assert(offsetof(AbilitiesPageTile_C_ExecuteUbergraph_AbilitiesPageTile, K2Node_CreateDelegate_OutputDelegate) == 0x000008, "Member 'AbilitiesPageTile_C_ExecuteUbergraph_AbilitiesPageTile::K2Node_CreateDelegate_OutputDelegate' has a wrong offset!");
static_assert(offsetof(AbilitiesPageTile_C_ExecuteUbergraph_AbilitiesPageTile, CallFunc_GetContext_ReturnValue) == 0x000018, "Member 'AbilitiesPageTile_C_ExecuteUbergraph_AbilitiesPageTile::CallFunc_GetContext_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPageTile_C_ExecuteUbergraph_AbilitiesPageTile, K2Node_CustomEvent_bUsingGamepad) == 0x000020, "Member 'AbilitiesPageTile_C_ExecuteUbergraph_AbilitiesPageTile::K2Node_CustomEvent_bUsingGamepad' has a wrong offset!");
// Function AbilitiesPageTile.AbilitiesPageTile_C.HandleInputMethodChanged
// 0x0001 (0x0001 - 0x0000)
struct AbilitiesPageTile_C_HandleInputMethodChanged final
{
public:
bool bUsingGamepad; // 0x0000(0x0001)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AbilitiesPageTile_C_HandleInputMethodChanged) == 0x000001, "Wrong alignment on AbilitiesPageTile_C_HandleInputMethodChanged");
static_assert(sizeof(AbilitiesPageTile_C_HandleInputMethodChanged) == 0x000001, "Wrong size on AbilitiesPageTile_C_HandleInputMethodChanged");
static_assert(offsetof(AbilitiesPageTile_C_HandleInputMethodChanged, bUsingGamepad) == 0x000000, "Member 'AbilitiesPageTile_C_HandleInputMethodChanged::bUsingGamepad' has a wrong offset!");
// Function AbilitiesPageTile.AbilitiesPageTile_C.SetAbilityItemInfo
// 0x00B8 (0x00B8 - 0x0000)
struct AbilitiesPageTile_C_SetAbilityItemInfo final
{
public:
class UFortItem* SlottedAbilityItem; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class FText CallFunc_GetDisplayName_ReturnValue; // 0x0008(0x0018)()
class UFortItemDefinition* CallFunc_GetItemDefinitionBP_ReturnValue; // 0x0020(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsValid_ReturnValue; // 0x0028(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_29[0x7]; // 0x0029(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class UFortGadgetItemDefinition* K2Node_DynamicCast_AsFort_Gadget_Item_Definition; // 0x0030(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess; // 0x0038(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_39[0x7]; // 0x0039(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
struct FSlateBrush CallFunc_GetItemSmallPreviewImageBrush_ReturnValue; // 0x0040(0x0078)()
};
static_assert(alignof(AbilitiesPageTile_C_SetAbilityItemInfo) == 0x000008, "Wrong alignment on AbilitiesPageTile_C_SetAbilityItemInfo");
static_assert(sizeof(AbilitiesPageTile_C_SetAbilityItemInfo) == 0x0000B8, "Wrong size on AbilitiesPageTile_C_SetAbilityItemInfo");
static_assert(offsetof(AbilitiesPageTile_C_SetAbilityItemInfo, SlottedAbilityItem) == 0x000000, "Member 'AbilitiesPageTile_C_SetAbilityItemInfo::SlottedAbilityItem' has a wrong offset!");
static_assert(offsetof(AbilitiesPageTile_C_SetAbilityItemInfo, CallFunc_GetDisplayName_ReturnValue) == 0x000008, "Member 'AbilitiesPageTile_C_SetAbilityItemInfo::CallFunc_GetDisplayName_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPageTile_C_SetAbilityItemInfo, CallFunc_GetItemDefinitionBP_ReturnValue) == 0x000020, "Member 'AbilitiesPageTile_C_SetAbilityItemInfo::CallFunc_GetItemDefinitionBP_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPageTile_C_SetAbilityItemInfo, CallFunc_IsValid_ReturnValue) == 0x000028, "Member 'AbilitiesPageTile_C_SetAbilityItemInfo::CallFunc_IsValid_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPageTile_C_SetAbilityItemInfo, K2Node_DynamicCast_AsFort_Gadget_Item_Definition) == 0x000030, "Member 'AbilitiesPageTile_C_SetAbilityItemInfo::K2Node_DynamicCast_AsFort_Gadget_Item_Definition' has a wrong offset!");
static_assert(offsetof(AbilitiesPageTile_C_SetAbilityItemInfo, K2Node_DynamicCast_bSuccess) == 0x000038, "Member 'AbilitiesPageTile_C_SetAbilityItemInfo::K2Node_DynamicCast_bSuccess' has a wrong offset!");
static_assert(offsetof(AbilitiesPageTile_C_SetAbilityItemInfo, CallFunc_GetItemSmallPreviewImageBrush_ReturnValue) == 0x000040, "Member 'AbilitiesPageTile_C_SetAbilityItemInfo::CallFunc_GetItemSmallPreviewImageBrush_ReturnValue' has a wrong offset!");
// Function AbilitiesPageTile.AbilitiesPageTile_C.UpdateKeyBinding
// 0x0018 (0x0018 - 0x0000)
struct AbilitiesPageTile_C_UpdateKeyBinding final
{
public:
bool K2Node_SwitchInteger_CmpSuccess; // 0x0000(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_1[0x7]; // 0x0001(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class UFortGlobalUIContext* CallFunc_GetContext_ReturnValue; // 0x0008(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsValid_ReturnValue; // 0x0010(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_IsValid_ReturnValue1; // 0x0011(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_IsValid_ReturnValue12; // 0x0012(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_IsUsingGamepad_ReturnValue; // 0x0013(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AbilitiesPageTile_C_UpdateKeyBinding) == 0x000008, "Wrong alignment on AbilitiesPageTile_C_UpdateKeyBinding");
static_assert(sizeof(AbilitiesPageTile_C_UpdateKeyBinding) == 0x000018, "Wrong size on AbilitiesPageTile_C_UpdateKeyBinding");
static_assert(offsetof(AbilitiesPageTile_C_UpdateKeyBinding, K2Node_SwitchInteger_CmpSuccess) == 0x000000, "Member 'AbilitiesPageTile_C_UpdateKeyBinding::K2Node_SwitchInteger_CmpSuccess' has a wrong offset!");
static_assert(offsetof(AbilitiesPageTile_C_UpdateKeyBinding, CallFunc_GetContext_ReturnValue) == 0x000008, "Member 'AbilitiesPageTile_C_UpdateKeyBinding::CallFunc_GetContext_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPageTile_C_UpdateKeyBinding, CallFunc_IsValid_ReturnValue) == 0x000010, "Member 'AbilitiesPageTile_C_UpdateKeyBinding::CallFunc_IsValid_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPageTile_C_UpdateKeyBinding, CallFunc_IsValid_ReturnValue1) == 0x000011, "Member 'AbilitiesPageTile_C_UpdateKeyBinding::CallFunc_IsValid_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AbilitiesPageTile_C_UpdateKeyBinding, CallFunc_IsValid_ReturnValue12) == 0x000012, "Member 'AbilitiesPageTile_C_UpdateKeyBinding::CallFunc_IsValid_ReturnValue12' has a wrong offset!");
static_assert(offsetof(AbilitiesPageTile_C_UpdateKeyBinding, CallFunc_IsUsingGamepad_ReturnValue) == 0x000013, "Member 'AbilitiesPageTile_C_UpdateKeyBinding::CallFunc_IsUsingGamepad_ReturnValue' has a wrong offset!");
// Function AbilitiesPageTile.AbilitiesPageTile_C.SetAbilityPerkInfo
// 0x0158 (0x0158 - 0x0000)
struct AbilitiesPageTile_C_SetAbilityPerkInfo final
{
public:
struct FFortUIPerk AbilityPerk; // 0x0000(0x0098)(BlueprintVisible, BlueprintReadOnly, Parm)
TArray<class UFortGadgetItemDefinition*> CallFunc_BP_GetGadgets_GadgetItemDefinitions; // 0x0098(0x0010)(ZeroConstructor, ReferenceParm)
class UFortGadgetItemDefinition* CallFunc_Array_Get_Item; // 0x00A8(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
struct FSlateColor K2Node_MakeStruct_SlateColor; // 0x00B0(0x0028)()
struct FSlateBrush CallFunc_GetItemDefinitionSmallPreviewImageBrush_ReturnValue; // 0x00D8(0x0078)()
class UFortAbilityKit* CallFunc_GetGrantedAbilityKit_ReturnValue; // 0x0150(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AbilitiesPageTile_C_SetAbilityPerkInfo) == 0x000008, "Wrong alignment on AbilitiesPageTile_C_SetAbilityPerkInfo");
static_assert(sizeof(AbilitiesPageTile_C_SetAbilityPerkInfo) == 0x000158, "Wrong size on AbilitiesPageTile_C_SetAbilityPerkInfo");
static_assert(offsetof(AbilitiesPageTile_C_SetAbilityPerkInfo, AbilityPerk) == 0x000000, "Member 'AbilitiesPageTile_C_SetAbilityPerkInfo::AbilityPerk' has a wrong offset!");
static_assert(offsetof(AbilitiesPageTile_C_SetAbilityPerkInfo, CallFunc_BP_GetGadgets_GadgetItemDefinitions) == 0x000098, "Member 'AbilitiesPageTile_C_SetAbilityPerkInfo::CallFunc_BP_GetGadgets_GadgetItemDefinitions' has a wrong offset!");
static_assert(offsetof(AbilitiesPageTile_C_SetAbilityPerkInfo, CallFunc_Array_Get_Item) == 0x0000A8, "Member 'AbilitiesPageTile_C_SetAbilityPerkInfo::CallFunc_Array_Get_Item' has a wrong offset!");
static_assert(offsetof(AbilitiesPageTile_C_SetAbilityPerkInfo, K2Node_MakeStruct_SlateColor) == 0x0000B0, "Member 'AbilitiesPageTile_C_SetAbilityPerkInfo::K2Node_MakeStruct_SlateColor' has a wrong offset!");
static_assert(offsetof(AbilitiesPageTile_C_SetAbilityPerkInfo, CallFunc_GetItemDefinitionSmallPreviewImageBrush_ReturnValue) == 0x0000D8, "Member 'AbilitiesPageTile_C_SetAbilityPerkInfo::CallFunc_GetItemDefinitionSmallPreviewImageBrush_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPageTile_C_SetAbilityPerkInfo, CallFunc_GetGrantedAbilityKit_ReturnValue) == 0x000150, "Member 'AbilitiesPageTile_C_SetAbilityPerkInfo::CallFunc_GetGrantedAbilityKit_ReturnValue' has a wrong offset!");
}
+96
View File
@@ -0,0 +1,96 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AbilitiesPage
#include "Basic.hpp"
#include "UMG_structs.hpp"
#include "Engine_structs.hpp"
#include "FortniteGame_structs.hpp"
#include "CommonUI_classes.hpp"
namespace SDK
{
// WidgetBlueprintGeneratedClass AbilitiesPage.AbilitiesPage_C
// 0x00A0 (0x0460 - 0x03C0)
class UAbilitiesPage_C final : public UCommonActivatablePanel
{
public:
struct FPointerToUberGraphFrame UberGraphFrame; // 0x03C0(0x0008)(Transient, DuplicateTransient)
class UVerticalBox* AbilitiesBox; // 0x03C8(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UAbilitiesPageTile_C* AbilityTilePrimary; // 0x03D0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UAbilitiesPageTile_C* AbilityTileSecondary; // 0x03D8(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UAbilitiesPageTile_C* AbilityTileTertiary; // 0x03E0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonTextBlock* CommonTextAbilityDescription; // 0x03E8(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonTextBlock* CommonTextAbilityName; // 0x03F0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UFortTierIndicator* FortTierIndicatorUnlockTier; // 0x03F8(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UVerticalBox* GadgetsBox; // 0x0400(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UAbilitiesPageTile_C* GadgetTilePrimary; // 0x0408(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UAbilitiesPageTile_C* GadgetTileSecondary; // 0x0410(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UMovieWidget_C* MovieWidget; // 0x0418(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class USafeZone* SafeZone_0; // 0x0420(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class USizeBox* SizeBoxMovie; // 0x0428(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonTextBlock* TextLevel; // 0x0430(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UVerticalBox* VerticalBoxGadgetsList; // 0x0438(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UWidgetSwitcher* WidgetSwitcherAbilityDescription; // 0x0440(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonButtonGroup* ButtonGroup; // 0x0448(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UCommonButton* SelectedAbilityButton; // 0x0450(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UMediaSource* VideoMediaSource; // 0x0458(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
public:
void ExecuteUbergraph_AbilitiesPage(int32 EntryPoint);
void OnDeactivated();
void Construct();
void OnQuickbarContentsChanged(EFortQuickBars QuickbarIndex);
void OnActivated();
void HandleBack(bool* Passthrough);
void OnAbilitySelected(class UCommonButton* AbilityButton);
void HandleSelectedButtonChanged(class UCommonButton* InSelectedButton, int32 InSelectedButtonIndex);
void AddTilesToButtonGroup(class UVerticalBox* ButtonContainer);
void InitializeAbilityTiles();
void UpdateAbilityMovie(class UFortGadgetItemDefinition* inGadgetItemDef);
void HandleInventory(bool* Passthrough);
public:
static class UClass* StaticClass()
{
return StaticBPGeneratedClassImpl<"AbilitiesPage_C">();
}
static class UAbilitiesPage_C* GetDefaultObj()
{
return GetDefaultObjImpl<UAbilitiesPage_C>();
}
};
static_assert(alignof(UAbilitiesPage_C) == 0x000008, "Wrong alignment on UAbilitiesPage_C");
static_assert(sizeof(UAbilitiesPage_C) == 0x000460, "Wrong size on UAbilitiesPage_C");
static_assert(offsetof(UAbilitiesPage_C, UberGraphFrame) == 0x0003C0, "Member 'UAbilitiesPage_C::UberGraphFrame' has a wrong offset!");
static_assert(offsetof(UAbilitiesPage_C, AbilitiesBox) == 0x0003C8, "Member 'UAbilitiesPage_C::AbilitiesBox' has a wrong offset!");
static_assert(offsetof(UAbilitiesPage_C, AbilityTilePrimary) == 0x0003D0, "Member 'UAbilitiesPage_C::AbilityTilePrimary' has a wrong offset!");
static_assert(offsetof(UAbilitiesPage_C, AbilityTileSecondary) == 0x0003D8, "Member 'UAbilitiesPage_C::AbilityTileSecondary' has a wrong offset!");
static_assert(offsetof(UAbilitiesPage_C, AbilityTileTertiary) == 0x0003E0, "Member 'UAbilitiesPage_C::AbilityTileTertiary' has a wrong offset!");
static_assert(offsetof(UAbilitiesPage_C, CommonTextAbilityDescription) == 0x0003E8, "Member 'UAbilitiesPage_C::CommonTextAbilityDescription' has a wrong offset!");
static_assert(offsetof(UAbilitiesPage_C, CommonTextAbilityName) == 0x0003F0, "Member 'UAbilitiesPage_C::CommonTextAbilityName' has a wrong offset!");
static_assert(offsetof(UAbilitiesPage_C, FortTierIndicatorUnlockTier) == 0x0003F8, "Member 'UAbilitiesPage_C::FortTierIndicatorUnlockTier' has a wrong offset!");
static_assert(offsetof(UAbilitiesPage_C, GadgetsBox) == 0x000400, "Member 'UAbilitiesPage_C::GadgetsBox' has a wrong offset!");
static_assert(offsetof(UAbilitiesPage_C, GadgetTilePrimary) == 0x000408, "Member 'UAbilitiesPage_C::GadgetTilePrimary' has a wrong offset!");
static_assert(offsetof(UAbilitiesPage_C, GadgetTileSecondary) == 0x000410, "Member 'UAbilitiesPage_C::GadgetTileSecondary' has a wrong offset!");
static_assert(offsetof(UAbilitiesPage_C, MovieWidget) == 0x000418, "Member 'UAbilitiesPage_C::MovieWidget' has a wrong offset!");
static_assert(offsetof(UAbilitiesPage_C, SafeZone_0) == 0x000420, "Member 'UAbilitiesPage_C::SafeZone_0' has a wrong offset!");
static_assert(offsetof(UAbilitiesPage_C, SizeBoxMovie) == 0x000428, "Member 'UAbilitiesPage_C::SizeBoxMovie' has a wrong offset!");
static_assert(offsetof(UAbilitiesPage_C, TextLevel) == 0x000430, "Member 'UAbilitiesPage_C::TextLevel' has a wrong offset!");
static_assert(offsetof(UAbilitiesPage_C, VerticalBoxGadgetsList) == 0x000438, "Member 'UAbilitiesPage_C::VerticalBoxGadgetsList' has a wrong offset!");
static_assert(offsetof(UAbilitiesPage_C, WidgetSwitcherAbilityDescription) == 0x000440, "Member 'UAbilitiesPage_C::WidgetSwitcherAbilityDescription' has a wrong offset!");
static_assert(offsetof(UAbilitiesPage_C, ButtonGroup) == 0x000448, "Member 'UAbilitiesPage_C::ButtonGroup' has a wrong offset!");
static_assert(offsetof(UAbilitiesPage_C, SelectedAbilityButton) == 0x000450, "Member 'UAbilitiesPage_C::SelectedAbilityButton' has a wrong offset!");
static_assert(offsetof(UAbilitiesPage_C, VideoMediaSource) == 0x000458, "Member 'UAbilitiesPage_C::VideoMediaSource' has a wrong offset!");
}
+240
View File
@@ -0,0 +1,240 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AbilitiesPage
#include "Basic.hpp"
#include "AbilitiesPage_classes.hpp"
#include "AbilitiesPage_parameters.hpp"
namespace SDK
{
// Function AbilitiesPage.AbilitiesPage_C.ExecuteUbergraph_AbilitiesPage
// (HasDefaults)
// Parameters:
// int32 EntryPoint (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAbilitiesPage_C::ExecuteUbergraph_AbilitiesPage(int32 EntryPoint)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AbilitiesPage_C", "ExecuteUbergraph_AbilitiesPage");
Params::AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage Parms{};
Parms.EntryPoint = EntryPoint;
UObject::ProcessEvent(Func, &Parms);
}
// Function AbilitiesPage.AbilitiesPage_C.OnDeactivated
// (Event, Protected, BlueprintEvent)
void UAbilitiesPage_C::OnDeactivated()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AbilitiesPage_C", "OnDeactivated");
UObject::ProcessEvent(Func, nullptr);
}
// Function AbilitiesPage.AbilitiesPage_C.Construct
// (BlueprintCosmetic, Event, Public, BlueprintEvent)
void UAbilitiesPage_C::Construct()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AbilitiesPage_C", "Construct");
UObject::ProcessEvent(Func, nullptr);
}
// Function AbilitiesPage.AbilitiesPage_C.OnQuickbarContentsChanged
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// EFortQuickBars QuickbarIndex (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAbilitiesPage_C::OnQuickbarContentsChanged(EFortQuickBars QuickbarIndex)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AbilitiesPage_C", "OnQuickbarContentsChanged");
Params::AbilitiesPage_C_OnQuickbarContentsChanged Parms{};
Parms.QuickbarIndex = QuickbarIndex;
UObject::ProcessEvent(Func, &Parms);
}
// Function AbilitiesPage.AbilitiesPage_C.OnActivated
// (Event, Protected, BlueprintEvent)
void UAbilitiesPage_C::OnActivated()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AbilitiesPage_C", "OnActivated");
UObject::ProcessEvent(Func, nullptr);
}
// Function AbilitiesPage.AbilitiesPage_C.HandleBack
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool* Passthrough (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor)
void UAbilitiesPage_C::HandleBack(bool* Passthrough)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AbilitiesPage_C", "HandleBack");
Params::AbilitiesPage_C_HandleBack Parms{};
UObject::ProcessEvent(Func, &Parms);
if (Passthrough != nullptr)
*Passthrough = Parms.Passthrough;
}
// Function AbilitiesPage.AbilitiesPage_C.OnAbilitySelected
// (Public, HasDefaults, BlueprintCallable, BlueprintEvent)
// Parameters:
// class UCommonButton* AbilityButton (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAbilitiesPage_C::OnAbilitySelected(class UCommonButton* AbilityButton)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AbilitiesPage_C", "OnAbilitySelected");
Params::AbilitiesPage_C_OnAbilitySelected Parms{};
Parms.AbilityButton = AbilityButton;
UObject::ProcessEvent(Func, &Parms);
}
// Function AbilitiesPage.AbilitiesPage_C.HandleSelectedButtonChanged
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// class UCommonButton* InSelectedButton (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// int32 InSelectedButtonIndex (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAbilitiesPage_C::HandleSelectedButtonChanged(class UCommonButton* InSelectedButton, int32 InSelectedButtonIndex)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AbilitiesPage_C", "HandleSelectedButtonChanged");
Params::AbilitiesPage_C_HandleSelectedButtonChanged Parms{};
Parms.InSelectedButton = InSelectedButton;
Parms.InSelectedButtonIndex = InSelectedButtonIndex;
UObject::ProcessEvent(Func, &Parms);
}
// Function AbilitiesPage.AbilitiesPage_C.AddTilesToButtonGroup
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// class UVerticalBox* ButtonContainer (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAbilitiesPage_C::AddTilesToButtonGroup(class UVerticalBox* ButtonContainer)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AbilitiesPage_C", "AddTilesToButtonGroup");
Params::AbilitiesPage_C_AddTilesToButtonGroup Parms{};
Parms.ButtonContainer = ButtonContainer;
UObject::ProcessEvent(Func, &Parms);
}
// Function AbilitiesPage.AbilitiesPage_C.InitializeAbilityTiles
// (Public, HasDefaults, BlueprintCallable, BlueprintEvent)
void UAbilitiesPage_C::InitializeAbilityTiles()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AbilitiesPage_C", "InitializeAbilityTiles");
UObject::ProcessEvent(Func, nullptr);
}
// Function AbilitiesPage.AbilitiesPage_C.UpdateAbilityMovie
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// class UFortGadgetItemDefinition* inGadgetItemDef (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAbilitiesPage_C::UpdateAbilityMovie(class UFortGadgetItemDefinition* inGadgetItemDef)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AbilitiesPage_C", "UpdateAbilityMovie");
Params::AbilitiesPage_C_UpdateAbilityMovie Parms{};
Parms.inGadgetItemDef = inGadgetItemDef;
UObject::ProcessEvent(Func, &Parms);
}
// Function AbilitiesPage.AbilitiesPage_C.HandleInventory
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool* Passthrough (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor)
void UAbilitiesPage_C::HandleInventory(bool* Passthrough)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AbilitiesPage_C", "HandleInventory");
Params::AbilitiesPage_C_HandleInventory Parms{};
UObject::ProcessEvent(Func, &Parms);
if (Passthrough != nullptr)
*Passthrough = Parms.Passthrough;
}
}
+393
View File
@@ -0,0 +1,393 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AbilitiesPage
#include "Basic.hpp"
#include "FortniteGame_structs.hpp"
#include "FortniteUI_structs.hpp"
#include "UMG_structs.hpp"
#include "Engine_structs.hpp"
namespace SDK::Params
{
// Function AbilitiesPage.AbilitiesPage_C.ExecuteUbergraph_AbilitiesPage
// 0x00E0 (0x00E0 - 0x0000)
struct AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage final
{
public:
int32 EntryPoint; // 0x0000(0x0004)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_4[0x4]; // 0x0004(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
TDelegate<void(bool* bPassThrough)> K2Node_CreateDelegate_OutputDelegate; // 0x0008(0x0010)(ZeroConstructor, NoDestructor)
struct FDataTableRowHandle K2Node_MakeStruct_DataTableRowHandle; // 0x0018(0x0010)(NoDestructor)
TDelegate<void(bool* bPassThrough)> K2Node_CreateDelegate_OutputDelegate1; // 0x0028(0x0010)(ZeroConstructor, NoDestructor)
class UCommonButtonGroup* CallFunc_SpawnObject_ReturnValue; // 0x0038(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
TDelegate<void(class UCommonButton* AssociatedButton, int32 ButtonIndex)> K2Node_CreateDelegate_OutputDelegate12; // 0x0040(0x0010)(ZeroConstructor, NoDestructor)
class UCommonButton* CallFunc_GetButtonAtIndex_ReturnValue; // 0x0050(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortUINavigationManager* CallFunc_GetUINavigationManager_ReturnValue; // 0x0058(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsValid_ReturnValue; // 0x0060(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_61[0x7]; // 0x0061(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class APlayerController* CallFunc_GetPlayerController_ReturnValue; // 0x0068(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortTooltipContext* CallFunc_SpawnTooltipContextWithSource_ReturnValue; // 0x0070(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortInventoryContext* CallFunc_GetContext_ReturnValue; // 0x0078(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
EFortQuickBars K2Node_CustomEvent_QuickbarIndex; // 0x0080(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_EqualEqual_ByteByte_ReturnValue; // 0x0081(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_82[0x6]; // 0x0082(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
TDelegate<void(EFortQuickBars QuickbarIndex)> K2Node_CreateDelegate_OutputDelegate123; // 0x0088(0x0010)(ZeroConstructor, NoDestructor)
class UCommonButton* CallFunc_GetButtonAtIndex_ReturnValue1; // 0x0098(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_HasAnyUserFocus_ReturnValue; // 0x00A0(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_A1[0x7]; // 0x00A1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
struct FDataTableRowHandle K2Node_MakeStruct_DataTableRowHandle1; // 0x00A8(0x0010)(NoDestructor)
bool CallFunc_BooleanAND_ReturnValue; // 0x00B8(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_B9[0x7]; // 0x00B9(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
TDelegate<void(bool* bPassThrough)> K2Node_CreateDelegate_OutputDelegate1234; // 0x00C0(0x0010)(ZeroConstructor, NoDestructor)
struct FDataTableRowHandle K2Node_MakeStruct_DataTableRowHandle12; // 0x00D0(0x0010)(NoDestructor)
};
static_assert(alignof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage) == 0x000008, "Wrong alignment on AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage");
static_assert(sizeof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage) == 0x0000E0, "Wrong size on AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage");
static_assert(offsetof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage, EntryPoint) == 0x000000, "Member 'AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage::EntryPoint' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage, K2Node_CreateDelegate_OutputDelegate) == 0x000008, "Member 'AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage::K2Node_CreateDelegate_OutputDelegate' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage, K2Node_MakeStruct_DataTableRowHandle) == 0x000018, "Member 'AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage::K2Node_MakeStruct_DataTableRowHandle' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage, K2Node_CreateDelegate_OutputDelegate1) == 0x000028, "Member 'AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage::K2Node_CreateDelegate_OutputDelegate1' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage, CallFunc_SpawnObject_ReturnValue) == 0x000038, "Member 'AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage::CallFunc_SpawnObject_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage, K2Node_CreateDelegate_OutputDelegate12) == 0x000040, "Member 'AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage::K2Node_CreateDelegate_OutputDelegate12' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage, CallFunc_GetButtonAtIndex_ReturnValue) == 0x000050, "Member 'AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage::CallFunc_GetButtonAtIndex_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage, CallFunc_GetUINavigationManager_ReturnValue) == 0x000058, "Member 'AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage::CallFunc_GetUINavigationManager_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage, CallFunc_IsValid_ReturnValue) == 0x000060, "Member 'AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage::CallFunc_IsValid_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage, CallFunc_GetPlayerController_ReturnValue) == 0x000068, "Member 'AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage::CallFunc_GetPlayerController_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage, CallFunc_SpawnTooltipContextWithSource_ReturnValue) == 0x000070, "Member 'AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage::CallFunc_SpawnTooltipContextWithSource_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage, CallFunc_GetContext_ReturnValue) == 0x000078, "Member 'AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage::CallFunc_GetContext_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage, K2Node_CustomEvent_QuickbarIndex) == 0x000080, "Member 'AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage::K2Node_CustomEvent_QuickbarIndex' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage, CallFunc_EqualEqual_ByteByte_ReturnValue) == 0x000081, "Member 'AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage::CallFunc_EqualEqual_ByteByte_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage, K2Node_CreateDelegate_OutputDelegate123) == 0x000088, "Member 'AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage::K2Node_CreateDelegate_OutputDelegate123' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage, CallFunc_GetButtonAtIndex_ReturnValue1) == 0x000098, "Member 'AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage::CallFunc_GetButtonAtIndex_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage, CallFunc_HasAnyUserFocus_ReturnValue) == 0x0000A0, "Member 'AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage::CallFunc_HasAnyUserFocus_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage, K2Node_MakeStruct_DataTableRowHandle1) == 0x0000A8, "Member 'AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage::K2Node_MakeStruct_DataTableRowHandle1' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage, CallFunc_BooleanAND_ReturnValue) == 0x0000B8, "Member 'AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage::CallFunc_BooleanAND_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage, K2Node_CreateDelegate_OutputDelegate1234) == 0x0000C0, "Member 'AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage::K2Node_CreateDelegate_OutputDelegate1234' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage, K2Node_MakeStruct_DataTableRowHandle12) == 0x0000D0, "Member 'AbilitiesPage_C_ExecuteUbergraph_AbilitiesPage::K2Node_MakeStruct_DataTableRowHandle12' has a wrong offset!");
// Function AbilitiesPage.AbilitiesPage_C.OnQuickbarContentsChanged
// 0x0001 (0x0001 - 0x0000)
struct AbilitiesPage_C_OnQuickbarContentsChanged final
{
public:
EFortQuickBars QuickbarIndex; // 0x0000(0x0001)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AbilitiesPage_C_OnQuickbarContentsChanged) == 0x000001, "Wrong alignment on AbilitiesPage_C_OnQuickbarContentsChanged");
static_assert(sizeof(AbilitiesPage_C_OnQuickbarContentsChanged) == 0x000001, "Wrong size on AbilitiesPage_C_OnQuickbarContentsChanged");
static_assert(offsetof(AbilitiesPage_C_OnQuickbarContentsChanged, QuickbarIndex) == 0x000000, "Member 'AbilitiesPage_C_OnQuickbarContentsChanged::QuickbarIndex' has a wrong offset!");
// Function AbilitiesPage.AbilitiesPage_C.HandleBack
// 0x0010 (0x0010 - 0x0000)
struct AbilitiesPage_C_HandleBack final
{
public:
bool Passthrough; // 0x0000(0x0001)(Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_1[0x7]; // 0x0001(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class UFortHUDContext* CallFunc_GetContext_ReturnValue; // 0x0008(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AbilitiesPage_C_HandleBack) == 0x000008, "Wrong alignment on AbilitiesPage_C_HandleBack");
static_assert(sizeof(AbilitiesPage_C_HandleBack) == 0x000010, "Wrong size on AbilitiesPage_C_HandleBack");
static_assert(offsetof(AbilitiesPage_C_HandleBack, Passthrough) == 0x000000, "Member 'AbilitiesPage_C_HandleBack::Passthrough' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_HandleBack, CallFunc_GetContext_ReturnValue) == 0x000008, "Member 'AbilitiesPage_C_HandleBack::CallFunc_GetContext_ReturnValue' has a wrong offset!");
// Function AbilitiesPage.AbilitiesPage_C.OnAbilitySelected
// 0x0318 (0x0318 - 0x0000)
struct AbilitiesPage_C_OnAbilitySelected final
{
public:
class UCommonButton* AbilityButton; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortTooltipUIContext* CallFunc_GetContext_ReturnValue; // 0x0008(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UAbilitiesPageTile_C* K2Node_DynamicCast_AsAbilities_Page_Tile; // 0x0010(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess; // 0x0018(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_19[0x3]; // 0x0019(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
int32 CallFunc_Conv_ByteToInt_ReturnValue; // 0x001C(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
EFortItemTier CallFunc_GetTier_ReturnValue; // 0x0020(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_21[0x3]; // 0x0021(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
int32 CallFunc_Conv_ByteToInt_ReturnValue1; // 0x0024(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class FText CallFunc_Conv_IntToText_ReturnValue; // 0x0028(0x0018)()
int32 CallFunc_Subtract_IntInt_ReturnValue; // 0x0040(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_44[0x4]; // 0x0044(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
struct FFormatArgumentData K2Node_MakeStruct_FormatArgumentData; // 0x0048(0x0040)(HasGetValueTypeHash)
float CallFunc_Conv_IntToFloat_ReturnValue; // 0x0088(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_8C[0x4]; // 0x008C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
TArray<struct FFormatArgumentData> K2Node_MakeArray_Array; // 0x0090(0x0010)(ZeroConstructor, ReferenceParm)
float CallFunc_FMod_Remainder; // 0x00A0(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
int32 CallFunc_FMod_ReturnValue; // 0x00A4(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class FText CallFunc_Format_ReturnValue; // 0x00A8(0x0018)()
bool CallFunc_Greater_FloatFloat_ReturnValue; // 0x00C0(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_IsValid_ReturnValue; // 0x00C1(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_C2[0x6]; // 0x00C2(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
class FText CallFunc_GetDisplayName_ReturnValue; // 0x00C8(0x0018)()
class FText CallFunc_TextToUpper_ReturnValue; // 0x00E0(0x0018)()
ESlateVisibility Temp_byte_Variable; // 0x00F8(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
ESlateVisibility Temp_byte_Variable1; // 0x00F9(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool Temp_bool_Variable; // 0x00FA(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_FB[0x5]; // 0x00FB(0x0005)(Fixing Size After Last Property [ Dumper-7 ])
class APlayerController* CallFunc_GetOwningPlayer_ReturnValue; // 0x0100(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
ESlateVisibility K2Node_Select_Default; // 0x0108(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_109[0x7]; // 0x0109(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class UFortTooltipContext* CallFunc_SpawnTooltipContextWithSource_ReturnValue; // 0x0110(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class FText CallFunc_GetTooltipTextFromToken_OutText; // 0x0118(0x0018)()
bool CallFunc_GetTooltipTextFromToken_ReturnValue; // 0x0130(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_131[0x7]; // 0x0131(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class FText CallFunc_GetTooltipTextFromToken_OutText1; // 0x0138(0x0018)()
bool CallFunc_GetTooltipTextFromToken_ReturnValue1; // 0x0150(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_151[0x7]; // 0x0151(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
struct FFormatArgumentData K2Node_MakeStruct_FormatArgumentData1; // 0x0158(0x0040)(HasGetValueTypeHash)
struct FFormatArgumentData K2Node_MakeStruct_FormatArgumentData12; // 0x0198(0x0040)(HasGetValueTypeHash)
struct FFormatArgumentData K2Node_MakeStruct_FormatArgumentData123; // 0x01D8(0x0040)(HasGetValueTypeHash)
bool CallFunc_TextIsEmpty_ReturnValue; // 0x0218(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_219[0x7]; // 0x0219(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class FText CallFunc_GetCombinedDescription_OutDescription; // 0x0220(0x0018)()
bool CallFunc_GetCombinedDescription_ReturnValue; // 0x0238(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_Not_PreBool_ReturnValue; // 0x0239(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_23A[0x6]; // 0x023A(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
struct FFormatArgumentData K2Node_MakeStruct_FormatArgumentData1234; // 0x0240(0x0040)(HasGetValueTypeHash)
bool CallFunc_BooleanAND_ReturnValue; // 0x0280(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_281[0x7]; // 0x0281(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
TArray<struct FFormatArgumentData> K2Node_MakeArray_Array1; // 0x0288(0x0010)(ZeroConstructor, ReferenceParm)
class FText CallFunc_Format_ReturnValue1; // 0x0298(0x0018)()
struct FFormatArgumentData K2Node_MakeStruct_FormatArgumentData12345; // 0x02B0(0x0040)(HasGetValueTypeHash)
TArray<struct FFormatArgumentData> K2Node_MakeArray_Array12; // 0x02F0(0x0010)(ZeroConstructor, ReferenceParm)
class FText CallFunc_Format_ReturnValue12; // 0x0300(0x0018)()
};
static_assert(alignof(AbilitiesPage_C_OnAbilitySelected) == 0x000008, "Wrong alignment on AbilitiesPage_C_OnAbilitySelected");
static_assert(sizeof(AbilitiesPage_C_OnAbilitySelected) == 0x000318, "Wrong size on AbilitiesPage_C_OnAbilitySelected");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, AbilityButton) == 0x000000, "Member 'AbilitiesPage_C_OnAbilitySelected::AbilityButton' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_GetContext_ReturnValue) == 0x000008, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_GetContext_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, K2Node_DynamicCast_AsAbilities_Page_Tile) == 0x000010, "Member 'AbilitiesPage_C_OnAbilitySelected::K2Node_DynamicCast_AsAbilities_Page_Tile' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, K2Node_DynamicCast_bSuccess) == 0x000018, "Member 'AbilitiesPage_C_OnAbilitySelected::K2Node_DynamicCast_bSuccess' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_Conv_ByteToInt_ReturnValue) == 0x00001C, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_Conv_ByteToInt_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_GetTier_ReturnValue) == 0x000020, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_GetTier_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_Conv_ByteToInt_ReturnValue1) == 0x000024, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_Conv_ByteToInt_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_Conv_IntToText_ReturnValue) == 0x000028, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_Conv_IntToText_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_Subtract_IntInt_ReturnValue) == 0x000040, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_Subtract_IntInt_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, K2Node_MakeStruct_FormatArgumentData) == 0x000048, "Member 'AbilitiesPage_C_OnAbilitySelected::K2Node_MakeStruct_FormatArgumentData' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_Conv_IntToFloat_ReturnValue) == 0x000088, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_Conv_IntToFloat_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, K2Node_MakeArray_Array) == 0x000090, "Member 'AbilitiesPage_C_OnAbilitySelected::K2Node_MakeArray_Array' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_FMod_Remainder) == 0x0000A0, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_FMod_Remainder' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_FMod_ReturnValue) == 0x0000A4, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_FMod_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_Format_ReturnValue) == 0x0000A8, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_Format_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_Greater_FloatFloat_ReturnValue) == 0x0000C0, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_Greater_FloatFloat_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_IsValid_ReturnValue) == 0x0000C1, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_IsValid_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_GetDisplayName_ReturnValue) == 0x0000C8, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_GetDisplayName_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_TextToUpper_ReturnValue) == 0x0000E0, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_TextToUpper_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, Temp_byte_Variable) == 0x0000F8, "Member 'AbilitiesPage_C_OnAbilitySelected::Temp_byte_Variable' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, Temp_byte_Variable1) == 0x0000F9, "Member 'AbilitiesPage_C_OnAbilitySelected::Temp_byte_Variable1' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, Temp_bool_Variable) == 0x0000FA, "Member 'AbilitiesPage_C_OnAbilitySelected::Temp_bool_Variable' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_GetOwningPlayer_ReturnValue) == 0x000100, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_GetOwningPlayer_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, K2Node_Select_Default) == 0x000108, "Member 'AbilitiesPage_C_OnAbilitySelected::K2Node_Select_Default' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_SpawnTooltipContextWithSource_ReturnValue) == 0x000110, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_SpawnTooltipContextWithSource_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_GetTooltipTextFromToken_OutText) == 0x000118, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_GetTooltipTextFromToken_OutText' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_GetTooltipTextFromToken_ReturnValue) == 0x000130, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_GetTooltipTextFromToken_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_GetTooltipTextFromToken_OutText1) == 0x000138, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_GetTooltipTextFromToken_OutText1' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_GetTooltipTextFromToken_ReturnValue1) == 0x000150, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_GetTooltipTextFromToken_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, K2Node_MakeStruct_FormatArgumentData1) == 0x000158, "Member 'AbilitiesPage_C_OnAbilitySelected::K2Node_MakeStruct_FormatArgumentData1' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, K2Node_MakeStruct_FormatArgumentData12) == 0x000198, "Member 'AbilitiesPage_C_OnAbilitySelected::K2Node_MakeStruct_FormatArgumentData12' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, K2Node_MakeStruct_FormatArgumentData123) == 0x0001D8, "Member 'AbilitiesPage_C_OnAbilitySelected::K2Node_MakeStruct_FormatArgumentData123' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_TextIsEmpty_ReturnValue) == 0x000218, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_TextIsEmpty_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_GetCombinedDescription_OutDescription) == 0x000220, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_GetCombinedDescription_OutDescription' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_GetCombinedDescription_ReturnValue) == 0x000238, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_GetCombinedDescription_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_Not_PreBool_ReturnValue) == 0x000239, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_Not_PreBool_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, K2Node_MakeStruct_FormatArgumentData1234) == 0x000240, "Member 'AbilitiesPage_C_OnAbilitySelected::K2Node_MakeStruct_FormatArgumentData1234' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_BooleanAND_ReturnValue) == 0x000280, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_BooleanAND_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, K2Node_MakeArray_Array1) == 0x000288, "Member 'AbilitiesPage_C_OnAbilitySelected::K2Node_MakeArray_Array1' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_Format_ReturnValue1) == 0x000298, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_Format_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, K2Node_MakeStruct_FormatArgumentData12345) == 0x0002B0, "Member 'AbilitiesPage_C_OnAbilitySelected::K2Node_MakeStruct_FormatArgumentData12345' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, K2Node_MakeArray_Array12) == 0x0002F0, "Member 'AbilitiesPage_C_OnAbilitySelected::K2Node_MakeArray_Array12' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_OnAbilitySelected, CallFunc_Format_ReturnValue12) == 0x000300, "Member 'AbilitiesPage_C_OnAbilitySelected::CallFunc_Format_ReturnValue12' has a wrong offset!");
// Function AbilitiesPage.AbilitiesPage_C.HandleSelectedButtonChanged
// 0x0018 (0x0018 - 0x0000)
struct AbilitiesPage_C_HandleSelectedButtonChanged final
{
public:
class UCommonButton* InSelectedButton; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
int32 InSelectedButtonIndex; // 0x0008(0x0004)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_C[0x4]; // 0x000C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
class UCommonButton* NewLocalVar_0; // 0x0010(0x0008)(Edit, BlueprintVisible, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AbilitiesPage_C_HandleSelectedButtonChanged) == 0x000008, "Wrong alignment on AbilitiesPage_C_HandleSelectedButtonChanged");
static_assert(sizeof(AbilitiesPage_C_HandleSelectedButtonChanged) == 0x000018, "Wrong size on AbilitiesPage_C_HandleSelectedButtonChanged");
static_assert(offsetof(AbilitiesPage_C_HandleSelectedButtonChanged, InSelectedButton) == 0x000000, "Member 'AbilitiesPage_C_HandleSelectedButtonChanged::InSelectedButton' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_HandleSelectedButtonChanged, InSelectedButtonIndex) == 0x000008, "Member 'AbilitiesPage_C_HandleSelectedButtonChanged::InSelectedButtonIndex' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_HandleSelectedButtonChanged, NewLocalVar_0) == 0x000010, "Member 'AbilitiesPage_C_HandleSelectedButtonChanged::NewLocalVar_0' has a wrong offset!");
// Function AbilitiesPage.AbilitiesPage_C.AddTilesToButtonGroup
// 0x0038 (0x0038 - 0x0000)
struct AbilitiesPage_C_AddTilesToButtonGroup final
{
public:
class UVerticalBox* ButtonContainer; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
int32 CallFunc_GetChildrenCount_ReturnValue; // 0x0008(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
int32 CallFunc_Subtract_IntInt_ReturnValue; // 0x000C(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
int32 Temp_int_Variable; // 0x0010(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_14[0x4]; // 0x0014(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
class UWidget* CallFunc_GetChildAt_ReturnValue; // 0x0018(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsValid_ReturnValue; // 0x0020(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_21[0x7]; // 0x0021(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class UAbilitiesPageTile_C* K2Node_DynamicCast_AsAbilities_Page_Tile; // 0x0028(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess; // 0x0030(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_IsValid_ReturnValue1; // 0x0031(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_LessEqual_IntInt_ReturnValue; // 0x0032(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_33[0x1]; // 0x0033(0x0001)(Fixing Size After Last Property [ Dumper-7 ])
int32 CallFunc_Add_IntInt_ReturnValue; // 0x0034(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AbilitiesPage_C_AddTilesToButtonGroup) == 0x000008, "Wrong alignment on AbilitiesPage_C_AddTilesToButtonGroup");
static_assert(sizeof(AbilitiesPage_C_AddTilesToButtonGroup) == 0x000038, "Wrong size on AbilitiesPage_C_AddTilesToButtonGroup");
static_assert(offsetof(AbilitiesPage_C_AddTilesToButtonGroup, ButtonContainer) == 0x000000, "Member 'AbilitiesPage_C_AddTilesToButtonGroup::ButtonContainer' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_AddTilesToButtonGroup, CallFunc_GetChildrenCount_ReturnValue) == 0x000008, "Member 'AbilitiesPage_C_AddTilesToButtonGroup::CallFunc_GetChildrenCount_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_AddTilesToButtonGroup, CallFunc_Subtract_IntInt_ReturnValue) == 0x00000C, "Member 'AbilitiesPage_C_AddTilesToButtonGroup::CallFunc_Subtract_IntInt_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_AddTilesToButtonGroup, Temp_int_Variable) == 0x000010, "Member 'AbilitiesPage_C_AddTilesToButtonGroup::Temp_int_Variable' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_AddTilesToButtonGroup, CallFunc_GetChildAt_ReturnValue) == 0x000018, "Member 'AbilitiesPage_C_AddTilesToButtonGroup::CallFunc_GetChildAt_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_AddTilesToButtonGroup, CallFunc_IsValid_ReturnValue) == 0x000020, "Member 'AbilitiesPage_C_AddTilesToButtonGroup::CallFunc_IsValid_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_AddTilesToButtonGroup, K2Node_DynamicCast_AsAbilities_Page_Tile) == 0x000028, "Member 'AbilitiesPage_C_AddTilesToButtonGroup::K2Node_DynamicCast_AsAbilities_Page_Tile' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_AddTilesToButtonGroup, K2Node_DynamicCast_bSuccess) == 0x000030, "Member 'AbilitiesPage_C_AddTilesToButtonGroup::K2Node_DynamicCast_bSuccess' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_AddTilesToButtonGroup, CallFunc_IsValid_ReturnValue1) == 0x000031, "Member 'AbilitiesPage_C_AddTilesToButtonGroup::CallFunc_IsValid_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_AddTilesToButtonGroup, CallFunc_LessEqual_IntInt_ReturnValue) == 0x000032, "Member 'AbilitiesPage_C_AddTilesToButtonGroup::CallFunc_LessEqual_IntInt_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_AddTilesToButtonGroup, CallFunc_Add_IntInt_ReturnValue) == 0x000034, "Member 'AbilitiesPage_C_AddTilesToButtonGroup::CallFunc_Add_IntInt_ReturnValue' has a wrong offset!");
// Function AbilitiesPage.AbilitiesPage_C.InitializeAbilityTiles
// 0x01D0 (0x01D0 - 0x0000)
struct AbilitiesPage_C_InitializeAbilityTiles final
{
public:
TArray<class UFortGadgetItemDefinition*> SlottedGadgets; // 0x0000(0x0010)(Edit, BlueprintVisible, ZeroConstructor)
TArray<class UAbilitiesPageTile_C*> AvailableSlots; // 0x0010(0x0010)(Edit, BlueprintVisible, ZeroConstructor)
int32 Temp_int_Array_Index_Variable; // 0x0020(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
int32 CallFunc_Array_Length_ReturnValue; // 0x0024(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UAbilitiesPageTile_C* CallFunc_Array_Get_Item; // 0x0028(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_Greater_IntInt_ReturnValue; // 0x0030(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_31[0x3]; // 0x0031(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
int32 CallFunc_Array_Add_ReturnValue; // 0x0034(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
int32 CallFunc_Array_Add_ReturnValue1; // 0x0038(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
int32 CallFunc_Array_Add_ReturnValue12; // 0x003C(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
int32 CallFunc_Array_Add_ReturnValue123; // 0x0040(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
int32 Temp_int_Loop_Counter_Variable; // 0x0044(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortInventoryContext* CallFunc_GetContext_ReturnValue; // 0x0048(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortItem* CallFunc_GetQuickBarSlottedItem_ReturnValue; // 0x0050(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortItem* CallFunc_GetQuickBarSlottedItem_ReturnValue1; // 0x0058(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsValid_ReturnValue; // 0x0060(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_IsValid_ReturnValue1; // 0x0061(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_62[0x6]; // 0x0062(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
class UFortItem* CallFunc_GetQuickBarSlottedItem_ReturnValue12; // 0x0068(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
int32 CallFunc_Add_IntInt_ReturnValue; // 0x0070(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsValid_ReturnValue12; // 0x0074(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_75[0x3]; // 0x0075(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
int32 CallFunc_Array_Add_ReturnValue1234; // 0x0078(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
int32 CallFunc_Array_Add_ReturnValue12345; // 0x007C(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_Array_RemoveItem_ReturnValue; // 0x0080(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_Array_RemoveItem_ReturnValue1; // 0x0081(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_82[0x6]; // 0x0082(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
class UFortInventoryContext* CallFunc_GetContext_ReturnValue1; // 0x0088(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_Array_RemoveItem_ReturnValue12; // 0x0090(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_91[0x3]; // 0x0091(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
int32 CallFunc_Array_Add_ReturnValue123456; // 0x0094(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortHeroManagementContext* CallFunc_GetContext_ReturnValue12; // 0x0098(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
struct FHeroUIData CallFunc_GetHeroData_HeroData; // 0x00A0(0x0020)(NoDestructor)
bool CallFunc_GetHeroData_ReturnValue; // 0x00C0(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_C1[0x7]; // 0x00C1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
TArray<struct FFortUIPerk> CallFunc_GetHeroAbilityPerks_HeroAbilityPerks; // 0x00C8(0x0010)(ZeroConstructor, ReferenceParm)
bool CallFunc_GetHeroAbilityPerks_ReturnValue; // 0x00D8(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_D9[0x7]; // 0x00D9(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class UFortInventoryContext* CallFunc_GetContext_ReturnValue123; // 0x00E0(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
struct FFortUIPerk CallFunc_Array_Get_Item1; // 0x00E8(0x0098)()
class UFortItem* CallFunc_GetQuickBarSlottedItem_ReturnValue123; // 0x0180(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsValid_ReturnValue123; // 0x0188(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_189[0x7]; // 0x0189(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class UFortItem* CallFunc_GetQuickBarSlottedItem_ReturnValue1234; // 0x0190(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortAbilityKit* CallFunc_GetGrantedAbilityKit_ReturnValue; // 0x0198(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsValid_ReturnValue1234; // 0x01A0(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_1A1[0x7]; // 0x01A1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
TArray<class UFortGadgetItemDefinition*> CallFunc_BP_GetGadgets_GadgetItemDefinitions; // 0x01A8(0x0010)(ZeroConstructor, ReferenceParm)
class UFortGadgetItemDefinition* CallFunc_Array_Get_Item12; // 0x01B8(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_Array_Contains_ReturnValue; // 0x01C0(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_1C1[0x3]; // 0x01C1(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
int32 CallFunc_Array_Length_ReturnValue1; // 0x01C4(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_Less_IntInt_ReturnValue; // 0x01C8(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AbilitiesPage_C_InitializeAbilityTiles) == 0x000008, "Wrong alignment on AbilitiesPage_C_InitializeAbilityTiles");
static_assert(sizeof(AbilitiesPage_C_InitializeAbilityTiles) == 0x0001D0, "Wrong size on AbilitiesPage_C_InitializeAbilityTiles");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, SlottedGadgets) == 0x000000, "Member 'AbilitiesPage_C_InitializeAbilityTiles::SlottedGadgets' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, AvailableSlots) == 0x000010, "Member 'AbilitiesPage_C_InitializeAbilityTiles::AvailableSlots' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, Temp_int_Array_Index_Variable) == 0x000020, "Member 'AbilitiesPage_C_InitializeAbilityTiles::Temp_int_Array_Index_Variable' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_Array_Length_ReturnValue) == 0x000024, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_Array_Length_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_Array_Get_Item) == 0x000028, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_Array_Get_Item' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_Greater_IntInt_ReturnValue) == 0x000030, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_Greater_IntInt_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_Array_Add_ReturnValue) == 0x000034, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_Array_Add_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_Array_Add_ReturnValue1) == 0x000038, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_Array_Add_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_Array_Add_ReturnValue12) == 0x00003C, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_Array_Add_ReturnValue12' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_Array_Add_ReturnValue123) == 0x000040, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_Array_Add_ReturnValue123' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, Temp_int_Loop_Counter_Variable) == 0x000044, "Member 'AbilitiesPage_C_InitializeAbilityTiles::Temp_int_Loop_Counter_Variable' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_GetContext_ReturnValue) == 0x000048, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_GetContext_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_GetQuickBarSlottedItem_ReturnValue) == 0x000050, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_GetQuickBarSlottedItem_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_GetQuickBarSlottedItem_ReturnValue1) == 0x000058, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_GetQuickBarSlottedItem_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_IsValid_ReturnValue) == 0x000060, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_IsValid_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_IsValid_ReturnValue1) == 0x000061, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_IsValid_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_GetQuickBarSlottedItem_ReturnValue12) == 0x000068, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_GetQuickBarSlottedItem_ReturnValue12' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_Add_IntInt_ReturnValue) == 0x000070, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_Add_IntInt_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_IsValid_ReturnValue12) == 0x000074, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_IsValid_ReturnValue12' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_Array_Add_ReturnValue1234) == 0x000078, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_Array_Add_ReturnValue1234' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_Array_Add_ReturnValue12345) == 0x00007C, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_Array_Add_ReturnValue12345' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_Array_RemoveItem_ReturnValue) == 0x000080, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_Array_RemoveItem_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_Array_RemoveItem_ReturnValue1) == 0x000081, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_Array_RemoveItem_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_GetContext_ReturnValue1) == 0x000088, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_GetContext_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_Array_RemoveItem_ReturnValue12) == 0x000090, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_Array_RemoveItem_ReturnValue12' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_Array_Add_ReturnValue123456) == 0x000094, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_Array_Add_ReturnValue123456' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_GetContext_ReturnValue12) == 0x000098, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_GetContext_ReturnValue12' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_GetHeroData_HeroData) == 0x0000A0, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_GetHeroData_HeroData' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_GetHeroData_ReturnValue) == 0x0000C0, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_GetHeroData_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_GetHeroAbilityPerks_HeroAbilityPerks) == 0x0000C8, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_GetHeroAbilityPerks_HeroAbilityPerks' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_GetHeroAbilityPerks_ReturnValue) == 0x0000D8, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_GetHeroAbilityPerks_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_GetContext_ReturnValue123) == 0x0000E0, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_GetContext_ReturnValue123' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_Array_Get_Item1) == 0x0000E8, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_Array_Get_Item1' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_GetQuickBarSlottedItem_ReturnValue123) == 0x000180, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_GetQuickBarSlottedItem_ReturnValue123' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_IsValid_ReturnValue123) == 0x000188, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_IsValid_ReturnValue123' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_GetQuickBarSlottedItem_ReturnValue1234) == 0x000190, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_GetQuickBarSlottedItem_ReturnValue1234' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_GetGrantedAbilityKit_ReturnValue) == 0x000198, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_GetGrantedAbilityKit_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_IsValid_ReturnValue1234) == 0x0001A0, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_IsValid_ReturnValue1234' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_BP_GetGadgets_GadgetItemDefinitions) == 0x0001A8, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_BP_GetGadgets_GadgetItemDefinitions' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_Array_Get_Item12) == 0x0001B8, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_Array_Get_Item12' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_Array_Contains_ReturnValue) == 0x0001C0, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_Array_Contains_ReturnValue' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_Array_Length_ReturnValue1) == 0x0001C4, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_Array_Length_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_InitializeAbilityTiles, CallFunc_Less_IntInt_ReturnValue) == 0x0001C8, "Member 'AbilitiesPage_C_InitializeAbilityTiles::CallFunc_Less_IntInt_ReturnValue' has a wrong offset!");
// Function AbilitiesPage.AbilitiesPage_C.UpdateAbilityMovie
// 0x0010 (0x0010 - 0x0000)
struct AbilitiesPage_C_UpdateAbilityMovie final
{
public:
class UFortGadgetItemDefinition* inGadgetItemDef; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsValid_ReturnValue; // 0x0008(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AbilitiesPage_C_UpdateAbilityMovie) == 0x000008, "Wrong alignment on AbilitiesPage_C_UpdateAbilityMovie");
static_assert(sizeof(AbilitiesPage_C_UpdateAbilityMovie) == 0x000010, "Wrong size on AbilitiesPage_C_UpdateAbilityMovie");
static_assert(offsetof(AbilitiesPage_C_UpdateAbilityMovie, inGadgetItemDef) == 0x000000, "Member 'AbilitiesPage_C_UpdateAbilityMovie::inGadgetItemDef' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_UpdateAbilityMovie, CallFunc_IsValid_ReturnValue) == 0x000008, "Member 'AbilitiesPage_C_UpdateAbilityMovie::CallFunc_IsValid_ReturnValue' has a wrong offset!");
// Function AbilitiesPage.AbilitiesPage_C.HandleInventory
// 0x0010 (0x0010 - 0x0000)
struct AbilitiesPage_C_HandleInventory final
{
public:
bool Passthrough; // 0x0000(0x0001)(Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_1[0x7]; // 0x0001(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class UFortHUDContext* CallFunc_GetContext_ReturnValue; // 0x0008(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AbilitiesPage_C_HandleInventory) == 0x000008, "Wrong alignment on AbilitiesPage_C_HandleInventory");
static_assert(sizeof(AbilitiesPage_C_HandleInventory) == 0x000010, "Wrong size on AbilitiesPage_C_HandleInventory");
static_assert(offsetof(AbilitiesPage_C_HandleInventory, Passthrough) == 0x000000, "Member 'AbilitiesPage_C_HandleInventory::Passthrough' has a wrong offset!");
static_assert(offsetof(AbilitiesPage_C_HandleInventory, CallFunc_GetContext_ReturnValue) == 0x000008, "Member 'AbilitiesPage_C_HandleInventory::CallFunc_GetContext_ReturnValue' has a wrong offset!");
}
+81
View File
@@ -0,0 +1,81 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AccountBonuses
#include "Basic.hpp"
#include "UMG_structs.hpp"
#include "Engine_structs.hpp"
#include "CommonUI_classes.hpp"
namespace SDK
{
// WidgetBlueprintGeneratedClass AccountBonuses.AccountBonuses_C
// 0x0080 (0x0290 - 0x0210)
class UAccountBonuses_C final : public UCommonUserWidget
{
public:
struct FPointerToUberGraphFrame UberGraphFrame; // 0x0210(0x0008)(Transient, DuplicateTransient)
class UImage* Divider; // 0x0218(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UImage* FounderBadge; // 0x0220(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonTextBlock* FoundersText; // 0x0228(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UVerticalBox* FounderVertBox; // 0x0230(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UHorizontalBox* HBoxEmpty; // 0x0238(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UHorizontalBox* HBoxFoundersBadge; // 0x0240(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UHorizontalBox* HBoxVipBadge; // 0x0248(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UImage* Image_6; // 0x0250(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonTextBlock* MonthlyVIPText; // 0x0258(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonTextBlock* MonthlyVIPTitle; // 0x0260(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class USafeZone* SafeZone_0; // 0x0268(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UVerticalBox* VerticalBox_0; // 0x0270(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UVerticalBox* VIPVertBox; // 0x0278(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UFortItemDefinition* MonthlyVIPDefinition; // 0x0280(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortItemDefinition* FounderDefinition; // 0x0288(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
public:
void ExecuteUbergraph_AccountBonuses(int32 EntryPoint);
void Founder_Changed();
void Construct();
void Has_Founder_Badge(bool* Result);
void Has_VIP_Badge(bool* Result);
void Update_Badges();
public:
static class UClass* StaticClass()
{
return StaticBPGeneratedClassImpl<"AccountBonuses_C">();
}
static class UAccountBonuses_C* GetDefaultObj()
{
return GetDefaultObjImpl<UAccountBonuses_C>();
}
};
static_assert(alignof(UAccountBonuses_C) == 0x000008, "Wrong alignment on UAccountBonuses_C");
static_assert(sizeof(UAccountBonuses_C) == 0x000290, "Wrong size on UAccountBonuses_C");
static_assert(offsetof(UAccountBonuses_C, UberGraphFrame) == 0x000210, "Member 'UAccountBonuses_C::UberGraphFrame' has a wrong offset!");
static_assert(offsetof(UAccountBonuses_C, Divider) == 0x000218, "Member 'UAccountBonuses_C::Divider' has a wrong offset!");
static_assert(offsetof(UAccountBonuses_C, FounderBadge) == 0x000220, "Member 'UAccountBonuses_C::FounderBadge' has a wrong offset!");
static_assert(offsetof(UAccountBonuses_C, FoundersText) == 0x000228, "Member 'UAccountBonuses_C::FoundersText' has a wrong offset!");
static_assert(offsetof(UAccountBonuses_C, FounderVertBox) == 0x000230, "Member 'UAccountBonuses_C::FounderVertBox' has a wrong offset!");
static_assert(offsetof(UAccountBonuses_C, HBoxEmpty) == 0x000238, "Member 'UAccountBonuses_C::HBoxEmpty' has a wrong offset!");
static_assert(offsetof(UAccountBonuses_C, HBoxFoundersBadge) == 0x000240, "Member 'UAccountBonuses_C::HBoxFoundersBadge' has a wrong offset!");
static_assert(offsetof(UAccountBonuses_C, HBoxVipBadge) == 0x000248, "Member 'UAccountBonuses_C::HBoxVipBadge' has a wrong offset!");
static_assert(offsetof(UAccountBonuses_C, Image_6) == 0x000250, "Member 'UAccountBonuses_C::Image_6' has a wrong offset!");
static_assert(offsetof(UAccountBonuses_C, MonthlyVIPText) == 0x000258, "Member 'UAccountBonuses_C::MonthlyVIPText' has a wrong offset!");
static_assert(offsetof(UAccountBonuses_C, MonthlyVIPTitle) == 0x000260, "Member 'UAccountBonuses_C::MonthlyVIPTitle' has a wrong offset!");
static_assert(offsetof(UAccountBonuses_C, SafeZone_0) == 0x000268, "Member 'UAccountBonuses_C::SafeZone_0' has a wrong offset!");
static_assert(offsetof(UAccountBonuses_C, VerticalBox_0) == 0x000270, "Member 'UAccountBonuses_C::VerticalBox_0' has a wrong offset!");
static_assert(offsetof(UAccountBonuses_C, VIPVertBox) == 0x000278, "Member 'UAccountBonuses_C::VIPVertBox' has a wrong offset!");
static_assert(offsetof(UAccountBonuses_C, MonthlyVIPDefinition) == 0x000280, "Member 'UAccountBonuses_C::MonthlyVIPDefinition' has a wrong offset!");
static_assert(offsetof(UAccountBonuses_C, FounderDefinition) == 0x000288, "Member 'UAccountBonuses_C::FounderDefinition' has a wrong offset!");
}
+124
View File
@@ -0,0 +1,124 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AccountBonuses
#include "Basic.hpp"
#include "AccountBonuses_classes.hpp"
#include "AccountBonuses_parameters.hpp"
namespace SDK
{
// Function AccountBonuses.AccountBonuses_C.ExecuteUbergraph_AccountBonuses
// ()
// Parameters:
// int32 EntryPoint (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAccountBonuses_C::ExecuteUbergraph_AccountBonuses(int32 EntryPoint)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountBonuses_C", "ExecuteUbergraph_AccountBonuses");
Params::AccountBonuses_C_ExecuteUbergraph_AccountBonuses Parms{};
Parms.EntryPoint = EntryPoint;
UObject::ProcessEvent(Func, &Parms);
}
// Function AccountBonuses.AccountBonuses_C.Founder Changed
// (BlueprintCallable, BlueprintEvent)
void UAccountBonuses_C::Founder_Changed()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountBonuses_C", "Founder Changed");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountBonuses.AccountBonuses_C.Construct
// (BlueprintCosmetic, Event, Public, BlueprintEvent)
void UAccountBonuses_C::Construct()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountBonuses_C", "Construct");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountBonuses.AccountBonuses_C.Has Founder Badge
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool* Result (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor)
void UAccountBonuses_C::Has_Founder_Badge(bool* Result)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountBonuses_C", "Has Founder Badge");
Params::AccountBonuses_C_Has_Founder_Badge Parms{};
UObject::ProcessEvent(Func, &Parms);
if (Result != nullptr)
*Result = Parms.Result;
}
// Function AccountBonuses.AccountBonuses_C.Has VIP Badge
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool* Result (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor)
void UAccountBonuses_C::Has_VIP_Badge(bool* Result)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountBonuses_C", "Has VIP Badge");
Params::AccountBonuses_C_Has_VIP_Badge Parms{};
UObject::ProcessEvent(Func, &Parms);
if (Result != nullptr)
*Result = Parms.Result;
}
// Function AccountBonuses.AccountBonuses_C.Update Badges
// (Public, HasDefaults, BlueprintCallable, BlueprintEvent)
void UAccountBonuses_C::Update_Badges()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountBonuses_C", "Update Badges");
UObject::ProcessEvent(Func, nullptr);
}
}
+166
View File
@@ -0,0 +1,166 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AccountBonuses
#include "Basic.hpp"
#include "Engine_structs.hpp"
#include "UMG_structs.hpp"
#include "CoreUObject_structs.hpp"
namespace SDK::Params
{
// Function AccountBonuses.AccountBonuses_C.ExecuteUbergraph_AccountBonuses
// 0x0020 (0x0020 - 0x0000)
struct AccountBonuses_C_ExecuteUbergraph_AccountBonuses final
{
public:
int32 EntryPoint; // 0x0000(0x0004)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_4[0x4]; // 0x0004(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
TDelegate<void()> K2Node_CreateDelegate_OutputDelegate; // 0x0008(0x0010)(ZeroConstructor, NoDestructor)
class UFortMcpContext* CallFunc_GetContext_ReturnValue; // 0x0018(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AccountBonuses_C_ExecuteUbergraph_AccountBonuses) == 0x000008, "Wrong alignment on AccountBonuses_C_ExecuteUbergraph_AccountBonuses");
static_assert(sizeof(AccountBonuses_C_ExecuteUbergraph_AccountBonuses) == 0x000020, "Wrong size on AccountBonuses_C_ExecuteUbergraph_AccountBonuses");
static_assert(offsetof(AccountBonuses_C_ExecuteUbergraph_AccountBonuses, EntryPoint) == 0x000000, "Member 'AccountBonuses_C_ExecuteUbergraph_AccountBonuses::EntryPoint' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_ExecuteUbergraph_AccountBonuses, K2Node_CreateDelegate_OutputDelegate) == 0x000008, "Member 'AccountBonuses_C_ExecuteUbergraph_AccountBonuses::K2Node_CreateDelegate_OutputDelegate' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_ExecuteUbergraph_AccountBonuses, CallFunc_GetContext_ReturnValue) == 0x000018, "Member 'AccountBonuses_C_ExecuteUbergraph_AccountBonuses::CallFunc_GetContext_ReturnValue' has a wrong offset!");
// Function AccountBonuses.AccountBonuses_C.Has Founder Badge
// 0x0030 (0x0030 - 0x0000)
struct AccountBonuses_C_Has_Founder_Badge final
{
public:
bool Result; // 0x0000(0x0001)(Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_1[0x7]; // 0x0001(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class UFortMcpContext* CallFunc_GetContext_ReturnValue; // 0x0008(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortAccountItem* CallFunc_GetAccountItemWithDefinition_ReturnValue; // 0x0010(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsValid_ReturnValue; // 0x0018(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_19[0x7]; // 0x0019(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class UFortAccountBuffItem* K2Node_DynamicCast_AsFort_Account_Buff_Item; // 0x0020(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess; // 0x0028(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_IsActive_ReturnValue; // 0x0029(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AccountBonuses_C_Has_Founder_Badge) == 0x000008, "Wrong alignment on AccountBonuses_C_Has_Founder_Badge");
static_assert(sizeof(AccountBonuses_C_Has_Founder_Badge) == 0x000030, "Wrong size on AccountBonuses_C_Has_Founder_Badge");
static_assert(offsetof(AccountBonuses_C_Has_Founder_Badge, Result) == 0x000000, "Member 'AccountBonuses_C_Has_Founder_Badge::Result' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Has_Founder_Badge, CallFunc_GetContext_ReturnValue) == 0x000008, "Member 'AccountBonuses_C_Has_Founder_Badge::CallFunc_GetContext_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Has_Founder_Badge, CallFunc_GetAccountItemWithDefinition_ReturnValue) == 0x000010, "Member 'AccountBonuses_C_Has_Founder_Badge::CallFunc_GetAccountItemWithDefinition_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Has_Founder_Badge, CallFunc_IsValid_ReturnValue) == 0x000018, "Member 'AccountBonuses_C_Has_Founder_Badge::CallFunc_IsValid_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Has_Founder_Badge, K2Node_DynamicCast_AsFort_Account_Buff_Item) == 0x000020, "Member 'AccountBonuses_C_Has_Founder_Badge::K2Node_DynamicCast_AsFort_Account_Buff_Item' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Has_Founder_Badge, K2Node_DynamicCast_bSuccess) == 0x000028, "Member 'AccountBonuses_C_Has_Founder_Badge::K2Node_DynamicCast_bSuccess' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Has_Founder_Badge, CallFunc_IsActive_ReturnValue) == 0x000029, "Member 'AccountBonuses_C_Has_Founder_Badge::CallFunc_IsActive_ReturnValue' has a wrong offset!");
// Function AccountBonuses.AccountBonuses_C.Has VIP Badge
// 0x0030 (0x0030 - 0x0000)
struct AccountBonuses_C_Has_VIP_Badge final
{
public:
bool Result; // 0x0000(0x0001)(Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_1[0x7]; // 0x0001(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class UFortMcpContext* CallFunc_GetContext_ReturnValue; // 0x0008(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortAccountItem* CallFunc_GetAccountItemWithDefinition_ReturnValue; // 0x0010(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsValid_ReturnValue; // 0x0018(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_19[0x7]; // 0x0019(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class UFortAccountBuffItem* K2Node_DynamicCast_AsFort_Account_Buff_Item; // 0x0020(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess; // 0x0028(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_IsActive_ReturnValue; // 0x0029(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AccountBonuses_C_Has_VIP_Badge) == 0x000008, "Wrong alignment on AccountBonuses_C_Has_VIP_Badge");
static_assert(sizeof(AccountBonuses_C_Has_VIP_Badge) == 0x000030, "Wrong size on AccountBonuses_C_Has_VIP_Badge");
static_assert(offsetof(AccountBonuses_C_Has_VIP_Badge, Result) == 0x000000, "Member 'AccountBonuses_C_Has_VIP_Badge::Result' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Has_VIP_Badge, CallFunc_GetContext_ReturnValue) == 0x000008, "Member 'AccountBonuses_C_Has_VIP_Badge::CallFunc_GetContext_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Has_VIP_Badge, CallFunc_GetAccountItemWithDefinition_ReturnValue) == 0x000010, "Member 'AccountBonuses_C_Has_VIP_Badge::CallFunc_GetAccountItemWithDefinition_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Has_VIP_Badge, CallFunc_IsValid_ReturnValue) == 0x000018, "Member 'AccountBonuses_C_Has_VIP_Badge::CallFunc_IsValid_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Has_VIP_Badge, K2Node_DynamicCast_AsFort_Account_Buff_Item) == 0x000020, "Member 'AccountBonuses_C_Has_VIP_Badge::K2Node_DynamicCast_AsFort_Account_Buff_Item' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Has_VIP_Badge, K2Node_DynamicCast_bSuccess) == 0x000028, "Member 'AccountBonuses_C_Has_VIP_Badge::K2Node_DynamicCast_bSuccess' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Has_VIP_Badge, CallFunc_IsActive_ReturnValue) == 0x000029, "Member 'AccountBonuses_C_Has_VIP_Badge::CallFunc_IsActive_ReturnValue' has a wrong offset!");
// Function AccountBonuses.AccountBonuses_C.Update Badges
// 0x0120 (0x0120 - 0x0000)
struct AccountBonuses_C_Update_Badges final
{
public:
class UFortTooltipUIContext* CallFunc_GetContext_ReturnValue; // 0x0000(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortMcpContext* CallFunc_GetContext_ReturnValue1; // 0x0008(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortTooltipUIContext* CallFunc_GetContext_ReturnValue12; // 0x0010(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortAccountItem* CallFunc_GetAccountItemWithDefinition_ReturnValue; // 0x0018(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortAccountBuffItem* K2Node_DynamicCast_AsFort_Account_Buff_Item; // 0x0020(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess; // 0x0028(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
ESlateVisibility Temp_byte_Variable; // 0x0029(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_Has_Founder_Badge_Result; // 0x002A(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_Has_VIP_Badge_Result; // 0x002B(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_BooleanOR_ReturnValue; // 0x002C(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
ESlateVisibility Temp_byte_Variable1; // 0x002D(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool Temp_bool_Variable; // 0x002E(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_2F[0x1]; // 0x002F(0x0001)(Fixing Size After Last Property [ Dumper-7 ])
class APlayerController* CallFunc_GetPlayerController_ReturnValue; // 0x0030(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortTooltipContext* CallFunc_SpawnTooltipContextWithSource_ReturnValue; // 0x0038(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_Has_VIP_Badge_Result1; // 0x0040(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_41[0x7]; // 0x0041(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class FText CallFunc_GetCombinedDescription_OutDescription; // 0x0048(0x0018)()
bool CallFunc_GetCombinedDescription_ReturnValue; // 0x0060(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_61[0x7]; // 0x0061(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class FText CallFunc_GetCombinedDescription_OutDescription1; // 0x0068(0x0018)()
bool CallFunc_GetCombinedDescription_ReturnValue1; // 0x0080(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_Has_Founder_Badge_Result1; // 0x0081(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
ESlateVisibility K2Node_Select_Default; // 0x0082(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_83[0x5]; // 0x0083(0x0005)(Fixing Size After Last Property [ Dumper-7 ])
struct FDateTime CallFunc_UtcNow_ReturnValue; // 0x0088(0x0008)(NoDestructor, HasGetValueTypeHash)
ESlateVisibility Temp_byte_Variable12; // 0x0090(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_91[0x7]; // 0x0091(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
struct FTimespan CallFunc_Subtract_DateTimeDateTime_ReturnValue; // 0x0098(0x0008)(NoDestructor, HasGetValueTypeHash)
int32 CallFunc_GetDays_ReturnValue; // 0x00A0(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_A4[0x4]; // 0x00A4(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
struct FFormatArgumentData K2Node_MakeStruct_FormatArgumentData; // 0x00A8(0x0040)(HasGetValueTypeHash)
ESlateVisibility Temp_byte_Variable123; // 0x00E8(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_E9[0x7]; // 0x00E9(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
TArray<struct FFormatArgumentData> K2Node_MakeArray_Array; // 0x00F0(0x0010)(ZeroConstructor, ReferenceParm)
class FText CallFunc_Format_ReturnValue; // 0x0100(0x0018)()
bool Temp_bool_Variable1; // 0x0118(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
ESlateVisibility K2Node_Select1_Default; // 0x0119(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AccountBonuses_C_Update_Badges) == 0x000008, "Wrong alignment on AccountBonuses_C_Update_Badges");
static_assert(sizeof(AccountBonuses_C_Update_Badges) == 0x000120, "Wrong size on AccountBonuses_C_Update_Badges");
static_assert(offsetof(AccountBonuses_C_Update_Badges, CallFunc_GetContext_ReturnValue) == 0x000000, "Member 'AccountBonuses_C_Update_Badges::CallFunc_GetContext_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, CallFunc_GetContext_ReturnValue1) == 0x000008, "Member 'AccountBonuses_C_Update_Badges::CallFunc_GetContext_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, CallFunc_GetContext_ReturnValue12) == 0x000010, "Member 'AccountBonuses_C_Update_Badges::CallFunc_GetContext_ReturnValue12' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, CallFunc_GetAccountItemWithDefinition_ReturnValue) == 0x000018, "Member 'AccountBonuses_C_Update_Badges::CallFunc_GetAccountItemWithDefinition_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, K2Node_DynamicCast_AsFort_Account_Buff_Item) == 0x000020, "Member 'AccountBonuses_C_Update_Badges::K2Node_DynamicCast_AsFort_Account_Buff_Item' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, K2Node_DynamicCast_bSuccess) == 0x000028, "Member 'AccountBonuses_C_Update_Badges::K2Node_DynamicCast_bSuccess' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, Temp_byte_Variable) == 0x000029, "Member 'AccountBonuses_C_Update_Badges::Temp_byte_Variable' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, CallFunc_Has_Founder_Badge_Result) == 0x00002A, "Member 'AccountBonuses_C_Update_Badges::CallFunc_Has_Founder_Badge_Result' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, CallFunc_Has_VIP_Badge_Result) == 0x00002B, "Member 'AccountBonuses_C_Update_Badges::CallFunc_Has_VIP_Badge_Result' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, CallFunc_BooleanOR_ReturnValue) == 0x00002C, "Member 'AccountBonuses_C_Update_Badges::CallFunc_BooleanOR_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, Temp_byte_Variable1) == 0x00002D, "Member 'AccountBonuses_C_Update_Badges::Temp_byte_Variable1' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, Temp_bool_Variable) == 0x00002E, "Member 'AccountBonuses_C_Update_Badges::Temp_bool_Variable' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, CallFunc_GetPlayerController_ReturnValue) == 0x000030, "Member 'AccountBonuses_C_Update_Badges::CallFunc_GetPlayerController_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, CallFunc_SpawnTooltipContextWithSource_ReturnValue) == 0x000038, "Member 'AccountBonuses_C_Update_Badges::CallFunc_SpawnTooltipContextWithSource_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, CallFunc_Has_VIP_Badge_Result1) == 0x000040, "Member 'AccountBonuses_C_Update_Badges::CallFunc_Has_VIP_Badge_Result1' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, CallFunc_GetCombinedDescription_OutDescription) == 0x000048, "Member 'AccountBonuses_C_Update_Badges::CallFunc_GetCombinedDescription_OutDescription' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, CallFunc_GetCombinedDescription_ReturnValue) == 0x000060, "Member 'AccountBonuses_C_Update_Badges::CallFunc_GetCombinedDescription_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, CallFunc_GetCombinedDescription_OutDescription1) == 0x000068, "Member 'AccountBonuses_C_Update_Badges::CallFunc_GetCombinedDescription_OutDescription1' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, CallFunc_GetCombinedDescription_ReturnValue1) == 0x000080, "Member 'AccountBonuses_C_Update_Badges::CallFunc_GetCombinedDescription_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, CallFunc_Has_Founder_Badge_Result1) == 0x000081, "Member 'AccountBonuses_C_Update_Badges::CallFunc_Has_Founder_Badge_Result1' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, K2Node_Select_Default) == 0x000082, "Member 'AccountBonuses_C_Update_Badges::K2Node_Select_Default' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, CallFunc_UtcNow_ReturnValue) == 0x000088, "Member 'AccountBonuses_C_Update_Badges::CallFunc_UtcNow_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, Temp_byte_Variable12) == 0x000090, "Member 'AccountBonuses_C_Update_Badges::Temp_byte_Variable12' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, CallFunc_Subtract_DateTimeDateTime_ReturnValue) == 0x000098, "Member 'AccountBonuses_C_Update_Badges::CallFunc_Subtract_DateTimeDateTime_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, CallFunc_GetDays_ReturnValue) == 0x0000A0, "Member 'AccountBonuses_C_Update_Badges::CallFunc_GetDays_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, K2Node_MakeStruct_FormatArgumentData) == 0x0000A8, "Member 'AccountBonuses_C_Update_Badges::K2Node_MakeStruct_FormatArgumentData' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, Temp_byte_Variable123) == 0x0000E8, "Member 'AccountBonuses_C_Update_Badges::Temp_byte_Variable123' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, K2Node_MakeArray_Array) == 0x0000F0, "Member 'AccountBonuses_C_Update_Badges::K2Node_MakeArray_Array' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, CallFunc_Format_ReturnValue) == 0x000100, "Member 'AccountBonuses_C_Update_Badges::CallFunc_Format_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, Temp_bool_Variable1) == 0x000118, "Member 'AccountBonuses_C_Update_Badges::Temp_bool_Variable1' has a wrong offset!");
static_assert(offsetof(AccountBonuses_C_Update_Badges, K2Node_Select1_Default) == 0x000119, "Member 'AccountBonuses_C_Update_Badges::K2Node_Select1_Default' has a wrong offset!");
}
@@ -0,0 +1,154 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AccountLinkingWindow
#include "Basic.hpp"
#include "UMG_structs.hpp"
#include "Engine_structs.hpp"
#include "FortniteUI_classes.hpp"
namespace SDK
{
// WidgetBlueprintGeneratedClass AccountLinkingWindow.AccountLinkingWindow_C
// 0x01E8 (0x0608 - 0x0420)
class UAccountLinkingWindow_C final : public UFortAccountLinkingWindow
{
public:
struct FPointerToUberGraphFrame UberGraphFrame; // 0x0420(0x0008)(Transient, DuplicateTransient)
class UIconTextButton_C* ButtonLogIn; // 0x0428(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UIconTextButton_C* ButtonLogInFromPurchase; // 0x0430(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UIconTextButton_C* ButtonNoThanks; // 0x0438(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UIconTextButton_C* ButtonPurchasePack; // 0x0440(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UIconTextButton_C* ButtonSIGNUP; // 0x0448(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UIconTextButton_C* ButtonSkipSignInLogIn; // 0x0450(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UIconTextButton_C* ButtonSkipSignInNoThanks; // 0x0458(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UIconTextButton_C* ButtonSkipSignInSignup; // 0x0460(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCircularThrobber* CircularThrobberArtificialDelay; // 0x0468(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonTextBlock* CommonTextSignInText; // 0x0470(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UBackgroundBlur* HaveEpicAccountBlur; // 0x0478(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UIconTextButton_C* IconTextButton; // 0x0480(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UImage* ImageLowerSpacer; // 0x0488(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonWidgetSwitcher* MainWidgetSwitcher; // 0x0490(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UBackgroundBlur* PurchasePackBlur; // 0x0498(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UIconTextButton_C* RedeemCodeButton; // 0x04A0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UBackgroundBlur* SkipSignInBlur; // 0x04A8(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UVerticalBox* VerticalBoxBuyAccess; // 0x04B0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UVerticalBox* VerticalBoxHaveEpicAccount; // 0x04B8(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UVerticalBox* VerticalBoxSkipSignIn; // 0x04C0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UWidgetSwitcher* WidgetSwitcherNoThanksSwitcher; // 0x04C8(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class FText OpeningStoreText; // 0x04D0(0x0018)(Edit, BlueprintVisible, DisableEditOnInstance)
class FText CheckingPurchasesText; // 0x04E8(0x0018)(Edit, BlueprintVisible, DisableEditOnInstance)
class FText PurchasePackText; // 0x0500(0x0018)(Edit, BlueprintVisible, DisableEditOnInstance)
class FText PurchaseFreePackText; // 0x0518(0x0018)(Edit, BlueprintVisible, DisableEditOnInstance)
class FText CreatingAccountText; // 0x0530(0x0018)(Edit, BlueprintVisible, DisableEditOnInstance)
class FText CreateHeadlessAccountFailedText; // 0x0548(0x0018)(Edit, BlueprintVisible, DisableEditOnInstance)
class FText ProceedingWithoutLinkingAccountsText; // 0x0560(0x0018)(Edit, BlueprintVisible, DisableEditOnInstance)
UMulticastDelegateProperty_ OnRequestAutoLogin; // 0x0578(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, BlueprintAssignable, BlueprintCallable)
UMulticastDelegateProperty_ OnAccountLinkingComplete; // 0x0588(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, BlueprintAssignable, BlueprintCallable)
UMulticastDelegateProperty_ OnRequestSignIn; // 0x0598(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, BlueprintAssignable, BlueprintCallable)
UMulticastDelegateProperty_ OnAccountLinkingFailed; // 0x05A8(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, BlueprintAssignable, BlueprintCallable)
UMulticastDelegateProperty_ OnPushStatus; // 0x05B8(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, BlueprintAssignable, BlueprintCallable)
UMulticastDelegateProperty_ OnPopStatus; // 0x05C8(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, BlueprintAssignable, BlueprintCallable)
UMulticastDelegateProperty_ OnViewEula; // 0x05D8(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, BlueprintAssignable, BlueprintCallable)
bool bLinkedAccountNeedsPurchase; // 0x05E8(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor)
uint8 Pad_5E9[0x7]; // 0x05E9(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class FText OpeningCodeRedemption; // 0x05F0(0x0018)(Edit, BlueprintVisible, DisableEditOnInstance)
public:
void ExecuteUbergraph_AccountLinkingWindow(int32 EntryPoint);
void BndEvt__ButtonPurchasePack_K2Node_ComponentBoundEvent_175_CommonButtonClicked__DelegateSignature(class UCommonButton* Button);
void Construct();
void HandleNewPurchaseReceipt();
void Destruct();
void BndEvt__IconTextButton_0_K2Node_ComponentBoundEvent_305_CommonButtonClicked__DelegateSignature(class UCommonButton* Button);
void OnActivated();
void BndEvt__IconTextButton_K2Node_ComponentBoundEvent_0_CommonButtonClicked__DelegateSignature(class UCommonButton* Button);
void StartSignup();
void ArtificialDelayExpired();
void ShowSkipSignInScreen();
void ShowHaveEpicAccountScreen();
void ShowBuyAccessScreen();
void BndEvt__ButtonSkipSignInNoThanks_K2Node_ComponentBoundEvent_483_CommonButtonClicked__DelegateSignature(class UCommonButton* Button);
void BndEvt__ButtonSkipSignInLogIn_K2Node_ComponentBoundEvent_463_CommonButtonClicked__DelegateSignature(class UCommonButton* Button);
void BndEvt__ButtonSkipSignInSignIn_K2Node_ComponentBoundEvent_444_CommonButtonClicked__DelegateSignature(class UCommonButton* Button);
void BndEvt__ButtonSignUp_K2Node_ComponentBoundEvent_416_CommonButtonClicked__DelegateSignature(class UCommonButton* Button);
void BndEvt__ButtonLogIn_K2Node_ComponentBoundEvent_431_CommonButtonClicked__DelegateSignature(class UCommonButton* Button);
void BndEvt__ButtonNoThanks_K2Node_ComponentBoundEvent_447_CommonButtonClicked__DelegateSignature(class UCommonButton* Button);
void BndEvt__ButtonLogInFromPurchase_K2Node_ComponentBoundEvent_464_CommonButtonClicked__DelegateSignature(class UCommonButton* Button);
void OnShowLinkOrBuyAccessScreen_6FD0DEB74DEF4060FC743CB004F3E654();
void OnShowHaveEpicAccountScreen_6FD0DEB74DEF4060FC743CB004F3E654();
void OnCodeRedeemComplete_E9B5F30942BE3B295E62309A2EB8DA8D();
void OnCodeRedeemCanceled_E9B5F30942BE3B295E62309A2EB8DA8D();
void OnPurchased_3B76089F4EB5000544C7BD8B10E707CF();
void OnNotPurchased_3B76089F4EB5000544C7BD8B10E707CF();
void OnAccountCreated_9EEEC6E44BF7A7C172929DA05184702A();
void OnAccountNotCreated_9EEEC6E44BF7A7C172929DA05184702A();
void OnAccountCreatedAndLinked_2B6C467D495BF62E436C79B3550FE868();
void OnAccountCreatedButNotLinked_2B6C467D495BF62E436C79B3550FE868();
void OnAccountNotCreated_2B6C467D495BF62E436C79B3550FE868();
void SetLinkedAccountNeedsPurchase(bool bInLinkedAccountNeedsPurchase);
void HideLinkOptions();
void SetupLinkText();
public:
static class UClass* StaticClass()
{
return StaticBPGeneratedClassImpl<"AccountLinkingWindow_C">();
}
static class UAccountLinkingWindow_C* GetDefaultObj()
{
return GetDefaultObjImpl<UAccountLinkingWindow_C>();
}
};
static_assert(alignof(UAccountLinkingWindow_C) == 0x000008, "Wrong alignment on UAccountLinkingWindow_C");
static_assert(sizeof(UAccountLinkingWindow_C) == 0x000608, "Wrong size on UAccountLinkingWindow_C");
static_assert(offsetof(UAccountLinkingWindow_C, UberGraphFrame) == 0x000420, "Member 'UAccountLinkingWindow_C::UberGraphFrame' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, ButtonLogIn) == 0x000428, "Member 'UAccountLinkingWindow_C::ButtonLogIn' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, ButtonLogInFromPurchase) == 0x000430, "Member 'UAccountLinkingWindow_C::ButtonLogInFromPurchase' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, ButtonNoThanks) == 0x000438, "Member 'UAccountLinkingWindow_C::ButtonNoThanks' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, ButtonPurchasePack) == 0x000440, "Member 'UAccountLinkingWindow_C::ButtonPurchasePack' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, ButtonSIGNUP) == 0x000448, "Member 'UAccountLinkingWindow_C::ButtonSIGNUP' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, ButtonSkipSignInLogIn) == 0x000450, "Member 'UAccountLinkingWindow_C::ButtonSkipSignInLogIn' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, ButtonSkipSignInNoThanks) == 0x000458, "Member 'UAccountLinkingWindow_C::ButtonSkipSignInNoThanks' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, ButtonSkipSignInSignup) == 0x000460, "Member 'UAccountLinkingWindow_C::ButtonSkipSignInSignup' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, CircularThrobberArtificialDelay) == 0x000468, "Member 'UAccountLinkingWindow_C::CircularThrobberArtificialDelay' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, CommonTextSignInText) == 0x000470, "Member 'UAccountLinkingWindow_C::CommonTextSignInText' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, HaveEpicAccountBlur) == 0x000478, "Member 'UAccountLinkingWindow_C::HaveEpicAccountBlur' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, IconTextButton) == 0x000480, "Member 'UAccountLinkingWindow_C::IconTextButton' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, ImageLowerSpacer) == 0x000488, "Member 'UAccountLinkingWindow_C::ImageLowerSpacer' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, MainWidgetSwitcher) == 0x000490, "Member 'UAccountLinkingWindow_C::MainWidgetSwitcher' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, PurchasePackBlur) == 0x000498, "Member 'UAccountLinkingWindow_C::PurchasePackBlur' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, RedeemCodeButton) == 0x0004A0, "Member 'UAccountLinkingWindow_C::RedeemCodeButton' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, SkipSignInBlur) == 0x0004A8, "Member 'UAccountLinkingWindow_C::SkipSignInBlur' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, VerticalBoxBuyAccess) == 0x0004B0, "Member 'UAccountLinkingWindow_C::VerticalBoxBuyAccess' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, VerticalBoxHaveEpicAccount) == 0x0004B8, "Member 'UAccountLinkingWindow_C::VerticalBoxHaveEpicAccount' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, VerticalBoxSkipSignIn) == 0x0004C0, "Member 'UAccountLinkingWindow_C::VerticalBoxSkipSignIn' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, WidgetSwitcherNoThanksSwitcher) == 0x0004C8, "Member 'UAccountLinkingWindow_C::WidgetSwitcherNoThanksSwitcher' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, OpeningStoreText) == 0x0004D0, "Member 'UAccountLinkingWindow_C::OpeningStoreText' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, CheckingPurchasesText) == 0x0004E8, "Member 'UAccountLinkingWindow_C::CheckingPurchasesText' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, PurchasePackText) == 0x000500, "Member 'UAccountLinkingWindow_C::PurchasePackText' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, PurchaseFreePackText) == 0x000518, "Member 'UAccountLinkingWindow_C::PurchaseFreePackText' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, CreatingAccountText) == 0x000530, "Member 'UAccountLinkingWindow_C::CreatingAccountText' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, CreateHeadlessAccountFailedText) == 0x000548, "Member 'UAccountLinkingWindow_C::CreateHeadlessAccountFailedText' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, ProceedingWithoutLinkingAccountsText) == 0x000560, "Member 'UAccountLinkingWindow_C::ProceedingWithoutLinkingAccountsText' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, OnRequestAutoLogin) == 0x000578, "Member 'UAccountLinkingWindow_C::OnRequestAutoLogin' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, OnAccountLinkingComplete) == 0x000588, "Member 'UAccountLinkingWindow_C::OnAccountLinkingComplete' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, OnRequestSignIn) == 0x000598, "Member 'UAccountLinkingWindow_C::OnRequestSignIn' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, OnAccountLinkingFailed) == 0x0005A8, "Member 'UAccountLinkingWindow_C::OnAccountLinkingFailed' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, OnPushStatus) == 0x0005B8, "Member 'UAccountLinkingWindow_C::OnPushStatus' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, OnPopStatus) == 0x0005C8, "Member 'UAccountLinkingWindow_C::OnPopStatus' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, OnViewEula) == 0x0005D8, "Member 'UAccountLinkingWindow_C::OnViewEula' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, bLinkedAccountNeedsPurchase) == 0x0005E8, "Member 'UAccountLinkingWindow_C::bLinkedAccountNeedsPurchase' has a wrong offset!");
static_assert(offsetof(UAccountLinkingWindow_C, OpeningCodeRedemption) == 0x0005F0, "Member 'UAccountLinkingWindow_C::OpeningCodeRedemption' has a wrong offset!");
}
@@ -0,0 +1,568 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AccountLinkingWindow
#include "Basic.hpp"
#include "AccountLinkingWindow_classes.hpp"
#include "AccountLinkingWindow_parameters.hpp"
namespace SDK
{
// Function AccountLinkingWindow.AccountLinkingWindow_C.ExecuteUbergraph_AccountLinkingWindow
// (HasDefaults)
// Parameters:
// int32 EntryPoint (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAccountLinkingWindow_C::ExecuteUbergraph_AccountLinkingWindow(int32 EntryPoint)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "ExecuteUbergraph_AccountLinkingWindow");
Params::AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow Parms{};
Parms.EntryPoint = EntryPoint;
UObject::ProcessEvent(Func, &Parms);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.BndEvt__ButtonPurchasePack_K2Node_ComponentBoundEvent_175_CommonButtonClicked__DelegateSignature
// (BlueprintEvent)
// Parameters:
// class UCommonButton* Button (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAccountLinkingWindow_C::BndEvt__ButtonPurchasePack_K2Node_ComponentBoundEvent_175_CommonButtonClicked__DelegateSignature(class UCommonButton* Button)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "BndEvt__ButtonPurchasePack_K2Node_ComponentBoundEvent_175_CommonButtonClicked__DelegateSignature");
Params::AccountLinkingWindow_C_BndEvt__ButtonPurchasePack_K2Node_ComponentBoundEvent_175_CommonButtonClicked__DelegateSignature Parms{};
Parms.Button = Button;
UObject::ProcessEvent(Func, &Parms);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.Construct
// (BlueprintCosmetic, Event, Public, BlueprintEvent)
void UAccountLinkingWindow_C::Construct()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "Construct");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.HandleNewPurchaseReceipt
// (BlueprintCallable, BlueprintEvent)
void UAccountLinkingWindow_C::HandleNewPurchaseReceipt()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "HandleNewPurchaseReceipt");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.Destruct
// (BlueprintCosmetic, Event, Public, BlueprintEvent)
void UAccountLinkingWindow_C::Destruct()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "Destruct");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.BndEvt__IconTextButton_0_K2Node_ComponentBoundEvent_305_CommonButtonClicked__DelegateSignature
// (BlueprintEvent)
// Parameters:
// class UCommonButton* Button (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAccountLinkingWindow_C::BndEvt__IconTextButton_0_K2Node_ComponentBoundEvent_305_CommonButtonClicked__DelegateSignature(class UCommonButton* Button)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "BndEvt__IconTextButton_0_K2Node_ComponentBoundEvent_305_CommonButtonClicked__DelegateSignature");
Params::AccountLinkingWindow_C_BndEvt__IconTextButton_0_K2Node_ComponentBoundEvent_305_CommonButtonClicked__DelegateSignature Parms{};
Parms.Button = Button;
UObject::ProcessEvent(Func, &Parms);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.OnActivated
// (Event, Protected, BlueprintEvent)
void UAccountLinkingWindow_C::OnActivated()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "OnActivated");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.BndEvt__IconTextButton_K2Node_ComponentBoundEvent_0_CommonButtonClicked__DelegateSignature
// (BlueprintEvent)
// Parameters:
// class UCommonButton* Button (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAccountLinkingWindow_C::BndEvt__IconTextButton_K2Node_ComponentBoundEvent_0_CommonButtonClicked__DelegateSignature(class UCommonButton* Button)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "BndEvt__IconTextButton_K2Node_ComponentBoundEvent_0_CommonButtonClicked__DelegateSignature");
Params::AccountLinkingWindow_C_BndEvt__IconTextButton_K2Node_ComponentBoundEvent_0_CommonButtonClicked__DelegateSignature Parms{};
Parms.Button = Button;
UObject::ProcessEvent(Func, &Parms);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.StartSignup
// (BlueprintCallable, BlueprintEvent)
void UAccountLinkingWindow_C::StartSignup()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "StartSignup");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.ArtificialDelayExpired
// (BlueprintCallable, BlueprintEvent)
void UAccountLinkingWindow_C::ArtificialDelayExpired()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "ArtificialDelayExpired");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.ShowSkipSignInScreen
// (BlueprintCallable, BlueprintEvent)
void UAccountLinkingWindow_C::ShowSkipSignInScreen()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "ShowSkipSignInScreen");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.ShowHaveEpicAccountScreen
// (BlueprintCallable, BlueprintEvent)
void UAccountLinkingWindow_C::ShowHaveEpicAccountScreen()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "ShowHaveEpicAccountScreen");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.ShowBuyAccessScreen
// (BlueprintCallable, BlueprintEvent)
void UAccountLinkingWindow_C::ShowBuyAccessScreen()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "ShowBuyAccessScreen");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.BndEvt__ButtonSkipSignInNoThanks_K2Node_ComponentBoundEvent_483_CommonButtonClicked__DelegateSignature
// (BlueprintEvent)
// Parameters:
// class UCommonButton* Button (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAccountLinkingWindow_C::BndEvt__ButtonSkipSignInNoThanks_K2Node_ComponentBoundEvent_483_CommonButtonClicked__DelegateSignature(class UCommonButton* Button)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "BndEvt__ButtonSkipSignInNoThanks_K2Node_ComponentBoundEvent_483_CommonButtonClicked__DelegateSignature");
Params::AccountLinkingWindow_C_BndEvt__ButtonSkipSignInNoThanks_K2Node_ComponentBoundEvent_483_CommonButtonClicked__DelegateSignature Parms{};
Parms.Button = Button;
UObject::ProcessEvent(Func, &Parms);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.BndEvt__ButtonSkipSignInLogIn_K2Node_ComponentBoundEvent_463_CommonButtonClicked__DelegateSignature
// (BlueprintEvent)
// Parameters:
// class UCommonButton* Button (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAccountLinkingWindow_C::BndEvt__ButtonSkipSignInLogIn_K2Node_ComponentBoundEvent_463_CommonButtonClicked__DelegateSignature(class UCommonButton* Button)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "BndEvt__ButtonSkipSignInLogIn_K2Node_ComponentBoundEvent_463_CommonButtonClicked__DelegateSignature");
Params::AccountLinkingWindow_C_BndEvt__ButtonSkipSignInLogIn_K2Node_ComponentBoundEvent_463_CommonButtonClicked__DelegateSignature Parms{};
Parms.Button = Button;
UObject::ProcessEvent(Func, &Parms);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.BndEvt__ButtonSkipSignInSignIn_K2Node_ComponentBoundEvent_444_CommonButtonClicked__DelegateSignature
// (BlueprintEvent)
// Parameters:
// class UCommonButton* Button (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAccountLinkingWindow_C::BndEvt__ButtonSkipSignInSignIn_K2Node_ComponentBoundEvent_444_CommonButtonClicked__DelegateSignature(class UCommonButton* Button)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "BndEvt__ButtonSkipSignInSignIn_K2Node_ComponentBoundEvent_444_CommonButtonClicked__DelegateSignature");
Params::AccountLinkingWindow_C_BndEvt__ButtonSkipSignInSignIn_K2Node_ComponentBoundEvent_444_CommonButtonClicked__DelegateSignature Parms{};
Parms.Button = Button;
UObject::ProcessEvent(Func, &Parms);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.BndEvt__ButtonSignUp_K2Node_ComponentBoundEvent_416_CommonButtonClicked__DelegateSignature
// (BlueprintEvent)
// Parameters:
// class UCommonButton* Button (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAccountLinkingWindow_C::BndEvt__ButtonSignUp_K2Node_ComponentBoundEvent_416_CommonButtonClicked__DelegateSignature(class UCommonButton* Button)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "BndEvt__ButtonSignUp_K2Node_ComponentBoundEvent_416_CommonButtonClicked__DelegateSignature");
Params::AccountLinkingWindow_C_BndEvt__ButtonSignUp_K2Node_ComponentBoundEvent_416_CommonButtonClicked__DelegateSignature Parms{};
Parms.Button = Button;
UObject::ProcessEvent(Func, &Parms);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.BndEvt__ButtonLogIn_K2Node_ComponentBoundEvent_431_CommonButtonClicked__DelegateSignature
// (BlueprintEvent)
// Parameters:
// class UCommonButton* Button (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAccountLinkingWindow_C::BndEvt__ButtonLogIn_K2Node_ComponentBoundEvent_431_CommonButtonClicked__DelegateSignature(class UCommonButton* Button)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "BndEvt__ButtonLogIn_K2Node_ComponentBoundEvent_431_CommonButtonClicked__DelegateSignature");
Params::AccountLinkingWindow_C_BndEvt__ButtonLogIn_K2Node_ComponentBoundEvent_431_CommonButtonClicked__DelegateSignature Parms{};
Parms.Button = Button;
UObject::ProcessEvent(Func, &Parms);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.BndEvt__ButtonNoThanks_K2Node_ComponentBoundEvent_447_CommonButtonClicked__DelegateSignature
// (BlueprintEvent)
// Parameters:
// class UCommonButton* Button (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAccountLinkingWindow_C::BndEvt__ButtonNoThanks_K2Node_ComponentBoundEvent_447_CommonButtonClicked__DelegateSignature(class UCommonButton* Button)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "BndEvt__ButtonNoThanks_K2Node_ComponentBoundEvent_447_CommonButtonClicked__DelegateSignature");
Params::AccountLinkingWindow_C_BndEvt__ButtonNoThanks_K2Node_ComponentBoundEvent_447_CommonButtonClicked__DelegateSignature Parms{};
Parms.Button = Button;
UObject::ProcessEvent(Func, &Parms);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.BndEvt__ButtonLogInFromPurchase_K2Node_ComponentBoundEvent_464_CommonButtonClicked__DelegateSignature
// (BlueprintEvent)
// Parameters:
// class UCommonButton* Button (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAccountLinkingWindow_C::BndEvt__ButtonLogInFromPurchase_K2Node_ComponentBoundEvent_464_CommonButtonClicked__DelegateSignature(class UCommonButton* Button)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "BndEvt__ButtonLogInFromPurchase_K2Node_ComponentBoundEvent_464_CommonButtonClicked__DelegateSignature");
Params::AccountLinkingWindow_C_BndEvt__ButtonLogInFromPurchase_K2Node_ComponentBoundEvent_464_CommonButtonClicked__DelegateSignature Parms{};
Parms.Button = Button;
UObject::ProcessEvent(Func, &Parms);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.OnShowLinkOrBuyAccessScreen_6FD0DEB74DEF4060FC743CB004F3E654
// (BlueprintCallable, BlueprintEvent)
void UAccountLinkingWindow_C::OnShowLinkOrBuyAccessScreen_6FD0DEB74DEF4060FC743CB004F3E654()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "OnShowLinkOrBuyAccessScreen_6FD0DEB74DEF4060FC743CB004F3E654");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.OnShowHaveEpicAccountScreen_6FD0DEB74DEF4060FC743CB004F3E654
// (BlueprintCallable, BlueprintEvent)
void UAccountLinkingWindow_C::OnShowHaveEpicAccountScreen_6FD0DEB74DEF4060FC743CB004F3E654()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "OnShowHaveEpicAccountScreen_6FD0DEB74DEF4060FC743CB004F3E654");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.OnCodeRedeemComplete_E9B5F30942BE3B295E62309A2EB8DA8D
// (BlueprintCallable, BlueprintEvent)
void UAccountLinkingWindow_C::OnCodeRedeemComplete_E9B5F30942BE3B295E62309A2EB8DA8D()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "OnCodeRedeemComplete_E9B5F30942BE3B295E62309A2EB8DA8D");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.OnCodeRedeemCanceled_E9B5F30942BE3B295E62309A2EB8DA8D
// (BlueprintCallable, BlueprintEvent)
void UAccountLinkingWindow_C::OnCodeRedeemCanceled_E9B5F30942BE3B295E62309A2EB8DA8D()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "OnCodeRedeemCanceled_E9B5F30942BE3B295E62309A2EB8DA8D");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.OnPurchased_3B76089F4EB5000544C7BD8B10E707CF
// (BlueprintCallable, BlueprintEvent)
void UAccountLinkingWindow_C::OnPurchased_3B76089F4EB5000544C7BD8B10E707CF()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "OnPurchased_3B76089F4EB5000544C7BD8B10E707CF");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.OnNotPurchased_3B76089F4EB5000544C7BD8B10E707CF
// (BlueprintCallable, BlueprintEvent)
void UAccountLinkingWindow_C::OnNotPurchased_3B76089F4EB5000544C7BD8B10E707CF()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "OnNotPurchased_3B76089F4EB5000544C7BD8B10E707CF");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.OnAccountCreated_9EEEC6E44BF7A7C172929DA05184702A
// (BlueprintCallable, BlueprintEvent)
void UAccountLinkingWindow_C::OnAccountCreated_9EEEC6E44BF7A7C172929DA05184702A()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "OnAccountCreated_9EEEC6E44BF7A7C172929DA05184702A");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.OnAccountNotCreated_9EEEC6E44BF7A7C172929DA05184702A
// (BlueprintCallable, BlueprintEvent)
void UAccountLinkingWindow_C::OnAccountNotCreated_9EEEC6E44BF7A7C172929DA05184702A()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "OnAccountNotCreated_9EEEC6E44BF7A7C172929DA05184702A");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.OnAccountCreatedAndLinked_2B6C467D495BF62E436C79B3550FE868
// (BlueprintCallable, BlueprintEvent)
void UAccountLinkingWindow_C::OnAccountCreatedAndLinked_2B6C467D495BF62E436C79B3550FE868()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "OnAccountCreatedAndLinked_2B6C467D495BF62E436C79B3550FE868");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.OnAccountCreatedButNotLinked_2B6C467D495BF62E436C79B3550FE868
// (BlueprintCallable, BlueprintEvent)
void UAccountLinkingWindow_C::OnAccountCreatedButNotLinked_2B6C467D495BF62E436C79B3550FE868()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "OnAccountCreatedButNotLinked_2B6C467D495BF62E436C79B3550FE868");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.OnAccountNotCreated_2B6C467D495BF62E436C79B3550FE868
// (BlueprintCallable, BlueprintEvent)
void UAccountLinkingWindow_C::OnAccountNotCreated_2B6C467D495BF62E436C79B3550FE868()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "OnAccountNotCreated_2B6C467D495BF62E436C79B3550FE868");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.SetLinkedAccountNeedsPurchase
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool bInLinkedAccountNeedsPurchase (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)
void UAccountLinkingWindow_C::SetLinkedAccountNeedsPurchase(bool bInLinkedAccountNeedsPurchase)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "SetLinkedAccountNeedsPurchase");
Params::AccountLinkingWindow_C_SetLinkedAccountNeedsPurchase Parms{};
Parms.bInLinkedAccountNeedsPurchase = bInLinkedAccountNeedsPurchase;
UObject::ProcessEvent(Func, &Parms);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.HideLinkOptions
// (Public, BlueprintCallable, BlueprintEvent)
void UAccountLinkingWindow_C::HideLinkOptions()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "HideLinkOptions");
UObject::ProcessEvent(Func, nullptr);
}
// Function AccountLinkingWindow.AccountLinkingWindow_C.SetupLinkText
// (Public, BlueprintCallable, BlueprintEvent)
void UAccountLinkingWindow_C::SetupLinkText()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AccountLinkingWindow_C", "SetupLinkText");
UObject::ProcessEvent(Func, nullptr);
}
}
@@ -0,0 +1,283 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AccountLinkingWindow
#include "Basic.hpp"
#include "Engine_structs.hpp"
#include "UMG_structs.hpp"
namespace SDK::Params
{
// Function AccountLinkingWindow.AccountLinkingWindow_C.ExecuteUbergraph_AccountLinkingWindow
// 0x01E0 (0x01E0 - 0x0000)
struct AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow final
{
public:
int32 EntryPoint; // 0x0000(0x0004)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_4[0x4]; // 0x0004(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
class UCommonButton* K2Node_ComponentBoundEvent_Button; // 0x0008(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
TDelegate<void()> K2Node_CreateDelegate_OutputDelegate; // 0x0010(0x0010)(ZeroConstructor, NoDestructor)
TDelegate<void()> K2Node_CreateDelegate_OutputDelegate1; // 0x0020(0x0010)(ZeroConstructor, NoDestructor)
class UFortAsyncAction_WebCreateEpicAccountAndLink* CallFunc_WebCreateEpicAccountAndLink_ReturnValue; // 0x0030(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
TDelegate<void()> K2Node_CreateDelegate_OutputDelegate12; // 0x0038(0x0010)(ZeroConstructor, NoDestructor)
bool CallFunc_IsValid_ReturnValue; // 0x0048(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_49[0x7]; // 0x0049(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
TDelegate<void()> K2Node_CreateDelegate_OutputDelegate123; // 0x0050(0x0010)(ZeroConstructor, NoDestructor)
class UFortAsyncAction_CreateHeadlessAccount* CallFunc_CreateHeadlessAccount_ReturnValue; // 0x0060(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool Temp_bool_Variable; // 0x0068(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_IsValid_ReturnValue1; // 0x0069(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_6A[0x6]; // 0x006A(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
TDelegate<void()> K2Node_CreateDelegate_OutputDelegate1234; // 0x0070(0x0010)(ZeroConstructor, NoDestructor)
struct FTimerHandle CallFunc_K2_SetTimerDelegate_ReturnValue; // 0x0080(0x0008)(NoDestructor)
TDelegate<void()> K2Node_CreateDelegate_OutputDelegate12345; // 0x0088(0x0010)(ZeroConstructor, NoDestructor)
TDelegate<void()> K2Node_CreateDelegate_OutputDelegate123456; // 0x0098(0x0010)(ZeroConstructor, NoDestructor)
class UFortAsyncAction_ShowPlatformStoreForPurchase* CallFunc_ShowPlatformStoreForPurchase_ReturnValue; // 0x00A8(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
TDelegate<void()> K2Node_CreateDelegate_OutputDelegate1234567; // 0x00B0(0x0010)(ZeroConstructor, NoDestructor)
bool CallFunc_IsValid_ReturnValue12; // 0x00C0(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_C1[0x7]; // 0x00C1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
TDelegate<void()> K2Node_CreateDelegate_OutputDelegate12345678; // 0x00C8(0x0010)(ZeroConstructor, NoDestructor)
class UFortAsyncAction_ShowPlatformRedeemCode* CallFunc_ShowPlatformRedeemCode_ReturnValue; // 0x00D8(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
TDelegate<void()> K2Node_CreateDelegate_OutputDelegate123456789; // 0x00E0(0x0010)(ZeroConstructor, NoDestructor)
bool CallFunc_IsValid_ReturnValue123; // 0x00F0(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_F1[0x7]; // 0x00F1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
TDelegate<void()> K2Node_CreateDelegate_OutputDelegate12345678910; // 0x00F8(0x0010)(ZeroConstructor, NoDestructor)
class UFortAsyncAction_CheckHasRedeemForAccess* CallFunc_CheckHasRedeemForAccess_ReturnValue; // 0x0108(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
int32 Temp_int_Variable; // 0x0110(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsValid_ReturnValue1234; // 0x0114(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_115[0x3]; // 0x0115(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
class UCommonButton* K2Node_ComponentBoundEvent_Button123456789; // 0x0118(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UCommonButton* K2Node_ComponentBoundEvent_Button12345678; // 0x0120(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UCommonButton* K2Node_ComponentBoundEvent_Button1234567; // 0x0128(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UCommonButton* K2Node_ComponentBoundEvent_Button123456; // 0x0130(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UCommonButton* K2Node_ComponentBoundEvent_Button12345; // 0x0138(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UCommonButton* K2Node_ComponentBoundEvent_Button1234; // 0x0140(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UCommonButton* K2Node_ComponentBoundEvent_Button123; // 0x0148(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsPurchaseFree_ReturnValue; // 0x0150(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_151[0x7]; // 0x0151(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class FText K2Node_Select_Default; // 0x0158(0x0018)()
class UFortUINavigationManager* CallFunc_GetUINavigationManager_ReturnValue; // 0x0170(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortUINavigationManager* CallFunc_GetUINavigationManager_ReturnValue1; // 0x0178(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortUINavigationManager* CallFunc_GetUINavigationManager_ReturnValue12; // 0x0180(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UCommonButton* K2Node_ComponentBoundEvent_Button12; // 0x0188(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UCommonButton* K2Node_ComponentBoundEvent_Button1; // 0x0190(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
TDelegate<void()> K2Node_CreateDelegate_OutputDelegate1234567891011; // 0x0198(0x0010)(ZeroConstructor, NoDestructor)
TDelegate<void()> K2Node_CreateDelegate_OutputDelegate123456789101112; // 0x01A8(0x0010)(ZeroConstructor, NoDestructor)
TDelegate<void()> K2Node_CreateDelegate_OutputDelegate12345678910111213; // 0x01B8(0x0010)(ZeroConstructor, NoDestructor)
class UFortUINavigationManager* CallFunc_GetUINavigationManager_ReturnValue123; // 0x01C8(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
int32 CallFunc_GetActiveWidgetIndex_ReturnValue; // 0x01D0(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_1D4[0x4]; // 0x01D4(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
class UWidget* K2Node_Select1_Default; // 0x01D8(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow) == 0x000008, "Wrong alignment on AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow");
static_assert(sizeof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow) == 0x0001E0, "Wrong size on AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, EntryPoint) == 0x000000, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::EntryPoint' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_ComponentBoundEvent_Button) == 0x000008, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_ComponentBoundEvent_Button' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_CreateDelegate_OutputDelegate) == 0x000010, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_CreateDelegate_OutputDelegate' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_CreateDelegate_OutputDelegate1) == 0x000020, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_CreateDelegate_OutputDelegate1' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, CallFunc_WebCreateEpicAccountAndLink_ReturnValue) == 0x000030, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::CallFunc_WebCreateEpicAccountAndLink_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_CreateDelegate_OutputDelegate12) == 0x000038, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_CreateDelegate_OutputDelegate12' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, CallFunc_IsValid_ReturnValue) == 0x000048, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::CallFunc_IsValid_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_CreateDelegate_OutputDelegate123) == 0x000050, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_CreateDelegate_OutputDelegate123' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, CallFunc_CreateHeadlessAccount_ReturnValue) == 0x000060, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::CallFunc_CreateHeadlessAccount_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, Temp_bool_Variable) == 0x000068, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::Temp_bool_Variable' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, CallFunc_IsValid_ReturnValue1) == 0x000069, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::CallFunc_IsValid_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_CreateDelegate_OutputDelegate1234) == 0x000070, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_CreateDelegate_OutputDelegate1234' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, CallFunc_K2_SetTimerDelegate_ReturnValue) == 0x000080, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::CallFunc_K2_SetTimerDelegate_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_CreateDelegate_OutputDelegate12345) == 0x000088, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_CreateDelegate_OutputDelegate12345' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_CreateDelegate_OutputDelegate123456) == 0x000098, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_CreateDelegate_OutputDelegate123456' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, CallFunc_ShowPlatformStoreForPurchase_ReturnValue) == 0x0000A8, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::CallFunc_ShowPlatformStoreForPurchase_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_CreateDelegate_OutputDelegate1234567) == 0x0000B0, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_CreateDelegate_OutputDelegate1234567' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, CallFunc_IsValid_ReturnValue12) == 0x0000C0, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::CallFunc_IsValid_ReturnValue12' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_CreateDelegate_OutputDelegate12345678) == 0x0000C8, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_CreateDelegate_OutputDelegate12345678' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, CallFunc_ShowPlatformRedeemCode_ReturnValue) == 0x0000D8, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::CallFunc_ShowPlatformRedeemCode_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_CreateDelegate_OutputDelegate123456789) == 0x0000E0, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_CreateDelegate_OutputDelegate123456789' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, CallFunc_IsValid_ReturnValue123) == 0x0000F0, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::CallFunc_IsValid_ReturnValue123' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_CreateDelegate_OutputDelegate12345678910) == 0x0000F8, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_CreateDelegate_OutputDelegate12345678910' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, CallFunc_CheckHasRedeemForAccess_ReturnValue) == 0x000108, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::CallFunc_CheckHasRedeemForAccess_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, Temp_int_Variable) == 0x000110, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::Temp_int_Variable' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, CallFunc_IsValid_ReturnValue1234) == 0x000114, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::CallFunc_IsValid_ReturnValue1234' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_ComponentBoundEvent_Button123456789) == 0x000118, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_ComponentBoundEvent_Button123456789' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_ComponentBoundEvent_Button12345678) == 0x000120, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_ComponentBoundEvent_Button12345678' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_ComponentBoundEvent_Button1234567) == 0x000128, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_ComponentBoundEvent_Button1234567' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_ComponentBoundEvent_Button123456) == 0x000130, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_ComponentBoundEvent_Button123456' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_ComponentBoundEvent_Button12345) == 0x000138, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_ComponentBoundEvent_Button12345' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_ComponentBoundEvent_Button1234) == 0x000140, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_ComponentBoundEvent_Button1234' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_ComponentBoundEvent_Button123) == 0x000148, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_ComponentBoundEvent_Button123' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, CallFunc_IsPurchaseFree_ReturnValue) == 0x000150, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::CallFunc_IsPurchaseFree_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_Select_Default) == 0x000158, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_Select_Default' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, CallFunc_GetUINavigationManager_ReturnValue) == 0x000170, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::CallFunc_GetUINavigationManager_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, CallFunc_GetUINavigationManager_ReturnValue1) == 0x000178, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::CallFunc_GetUINavigationManager_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, CallFunc_GetUINavigationManager_ReturnValue12) == 0x000180, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::CallFunc_GetUINavigationManager_ReturnValue12' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_ComponentBoundEvent_Button12) == 0x000188, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_ComponentBoundEvent_Button12' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_ComponentBoundEvent_Button1) == 0x000190, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_ComponentBoundEvent_Button1' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_CreateDelegate_OutputDelegate1234567891011) == 0x000198, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_CreateDelegate_OutputDelegate1234567891011' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_CreateDelegate_OutputDelegate123456789101112) == 0x0001A8, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_CreateDelegate_OutputDelegate123456789101112' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_CreateDelegate_OutputDelegate12345678910111213) == 0x0001B8, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_CreateDelegate_OutputDelegate12345678910111213' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, CallFunc_GetUINavigationManager_ReturnValue123) == 0x0001C8, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::CallFunc_GetUINavigationManager_ReturnValue123' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, CallFunc_GetActiveWidgetIndex_ReturnValue) == 0x0001D0, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::CallFunc_GetActiveWidgetIndex_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow, K2Node_Select1_Default) == 0x0001D8, "Member 'AccountLinkingWindow_C_ExecuteUbergraph_AccountLinkingWindow::K2Node_Select1_Default' has a wrong offset!");
// Function AccountLinkingWindow.AccountLinkingWindow_C.BndEvt__ButtonPurchasePack_K2Node_ComponentBoundEvent_175_CommonButtonClicked__DelegateSignature
// 0x0008 (0x0008 - 0x0000)
struct AccountLinkingWindow_C_BndEvt__ButtonPurchasePack_K2Node_ComponentBoundEvent_175_CommonButtonClicked__DelegateSignature final
{
public:
class UCommonButton* Button; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AccountLinkingWindow_C_BndEvt__ButtonPurchasePack_K2Node_ComponentBoundEvent_175_CommonButtonClicked__DelegateSignature) == 0x000008, "Wrong alignment on AccountLinkingWindow_C_BndEvt__ButtonPurchasePack_K2Node_ComponentBoundEvent_175_CommonButtonClicked__DelegateSignature");
static_assert(sizeof(AccountLinkingWindow_C_BndEvt__ButtonPurchasePack_K2Node_ComponentBoundEvent_175_CommonButtonClicked__DelegateSignature) == 0x000008, "Wrong size on AccountLinkingWindow_C_BndEvt__ButtonPurchasePack_K2Node_ComponentBoundEvent_175_CommonButtonClicked__DelegateSignature");
static_assert(offsetof(AccountLinkingWindow_C_BndEvt__ButtonPurchasePack_K2Node_ComponentBoundEvent_175_CommonButtonClicked__DelegateSignature, Button) == 0x000000, "Member 'AccountLinkingWindow_C_BndEvt__ButtonPurchasePack_K2Node_ComponentBoundEvent_175_CommonButtonClicked__DelegateSignature::Button' has a wrong offset!");
// Function AccountLinkingWindow.AccountLinkingWindow_C.BndEvt__IconTextButton_0_K2Node_ComponentBoundEvent_305_CommonButtonClicked__DelegateSignature
// 0x0008 (0x0008 - 0x0000)
struct AccountLinkingWindow_C_BndEvt__IconTextButton_0_K2Node_ComponentBoundEvent_305_CommonButtonClicked__DelegateSignature final
{
public:
class UCommonButton* Button; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AccountLinkingWindow_C_BndEvt__IconTextButton_0_K2Node_ComponentBoundEvent_305_CommonButtonClicked__DelegateSignature) == 0x000008, "Wrong alignment on AccountLinkingWindow_C_BndEvt__IconTextButton_0_K2Node_ComponentBoundEvent_305_CommonButtonClicked__DelegateSignature");
static_assert(sizeof(AccountLinkingWindow_C_BndEvt__IconTextButton_0_K2Node_ComponentBoundEvent_305_CommonButtonClicked__DelegateSignature) == 0x000008, "Wrong size on AccountLinkingWindow_C_BndEvt__IconTextButton_0_K2Node_ComponentBoundEvent_305_CommonButtonClicked__DelegateSignature");
static_assert(offsetof(AccountLinkingWindow_C_BndEvt__IconTextButton_0_K2Node_ComponentBoundEvent_305_CommonButtonClicked__DelegateSignature, Button) == 0x000000, "Member 'AccountLinkingWindow_C_BndEvt__IconTextButton_0_K2Node_ComponentBoundEvent_305_CommonButtonClicked__DelegateSignature::Button' has a wrong offset!");
// Function AccountLinkingWindow.AccountLinkingWindow_C.BndEvt__IconTextButton_K2Node_ComponentBoundEvent_0_CommonButtonClicked__DelegateSignature
// 0x0008 (0x0008 - 0x0000)
struct AccountLinkingWindow_C_BndEvt__IconTextButton_K2Node_ComponentBoundEvent_0_CommonButtonClicked__DelegateSignature final
{
public:
class UCommonButton* Button; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AccountLinkingWindow_C_BndEvt__IconTextButton_K2Node_ComponentBoundEvent_0_CommonButtonClicked__DelegateSignature) == 0x000008, "Wrong alignment on AccountLinkingWindow_C_BndEvt__IconTextButton_K2Node_ComponentBoundEvent_0_CommonButtonClicked__DelegateSignature");
static_assert(sizeof(AccountLinkingWindow_C_BndEvt__IconTextButton_K2Node_ComponentBoundEvent_0_CommonButtonClicked__DelegateSignature) == 0x000008, "Wrong size on AccountLinkingWindow_C_BndEvt__IconTextButton_K2Node_ComponentBoundEvent_0_CommonButtonClicked__DelegateSignature");
static_assert(offsetof(AccountLinkingWindow_C_BndEvt__IconTextButton_K2Node_ComponentBoundEvent_0_CommonButtonClicked__DelegateSignature, Button) == 0x000000, "Member 'AccountLinkingWindow_C_BndEvt__IconTextButton_K2Node_ComponentBoundEvent_0_CommonButtonClicked__DelegateSignature::Button' has a wrong offset!");
// Function AccountLinkingWindow.AccountLinkingWindow_C.BndEvt__ButtonSkipSignInNoThanks_K2Node_ComponentBoundEvent_483_CommonButtonClicked__DelegateSignature
// 0x0008 (0x0008 - 0x0000)
struct AccountLinkingWindow_C_BndEvt__ButtonSkipSignInNoThanks_K2Node_ComponentBoundEvent_483_CommonButtonClicked__DelegateSignature final
{
public:
class UCommonButton* Button; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AccountLinkingWindow_C_BndEvt__ButtonSkipSignInNoThanks_K2Node_ComponentBoundEvent_483_CommonButtonClicked__DelegateSignature) == 0x000008, "Wrong alignment on AccountLinkingWindow_C_BndEvt__ButtonSkipSignInNoThanks_K2Node_ComponentBoundEvent_483_CommonButtonClicked__DelegateSignature");
static_assert(sizeof(AccountLinkingWindow_C_BndEvt__ButtonSkipSignInNoThanks_K2Node_ComponentBoundEvent_483_CommonButtonClicked__DelegateSignature) == 0x000008, "Wrong size on AccountLinkingWindow_C_BndEvt__ButtonSkipSignInNoThanks_K2Node_ComponentBoundEvent_483_CommonButtonClicked__DelegateSignature");
static_assert(offsetof(AccountLinkingWindow_C_BndEvt__ButtonSkipSignInNoThanks_K2Node_ComponentBoundEvent_483_CommonButtonClicked__DelegateSignature, Button) == 0x000000, "Member 'AccountLinkingWindow_C_BndEvt__ButtonSkipSignInNoThanks_K2Node_ComponentBoundEvent_483_CommonButtonClicked__DelegateSignature::Button' has a wrong offset!");
// Function AccountLinkingWindow.AccountLinkingWindow_C.BndEvt__ButtonSkipSignInLogIn_K2Node_ComponentBoundEvent_463_CommonButtonClicked__DelegateSignature
// 0x0008 (0x0008 - 0x0000)
struct AccountLinkingWindow_C_BndEvt__ButtonSkipSignInLogIn_K2Node_ComponentBoundEvent_463_CommonButtonClicked__DelegateSignature final
{
public:
class UCommonButton* Button; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AccountLinkingWindow_C_BndEvt__ButtonSkipSignInLogIn_K2Node_ComponentBoundEvent_463_CommonButtonClicked__DelegateSignature) == 0x000008, "Wrong alignment on AccountLinkingWindow_C_BndEvt__ButtonSkipSignInLogIn_K2Node_ComponentBoundEvent_463_CommonButtonClicked__DelegateSignature");
static_assert(sizeof(AccountLinkingWindow_C_BndEvt__ButtonSkipSignInLogIn_K2Node_ComponentBoundEvent_463_CommonButtonClicked__DelegateSignature) == 0x000008, "Wrong size on AccountLinkingWindow_C_BndEvt__ButtonSkipSignInLogIn_K2Node_ComponentBoundEvent_463_CommonButtonClicked__DelegateSignature");
static_assert(offsetof(AccountLinkingWindow_C_BndEvt__ButtonSkipSignInLogIn_K2Node_ComponentBoundEvent_463_CommonButtonClicked__DelegateSignature, Button) == 0x000000, "Member 'AccountLinkingWindow_C_BndEvt__ButtonSkipSignInLogIn_K2Node_ComponentBoundEvent_463_CommonButtonClicked__DelegateSignature::Button' has a wrong offset!");
// Function AccountLinkingWindow.AccountLinkingWindow_C.BndEvt__ButtonSkipSignInSignIn_K2Node_ComponentBoundEvent_444_CommonButtonClicked__DelegateSignature
// 0x0008 (0x0008 - 0x0000)
struct AccountLinkingWindow_C_BndEvt__ButtonSkipSignInSignIn_K2Node_ComponentBoundEvent_444_CommonButtonClicked__DelegateSignature final
{
public:
class UCommonButton* Button; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AccountLinkingWindow_C_BndEvt__ButtonSkipSignInSignIn_K2Node_ComponentBoundEvent_444_CommonButtonClicked__DelegateSignature) == 0x000008, "Wrong alignment on AccountLinkingWindow_C_BndEvt__ButtonSkipSignInSignIn_K2Node_ComponentBoundEvent_444_CommonButtonClicked__DelegateSignature");
static_assert(sizeof(AccountLinkingWindow_C_BndEvt__ButtonSkipSignInSignIn_K2Node_ComponentBoundEvent_444_CommonButtonClicked__DelegateSignature) == 0x000008, "Wrong size on AccountLinkingWindow_C_BndEvt__ButtonSkipSignInSignIn_K2Node_ComponentBoundEvent_444_CommonButtonClicked__DelegateSignature");
static_assert(offsetof(AccountLinkingWindow_C_BndEvt__ButtonSkipSignInSignIn_K2Node_ComponentBoundEvent_444_CommonButtonClicked__DelegateSignature, Button) == 0x000000, "Member 'AccountLinkingWindow_C_BndEvt__ButtonSkipSignInSignIn_K2Node_ComponentBoundEvent_444_CommonButtonClicked__DelegateSignature::Button' has a wrong offset!");
// Function AccountLinkingWindow.AccountLinkingWindow_C.BndEvt__ButtonSignUp_K2Node_ComponentBoundEvent_416_CommonButtonClicked__DelegateSignature
// 0x0008 (0x0008 - 0x0000)
struct AccountLinkingWindow_C_BndEvt__ButtonSignUp_K2Node_ComponentBoundEvent_416_CommonButtonClicked__DelegateSignature final
{
public:
class UCommonButton* Button; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AccountLinkingWindow_C_BndEvt__ButtonSignUp_K2Node_ComponentBoundEvent_416_CommonButtonClicked__DelegateSignature) == 0x000008, "Wrong alignment on AccountLinkingWindow_C_BndEvt__ButtonSignUp_K2Node_ComponentBoundEvent_416_CommonButtonClicked__DelegateSignature");
static_assert(sizeof(AccountLinkingWindow_C_BndEvt__ButtonSignUp_K2Node_ComponentBoundEvent_416_CommonButtonClicked__DelegateSignature) == 0x000008, "Wrong size on AccountLinkingWindow_C_BndEvt__ButtonSignUp_K2Node_ComponentBoundEvent_416_CommonButtonClicked__DelegateSignature");
static_assert(offsetof(AccountLinkingWindow_C_BndEvt__ButtonSignUp_K2Node_ComponentBoundEvent_416_CommonButtonClicked__DelegateSignature, Button) == 0x000000, "Member 'AccountLinkingWindow_C_BndEvt__ButtonSignUp_K2Node_ComponentBoundEvent_416_CommonButtonClicked__DelegateSignature::Button' has a wrong offset!");
// Function AccountLinkingWindow.AccountLinkingWindow_C.BndEvt__ButtonLogIn_K2Node_ComponentBoundEvent_431_CommonButtonClicked__DelegateSignature
// 0x0008 (0x0008 - 0x0000)
struct AccountLinkingWindow_C_BndEvt__ButtonLogIn_K2Node_ComponentBoundEvent_431_CommonButtonClicked__DelegateSignature final
{
public:
class UCommonButton* Button; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AccountLinkingWindow_C_BndEvt__ButtonLogIn_K2Node_ComponentBoundEvent_431_CommonButtonClicked__DelegateSignature) == 0x000008, "Wrong alignment on AccountLinkingWindow_C_BndEvt__ButtonLogIn_K2Node_ComponentBoundEvent_431_CommonButtonClicked__DelegateSignature");
static_assert(sizeof(AccountLinkingWindow_C_BndEvt__ButtonLogIn_K2Node_ComponentBoundEvent_431_CommonButtonClicked__DelegateSignature) == 0x000008, "Wrong size on AccountLinkingWindow_C_BndEvt__ButtonLogIn_K2Node_ComponentBoundEvent_431_CommonButtonClicked__DelegateSignature");
static_assert(offsetof(AccountLinkingWindow_C_BndEvt__ButtonLogIn_K2Node_ComponentBoundEvent_431_CommonButtonClicked__DelegateSignature, Button) == 0x000000, "Member 'AccountLinkingWindow_C_BndEvt__ButtonLogIn_K2Node_ComponentBoundEvent_431_CommonButtonClicked__DelegateSignature::Button' has a wrong offset!");
// Function AccountLinkingWindow.AccountLinkingWindow_C.BndEvt__ButtonNoThanks_K2Node_ComponentBoundEvent_447_CommonButtonClicked__DelegateSignature
// 0x0008 (0x0008 - 0x0000)
struct AccountLinkingWindow_C_BndEvt__ButtonNoThanks_K2Node_ComponentBoundEvent_447_CommonButtonClicked__DelegateSignature final
{
public:
class UCommonButton* Button; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AccountLinkingWindow_C_BndEvt__ButtonNoThanks_K2Node_ComponentBoundEvent_447_CommonButtonClicked__DelegateSignature) == 0x000008, "Wrong alignment on AccountLinkingWindow_C_BndEvt__ButtonNoThanks_K2Node_ComponentBoundEvent_447_CommonButtonClicked__DelegateSignature");
static_assert(sizeof(AccountLinkingWindow_C_BndEvt__ButtonNoThanks_K2Node_ComponentBoundEvent_447_CommonButtonClicked__DelegateSignature) == 0x000008, "Wrong size on AccountLinkingWindow_C_BndEvt__ButtonNoThanks_K2Node_ComponentBoundEvent_447_CommonButtonClicked__DelegateSignature");
static_assert(offsetof(AccountLinkingWindow_C_BndEvt__ButtonNoThanks_K2Node_ComponentBoundEvent_447_CommonButtonClicked__DelegateSignature, Button) == 0x000000, "Member 'AccountLinkingWindow_C_BndEvt__ButtonNoThanks_K2Node_ComponentBoundEvent_447_CommonButtonClicked__DelegateSignature::Button' has a wrong offset!");
// Function AccountLinkingWindow.AccountLinkingWindow_C.BndEvt__ButtonLogInFromPurchase_K2Node_ComponentBoundEvent_464_CommonButtonClicked__DelegateSignature
// 0x0008 (0x0008 - 0x0000)
struct AccountLinkingWindow_C_BndEvt__ButtonLogInFromPurchase_K2Node_ComponentBoundEvent_464_CommonButtonClicked__DelegateSignature final
{
public:
class UCommonButton* Button; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AccountLinkingWindow_C_BndEvt__ButtonLogInFromPurchase_K2Node_ComponentBoundEvent_464_CommonButtonClicked__DelegateSignature) == 0x000008, "Wrong alignment on AccountLinkingWindow_C_BndEvt__ButtonLogInFromPurchase_K2Node_ComponentBoundEvent_464_CommonButtonClicked__DelegateSignature");
static_assert(sizeof(AccountLinkingWindow_C_BndEvt__ButtonLogInFromPurchase_K2Node_ComponentBoundEvent_464_CommonButtonClicked__DelegateSignature) == 0x000008, "Wrong size on AccountLinkingWindow_C_BndEvt__ButtonLogInFromPurchase_K2Node_ComponentBoundEvent_464_CommonButtonClicked__DelegateSignature");
static_assert(offsetof(AccountLinkingWindow_C_BndEvt__ButtonLogInFromPurchase_K2Node_ComponentBoundEvent_464_CommonButtonClicked__DelegateSignature, Button) == 0x000000, "Member 'AccountLinkingWindow_C_BndEvt__ButtonLogInFromPurchase_K2Node_ComponentBoundEvent_464_CommonButtonClicked__DelegateSignature::Button' has a wrong offset!");
// Function AccountLinkingWindow.AccountLinkingWindow_C.SetLinkedAccountNeedsPurchase
// 0x0001 (0x0001 - 0x0000)
struct AccountLinkingWindow_C_SetLinkedAccountNeedsPurchase final
{
public:
bool bInLinkedAccountNeedsPurchase; // 0x0000(0x0001)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AccountLinkingWindow_C_SetLinkedAccountNeedsPurchase) == 0x000001, "Wrong alignment on AccountLinkingWindow_C_SetLinkedAccountNeedsPurchase");
static_assert(sizeof(AccountLinkingWindow_C_SetLinkedAccountNeedsPurchase) == 0x000001, "Wrong size on AccountLinkingWindow_C_SetLinkedAccountNeedsPurchase");
static_assert(offsetof(AccountLinkingWindow_C_SetLinkedAccountNeedsPurchase, bInLinkedAccountNeedsPurchase) == 0x000000, "Member 'AccountLinkingWindow_C_SetLinkedAccountNeedsPurchase::bInLinkedAccountNeedsPurchase' has a wrong offset!");
// Function AccountLinkingWindow.AccountLinkingWindow_C.HideLinkOptions
// 0x0004 (0x0004 - 0x0000)
struct AccountLinkingWindow_C_HideLinkOptions final
{
public:
ESlateVisibility Temp_byte_Variable; // 0x0000(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
ESlateVisibility Temp_byte_Variable1; // 0x0001(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool Temp_bool_Variable; // 0x0002(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
ESlateVisibility K2Node_Select_Default; // 0x0003(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AccountLinkingWindow_C_HideLinkOptions) == 0x000001, "Wrong alignment on AccountLinkingWindow_C_HideLinkOptions");
static_assert(sizeof(AccountLinkingWindow_C_HideLinkOptions) == 0x000004, "Wrong size on AccountLinkingWindow_C_HideLinkOptions");
static_assert(offsetof(AccountLinkingWindow_C_HideLinkOptions, Temp_byte_Variable) == 0x000000, "Member 'AccountLinkingWindow_C_HideLinkOptions::Temp_byte_Variable' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_HideLinkOptions, Temp_byte_Variable1) == 0x000001, "Member 'AccountLinkingWindow_C_HideLinkOptions::Temp_byte_Variable1' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_HideLinkOptions, Temp_bool_Variable) == 0x000002, "Member 'AccountLinkingWindow_C_HideLinkOptions::Temp_bool_Variable' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_HideLinkOptions, K2Node_Select_Default) == 0x000003, "Member 'AccountLinkingWindow_C_HideLinkOptions::K2Node_Select_Default' has a wrong offset!");
// Function AccountLinkingWindow.AccountLinkingWindow_C.SetupLinkText
// 0x0018 (0x0018 - 0x0000)
struct AccountLinkingWindow_C_SetupLinkText final
{
public:
class FString CallFunc_GetPlatformName_ReturnValue; // 0x0000(0x0010)(ZeroConstructor, HasGetValueTypeHash)
bool CallFunc_EqualEqual_StrStr_ReturnValue; // 0x0010(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_EqualEqual_StrStr_ReturnValue1; // 0x0011(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AccountLinkingWindow_C_SetupLinkText) == 0x000008, "Wrong alignment on AccountLinkingWindow_C_SetupLinkText");
static_assert(sizeof(AccountLinkingWindow_C_SetupLinkText) == 0x000018, "Wrong size on AccountLinkingWindow_C_SetupLinkText");
static_assert(offsetof(AccountLinkingWindow_C_SetupLinkText, CallFunc_GetPlatformName_ReturnValue) == 0x000000, "Member 'AccountLinkingWindow_C_SetupLinkText::CallFunc_GetPlatformName_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_SetupLinkText, CallFunc_EqualEqual_StrStr_ReturnValue) == 0x000010, "Member 'AccountLinkingWindow_C_SetupLinkText::CallFunc_EqualEqual_StrStr_ReturnValue' has a wrong offset!");
static_assert(offsetof(AccountLinkingWindow_C_SetupLinkText, CallFunc_EqualEqual_StrStr_ReturnValue1) == 0x000011, "Member 'AccountLinkingWindow_C_SetupLinkText::CallFunc_EqualEqual_StrStr_ReturnValue1' has a wrong offset!");
}
+79
View File
@@ -0,0 +1,79 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: Account
#include "Basic.hpp"
#include "Account_structs.hpp"
#include "CoreUObject_classes.hpp"
namespace SDK
{
// Class Account.OnlineAccountCommon
// 0x0838 (0x0860 - 0x0028)
class UOnlineAccountCommon : public UObject
{
public:
uint8 Pad_28[0x10]; // 0x0028(0x0010)(Fixing Size After Last Property [ Dumper-7 ])
class FString AvailabilityServiceGameName; // 0x0038(0x0010)(ZeroConstructor, Config, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
bool bRequireLightswitchAtStartup; // 0x0048(0x0001)(ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
uint8 Pad_49[0x7]; // 0x0049(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class FString EulaKey; // 0x0050(0x0010)(ZeroConstructor, Config, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
TArray<struct FWebEnvUrl> WebCreateEpicAccountUrl; // 0x0060(0x0010)(ZeroConstructor, Config, Protected, NativeAccessSpecifierProtected)
bool bShouldGrantFreeAccess; // 0x0070(0x0001)(ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
uint8 Pad_71[0x1]; // 0x0071(0x0001)(Fixing Size After Last Property [ Dumper-7 ])
bool bUseGameSubAccessRedemption; // 0x0072(0x0001)(ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
bool bAllowHomeSharingAccess; // 0x0073(0x0001)(ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
uint8 Pad_74[0x7EC]; // 0x0074(0x07EC)(Fixing Struct Size After Last Property [ Dumper-7 ])
public:
static class UClass* StaticClass()
{
return StaticClassImpl<"OnlineAccountCommon">();
}
static class UOnlineAccountCommon* GetDefaultObj()
{
return GetDefaultObjImpl<UOnlineAccountCommon>();
}
};
static_assert(alignof(UOnlineAccountCommon) == 0x000008, "Wrong alignment on UOnlineAccountCommon");
static_assert(sizeof(UOnlineAccountCommon) == 0x000860, "Wrong size on UOnlineAccountCommon");
static_assert(offsetof(UOnlineAccountCommon, AvailabilityServiceGameName) == 0x000038, "Member 'UOnlineAccountCommon::AvailabilityServiceGameName' has a wrong offset!");
static_assert(offsetof(UOnlineAccountCommon, bRequireLightswitchAtStartup) == 0x000048, "Member 'UOnlineAccountCommon::bRequireLightswitchAtStartup' has a wrong offset!");
static_assert(offsetof(UOnlineAccountCommon, EulaKey) == 0x000050, "Member 'UOnlineAccountCommon::EulaKey' has a wrong offset!");
static_assert(offsetof(UOnlineAccountCommon, WebCreateEpicAccountUrl) == 0x000060, "Member 'UOnlineAccountCommon::WebCreateEpicAccountUrl' has a wrong offset!");
static_assert(offsetof(UOnlineAccountCommon, bShouldGrantFreeAccess) == 0x000070, "Member 'UOnlineAccountCommon::bShouldGrantFreeAccess' has a wrong offset!");
static_assert(offsetof(UOnlineAccountCommon, bUseGameSubAccessRedemption) == 0x000072, "Member 'UOnlineAccountCommon::bUseGameSubAccessRedemption' has a wrong offset!");
static_assert(offsetof(UOnlineAccountCommon, bAllowHomeSharingAccess) == 0x000073, "Member 'UOnlineAccountCommon::bAllowHomeSharingAccess' has a wrong offset!");
// Class Account.ExternalAccountProvider
// 0x0010 (0x0038 - 0x0028)
class UExternalAccountProvider final : public UObject
{
public:
TArray<struct FExternalAccountServiceConfig> Services; // 0x0028(0x0010)(ZeroConstructor, Config, NativeAccessSpecifierPrivate)
public:
static class UClass* StaticClass()
{
return StaticClassImpl<"ExternalAccountProvider">();
}
static class UExternalAccountProvider* GetDefaultObj()
{
return GetDefaultObjImpl<UExternalAccountProvider>();
}
};
static_assert(alignof(UExternalAccountProvider) == 0x000008, "Wrong alignment on UExternalAccountProvider");
static_assert(sizeof(UExternalAccountProvider) == 0x000038, "Wrong size on UExternalAccountProvider");
static_assert(offsetof(UExternalAccountProvider, Services) == 0x000028, "Member 'UExternalAccountProvider::Services' has a wrong offset!");
}
+364
View File
@@ -0,0 +1,364 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: Account
#include "Basic.hpp"
namespace SDK
{
// Enum Account.EExternalAccountType
// NumValues: 0x0004
enum class EExternalAccountType : uint8
{
None = 0,
Facebook = 1,
Google = 2,
EExternalAccountType_MAX = 3,
};
// Enum Account.ECreateAccountResult
// NumValues: 0x0008
enum class ECreateAccountResult : uint8
{
NotStarted = 0,
Pending = 1,
Success = 2,
Console_LoginFailed = 3,
Console_DuplicateAuthAssociation = 4,
DuplicateAccount = 5,
GenericError = 6,
ECreateAccountResult_MAX = 7,
};
// Enum Account.ELoginResult
// NumValues: 0x0021
enum class ELoginResult : uint8
{
NotStarted = 0,
Pending = 1,
Success = 2,
Console_LoginFailed = 3,
Console_AuthFailed = 4,
Console_MissingAuthAssociation = 5,
Console_DuplicateAuthAssociation = 6,
Console_AddedAuthAssociation = 7,
Console_AuthAssociationFailure = 8,
Console_NotEntitled = 9,
Console_EntitlementCheckFailed = 10,
Console_PrivilegeCheck = 11,
Console_PatchOrUpdateRequired = 12,
AuthFailed = 13,
AuthFailed_RefreshInvalid = 14,
AuthParentalLock = 15,
PlatformNotAllowed = 16,
NotEntitled = 17,
Banned = 18,
EULACheckFailed = 19,
ServiceUnavailable = 20,
GenericError = 21,
RejoinCheckFailure = 22,
ConnectionFailed = 23,
ExternalAuth_AddedAuthAssociation = 24,
ExternalAuth_ConnectionTimeout = 25,
ExternalAuth_AuthFailure = 26,
ExternalAuth_AssociationFailure = 27,
ExternalAuth_MissingAuthAssociation = 28,
FailedToCreateParty = 29,
ProfileQueryFailed = 30,
ClientSettingsDownloadFailed = 31,
ELoginResult_MAX = 32,
};
// Enum Account.EConsoleAuthLinkState
// NumValues: 0x0007
enum class EConsoleAuthLinkState : uint8
{
NotOnConsole = 0,
ConsoleNotLoggedIn = 1,
EpicNotLoggedIn = 2,
ThisEpicAccountLinked = 3,
OtherEpicAccountLinked = 4,
NoEpicAccountLinked = 5,
EConsoleAuthLinkState_MAX = 6,
};
// ScriptStruct Account.OnlineAccountTexts_FailedLoginConsole
// 0x0138 (0x0138 - 0x0000)
struct FOnlineAccountTexts_FailedLoginConsole final
{
public:
class FText AgeRestriction; // 0x0000(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText Generic; // 0x0018(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText MissingAuthAssociation; // 0x0030(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText NeedPremiumAccount; // 0x0048(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText OnlinePlayRestriction; // 0x0060(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText PatchAvailable; // 0x0078(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText PleaseSignIn; // 0x0090(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText SystemUpdateAvailable; // 0x00A8(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText UI; // 0x00C0(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText UnableToComplete; // 0x00D8(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText UnableToSignIn; // 0x00F0(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText UnableToStartPrivCheck; // 0x0108(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText UnexpectedError; // 0x0120(0x0018)(Edit, NativeAccessSpecifierPublic)
};
static_assert(alignof(FOnlineAccountTexts_FailedLoginConsole) == 0x000008, "Wrong alignment on FOnlineAccountTexts_FailedLoginConsole");
static_assert(sizeof(FOnlineAccountTexts_FailedLoginConsole) == 0x000138, "Wrong size on FOnlineAccountTexts_FailedLoginConsole");
static_assert(offsetof(FOnlineAccountTexts_FailedLoginConsole, AgeRestriction) == 0x000000, "Member 'FOnlineAccountTexts_FailedLoginConsole::AgeRestriction' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts_FailedLoginConsole, Generic) == 0x000018, "Member 'FOnlineAccountTexts_FailedLoginConsole::Generic' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts_FailedLoginConsole, MissingAuthAssociation) == 0x000030, "Member 'FOnlineAccountTexts_FailedLoginConsole::MissingAuthAssociation' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts_FailedLoginConsole, NeedPremiumAccount) == 0x000048, "Member 'FOnlineAccountTexts_FailedLoginConsole::NeedPremiumAccount' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts_FailedLoginConsole, OnlinePlayRestriction) == 0x000060, "Member 'FOnlineAccountTexts_FailedLoginConsole::OnlinePlayRestriction' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts_FailedLoginConsole, PatchAvailable) == 0x000078, "Member 'FOnlineAccountTexts_FailedLoginConsole::PatchAvailable' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts_FailedLoginConsole, PleaseSignIn) == 0x000090, "Member 'FOnlineAccountTexts_FailedLoginConsole::PleaseSignIn' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts_FailedLoginConsole, SystemUpdateAvailable) == 0x0000A8, "Member 'FOnlineAccountTexts_FailedLoginConsole::SystemUpdateAvailable' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts_FailedLoginConsole, UI) == 0x0000C0, "Member 'FOnlineAccountTexts_FailedLoginConsole::UI' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts_FailedLoginConsole, UnableToComplete) == 0x0000D8, "Member 'FOnlineAccountTexts_FailedLoginConsole::UnableToComplete' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts_FailedLoginConsole, UnableToSignIn) == 0x0000F0, "Member 'FOnlineAccountTexts_FailedLoginConsole::UnableToSignIn' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts_FailedLoginConsole, UnableToStartPrivCheck) == 0x000108, "Member 'FOnlineAccountTexts_FailedLoginConsole::UnableToStartPrivCheck' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts_FailedLoginConsole, UnexpectedError) == 0x000120, "Member 'FOnlineAccountTexts_FailedLoginConsole::UnexpectedError' has a wrong offset!");
// ScriptStruct Account.OnlineAccountTexts
// 0x08E8 (0x08E8 - 0x0000)
struct FOnlineAccountTexts final
{
public:
class FText AllGiftCodesUsed; // 0x0000(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText AssociateConsoleAuth; // 0x0018(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText AutoLoginFailed; // 0x0030(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText BannedFromGame; // 0x0048(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText CheckEntitledToPlay; // 0x0060(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText CheckingRejoin; // 0x0078(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText CheckServiceAvailability; // 0x0090(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText ConsolePrivileges; // 0x00A8(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText CreateAccountCompleted; // 0x00C0(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText CreateAccountFailure; // 0x00D8(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText CreateHeadless; // 0x00F0(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText DoQosPingTests; // 0x0108(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText DowntimeMinutesWarningText; // 0x0120(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText DowntimeSecondsWarningText; // 0x0138(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText DuplicateAuthAssociaton; // 0x0150(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText EulaCheck; // 0x0168(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText ExchangeConsoleGiftsForAccess; // 0x0180(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText ExchangeConsolePurchaseForAccess; // 0x0198(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText FailedAccountCreate; // 0x01B0(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText FailedEulaCheck_EulaAcceptanceFailed; // 0x01C8(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText FailedEulaCheck_MustAcceptEula; // 0x01E0(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText FailedLoginCredentialsMsg; // 0x01F8(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText FailedLoginParentalLock; // 0x0210(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText FailedLoginNoRealId; // 0x0228(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText FailedLoginLockoutMsg; // 0x0240(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText FailedLoginMsg; // 0x0258(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText FailedLoginMsg_InvalidRefreshToken; // 0x0270(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText FailedLoginTencent_UnableToSignIn; // 0x0288(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText FailedLoginTencent_NotSignedInToWeGame; // 0x02A0(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText FailedLoginTencent_FailedToInitializeWeGame; // 0x02B8(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText FailedLoginTencent_WeGameSystemOffline; // 0x02D0(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText FailedStartLogin; // 0x02E8(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText FounderChatExitedText; // 0x0300(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText FounderChatJoinedText; // 0x0318(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText GameDisplayName; // 0x0330(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText GeneralLoginFailure; // 0x0348(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText GlobalChatExitedText; // 0x0360(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText GlobalChatJoinedText; // 0x0378(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText HeadlessAccountFailed; // 0x0390(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText InMatchShutdownTimeWarningText; // 0x03A8(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText InvalidUser; // 0x03C0(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText LoggedOutofMCP; // 0x03D8(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText DisconnectedFromMCP; // 0x03F0(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText LoggedOutReturnedToTitle; // 0x0408(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText LoggedOutSwitchedProfile; // 0x0420(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText LoggingIn; // 0x0438(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText LoggingInConsoleAuth; // 0x0450(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText LoggingOut; // 0x0468(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText LoginConsole; // 0x0480(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText LoginFailure; // 0x0498(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText Logout_Unlink; // 0x04B0(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText LogoutCompleted; // 0x04C8(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText LostConnection; // 0x04E0(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText MCPTimeout; // 0x04F8(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText LightswitchCheckNetworkFailureMsg; // 0x0510(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText NoPlayEntitlement; // 0x0528(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText NoServerAccess; // 0x0540(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText PlayAccessRevoked; // 0x0558(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText PremiumAccountName_Default; // 0x0570(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText PremiumAccountName_PS4; // 0x0588(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText PremiumAccountName_Switch; // 0x05A0(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText PremiumAccountName_XboxOne; // 0x05B8(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText RedeemOfflinePurchases; // 0x05D0(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText ServiceDowntime; // 0x05E8(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText SignInCompleting; // 0x0600(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText SignIntoConsoleServices; // 0x0618(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText TokenExpired; // 0x0630(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText UnableToConnect; // 0x0648(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText UnableToJoinWaitingRoomLoginQueue; // 0x0660(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText UnexpectedConsoleAuthFailure; // 0x0678(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText UnlinkConsoleFailed; // 0x0690(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText UserLoginFailed; // 0x06A8(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText WaitingRoom; // 0x06C0(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText WaitingRoomError; // 0x06D8(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText WaitingRoomFailure; // 0x06F0(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText WaitingRoomWaiting; // 0x0708(0x0018)(Edit, NativeAccessSpecifierPublic)
struct FOnlineAccountTexts_FailedLoginConsole FailedLoginConsole; // 0x0720(0x0138)(Edit, NativeAccessSpecifierPublic)
class FText LoggingInExternalAuth; // 0x0858(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText ExtAuthCanceled; // 0x0870(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText ExtAuthFailure; // 0x0888(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText ExtAuthAssociationFailure; // 0x08A0(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText ExtAuthTimeout; // 0x08B8(0x0018)(Edit, NativeAccessSpecifierPublic)
class FText ExtAuthMissingAuthAssociation; // 0x08D0(0x0018)(Edit, NativeAccessSpecifierPublic)
};
static_assert(alignof(FOnlineAccountTexts) == 0x000008, "Wrong alignment on FOnlineAccountTexts");
static_assert(sizeof(FOnlineAccountTexts) == 0x0008E8, "Wrong size on FOnlineAccountTexts");
static_assert(offsetof(FOnlineAccountTexts, AllGiftCodesUsed) == 0x000000, "Member 'FOnlineAccountTexts::AllGiftCodesUsed' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, AssociateConsoleAuth) == 0x000018, "Member 'FOnlineAccountTexts::AssociateConsoleAuth' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, AutoLoginFailed) == 0x000030, "Member 'FOnlineAccountTexts::AutoLoginFailed' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, BannedFromGame) == 0x000048, "Member 'FOnlineAccountTexts::BannedFromGame' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, CheckEntitledToPlay) == 0x000060, "Member 'FOnlineAccountTexts::CheckEntitledToPlay' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, CheckingRejoin) == 0x000078, "Member 'FOnlineAccountTexts::CheckingRejoin' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, CheckServiceAvailability) == 0x000090, "Member 'FOnlineAccountTexts::CheckServiceAvailability' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, ConsolePrivileges) == 0x0000A8, "Member 'FOnlineAccountTexts::ConsolePrivileges' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, CreateAccountCompleted) == 0x0000C0, "Member 'FOnlineAccountTexts::CreateAccountCompleted' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, CreateAccountFailure) == 0x0000D8, "Member 'FOnlineAccountTexts::CreateAccountFailure' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, CreateHeadless) == 0x0000F0, "Member 'FOnlineAccountTexts::CreateHeadless' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, DoQosPingTests) == 0x000108, "Member 'FOnlineAccountTexts::DoQosPingTests' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, DowntimeMinutesWarningText) == 0x000120, "Member 'FOnlineAccountTexts::DowntimeMinutesWarningText' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, DowntimeSecondsWarningText) == 0x000138, "Member 'FOnlineAccountTexts::DowntimeSecondsWarningText' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, DuplicateAuthAssociaton) == 0x000150, "Member 'FOnlineAccountTexts::DuplicateAuthAssociaton' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, EulaCheck) == 0x000168, "Member 'FOnlineAccountTexts::EulaCheck' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, ExchangeConsoleGiftsForAccess) == 0x000180, "Member 'FOnlineAccountTexts::ExchangeConsoleGiftsForAccess' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, ExchangeConsolePurchaseForAccess) == 0x000198, "Member 'FOnlineAccountTexts::ExchangeConsolePurchaseForAccess' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, FailedAccountCreate) == 0x0001B0, "Member 'FOnlineAccountTexts::FailedAccountCreate' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, FailedEulaCheck_EulaAcceptanceFailed) == 0x0001C8, "Member 'FOnlineAccountTexts::FailedEulaCheck_EulaAcceptanceFailed' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, FailedEulaCheck_MustAcceptEula) == 0x0001E0, "Member 'FOnlineAccountTexts::FailedEulaCheck_MustAcceptEula' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, FailedLoginCredentialsMsg) == 0x0001F8, "Member 'FOnlineAccountTexts::FailedLoginCredentialsMsg' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, FailedLoginParentalLock) == 0x000210, "Member 'FOnlineAccountTexts::FailedLoginParentalLock' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, FailedLoginNoRealId) == 0x000228, "Member 'FOnlineAccountTexts::FailedLoginNoRealId' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, FailedLoginLockoutMsg) == 0x000240, "Member 'FOnlineAccountTexts::FailedLoginLockoutMsg' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, FailedLoginMsg) == 0x000258, "Member 'FOnlineAccountTexts::FailedLoginMsg' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, FailedLoginMsg_InvalidRefreshToken) == 0x000270, "Member 'FOnlineAccountTexts::FailedLoginMsg_InvalidRefreshToken' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, FailedLoginTencent_UnableToSignIn) == 0x000288, "Member 'FOnlineAccountTexts::FailedLoginTencent_UnableToSignIn' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, FailedLoginTencent_NotSignedInToWeGame) == 0x0002A0, "Member 'FOnlineAccountTexts::FailedLoginTencent_NotSignedInToWeGame' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, FailedLoginTencent_FailedToInitializeWeGame) == 0x0002B8, "Member 'FOnlineAccountTexts::FailedLoginTencent_FailedToInitializeWeGame' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, FailedLoginTencent_WeGameSystemOffline) == 0x0002D0, "Member 'FOnlineAccountTexts::FailedLoginTencent_WeGameSystemOffline' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, FailedStartLogin) == 0x0002E8, "Member 'FOnlineAccountTexts::FailedStartLogin' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, FounderChatExitedText) == 0x000300, "Member 'FOnlineAccountTexts::FounderChatExitedText' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, FounderChatJoinedText) == 0x000318, "Member 'FOnlineAccountTexts::FounderChatJoinedText' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, GameDisplayName) == 0x000330, "Member 'FOnlineAccountTexts::GameDisplayName' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, GeneralLoginFailure) == 0x000348, "Member 'FOnlineAccountTexts::GeneralLoginFailure' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, GlobalChatExitedText) == 0x000360, "Member 'FOnlineAccountTexts::GlobalChatExitedText' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, GlobalChatJoinedText) == 0x000378, "Member 'FOnlineAccountTexts::GlobalChatJoinedText' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, HeadlessAccountFailed) == 0x000390, "Member 'FOnlineAccountTexts::HeadlessAccountFailed' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, InMatchShutdownTimeWarningText) == 0x0003A8, "Member 'FOnlineAccountTexts::InMatchShutdownTimeWarningText' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, InvalidUser) == 0x0003C0, "Member 'FOnlineAccountTexts::InvalidUser' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, LoggedOutofMCP) == 0x0003D8, "Member 'FOnlineAccountTexts::LoggedOutofMCP' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, DisconnectedFromMCP) == 0x0003F0, "Member 'FOnlineAccountTexts::DisconnectedFromMCP' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, LoggedOutReturnedToTitle) == 0x000408, "Member 'FOnlineAccountTexts::LoggedOutReturnedToTitle' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, LoggedOutSwitchedProfile) == 0x000420, "Member 'FOnlineAccountTexts::LoggedOutSwitchedProfile' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, LoggingIn) == 0x000438, "Member 'FOnlineAccountTexts::LoggingIn' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, LoggingInConsoleAuth) == 0x000450, "Member 'FOnlineAccountTexts::LoggingInConsoleAuth' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, LoggingOut) == 0x000468, "Member 'FOnlineAccountTexts::LoggingOut' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, LoginConsole) == 0x000480, "Member 'FOnlineAccountTexts::LoginConsole' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, LoginFailure) == 0x000498, "Member 'FOnlineAccountTexts::LoginFailure' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, Logout_Unlink) == 0x0004B0, "Member 'FOnlineAccountTexts::Logout_Unlink' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, LogoutCompleted) == 0x0004C8, "Member 'FOnlineAccountTexts::LogoutCompleted' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, LostConnection) == 0x0004E0, "Member 'FOnlineAccountTexts::LostConnection' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, MCPTimeout) == 0x0004F8, "Member 'FOnlineAccountTexts::MCPTimeout' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, LightswitchCheckNetworkFailureMsg) == 0x000510, "Member 'FOnlineAccountTexts::LightswitchCheckNetworkFailureMsg' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, NoPlayEntitlement) == 0x000528, "Member 'FOnlineAccountTexts::NoPlayEntitlement' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, NoServerAccess) == 0x000540, "Member 'FOnlineAccountTexts::NoServerAccess' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, PlayAccessRevoked) == 0x000558, "Member 'FOnlineAccountTexts::PlayAccessRevoked' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, PremiumAccountName_Default) == 0x000570, "Member 'FOnlineAccountTexts::PremiumAccountName_Default' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, PremiumAccountName_PS4) == 0x000588, "Member 'FOnlineAccountTexts::PremiumAccountName_PS4' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, PremiumAccountName_Switch) == 0x0005A0, "Member 'FOnlineAccountTexts::PremiumAccountName_Switch' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, PremiumAccountName_XboxOne) == 0x0005B8, "Member 'FOnlineAccountTexts::PremiumAccountName_XboxOne' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, RedeemOfflinePurchases) == 0x0005D0, "Member 'FOnlineAccountTexts::RedeemOfflinePurchases' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, ServiceDowntime) == 0x0005E8, "Member 'FOnlineAccountTexts::ServiceDowntime' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, SignInCompleting) == 0x000600, "Member 'FOnlineAccountTexts::SignInCompleting' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, SignIntoConsoleServices) == 0x000618, "Member 'FOnlineAccountTexts::SignIntoConsoleServices' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, TokenExpired) == 0x000630, "Member 'FOnlineAccountTexts::TokenExpired' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, UnableToConnect) == 0x000648, "Member 'FOnlineAccountTexts::UnableToConnect' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, UnableToJoinWaitingRoomLoginQueue) == 0x000660, "Member 'FOnlineAccountTexts::UnableToJoinWaitingRoomLoginQueue' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, UnexpectedConsoleAuthFailure) == 0x000678, "Member 'FOnlineAccountTexts::UnexpectedConsoleAuthFailure' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, UnlinkConsoleFailed) == 0x000690, "Member 'FOnlineAccountTexts::UnlinkConsoleFailed' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, UserLoginFailed) == 0x0006A8, "Member 'FOnlineAccountTexts::UserLoginFailed' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, WaitingRoom) == 0x0006C0, "Member 'FOnlineAccountTexts::WaitingRoom' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, WaitingRoomError) == 0x0006D8, "Member 'FOnlineAccountTexts::WaitingRoomError' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, WaitingRoomFailure) == 0x0006F0, "Member 'FOnlineAccountTexts::WaitingRoomFailure' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, WaitingRoomWaiting) == 0x000708, "Member 'FOnlineAccountTexts::WaitingRoomWaiting' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, FailedLoginConsole) == 0x000720, "Member 'FOnlineAccountTexts::FailedLoginConsole' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, LoggingInExternalAuth) == 0x000858, "Member 'FOnlineAccountTexts::LoggingInExternalAuth' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, ExtAuthCanceled) == 0x000870, "Member 'FOnlineAccountTexts::ExtAuthCanceled' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, ExtAuthFailure) == 0x000888, "Member 'FOnlineAccountTexts::ExtAuthFailure' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, ExtAuthAssociationFailure) == 0x0008A0, "Member 'FOnlineAccountTexts::ExtAuthAssociationFailure' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, ExtAuthTimeout) == 0x0008B8, "Member 'FOnlineAccountTexts::ExtAuthTimeout' has a wrong offset!");
static_assert(offsetof(FOnlineAccountTexts, ExtAuthMissingAuthAssociation) == 0x0008D0, "Member 'FOnlineAccountTexts::ExtAuthMissingAuthAssociation' has a wrong offset!");
// ScriptStruct Account.GiftMessage
// 0x0030 (0x0030 - 0x0000)
struct FGiftMessage final
{
public:
class FString GiftCode; // 0x0000(0x0010)(ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
class FString SenderName; // 0x0010(0x0010)(ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
uint8 Pad_20[0x10]; // 0x0020(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
static_assert(alignof(FGiftMessage) == 0x000008, "Wrong alignment on FGiftMessage");
static_assert(sizeof(FGiftMessage) == 0x000030, "Wrong size on FGiftMessage");
static_assert(offsetof(FGiftMessage, GiftCode) == 0x000000, "Member 'FGiftMessage::GiftCode' has a wrong offset!");
static_assert(offsetof(FGiftMessage, SenderName) == 0x000010, "Member 'FGiftMessage::SenderName' has a wrong offset!");
// ScriptStruct Account.ExternalAccountServiceConfig
// 0x0010 (0x0010 - 0x0000)
struct alignas(0x08) FExternalAccountServiceConfig final
{
public:
EExternalAccountType Type; // 0x0000(0x0001)(ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
uint8 Pad_1[0x7]; // 0x0001(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class FName ExternalServiceName; // 0x0008(0x0008)(ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(FExternalAccountServiceConfig) == 0x000008, "Wrong alignment on FExternalAccountServiceConfig");
static_assert(sizeof(FExternalAccountServiceConfig) == 0x000010, "Wrong size on FExternalAccountServiceConfig");
static_assert(offsetof(FExternalAccountServiceConfig, Type) == 0x000000, "Member 'FExternalAccountServiceConfig::Type' has a wrong offset!");
static_assert(offsetof(FExternalAccountServiceConfig, ExternalServiceName) == 0x000008, "Member 'FExternalAccountServiceConfig::ExternalServiceName' has a wrong offset!");
// ScriptStruct Account.WebEnvUrl
// 0x0030 (0x0030 - 0x0000)
struct FWebEnvUrl final
{
public:
class FString URL; // 0x0000(0x0010)(ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
class FString RedirectUrl; // 0x0010(0x0010)(ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
class FString Environment; // 0x0020(0x0010)(ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(FWebEnvUrl) == 0x000008, "Wrong alignment on FWebEnvUrl");
static_assert(sizeof(FWebEnvUrl) == 0x000030, "Wrong size on FWebEnvUrl");
static_assert(offsetof(FWebEnvUrl, URL) == 0x000000, "Member 'FWebEnvUrl::URL' has a wrong offset!");
static_assert(offsetof(FWebEnvUrl, RedirectUrl) == 0x000010, "Member 'FWebEnvUrl::RedirectUrl' has a wrong offset!");
static_assert(offsetof(FWebEnvUrl, Environment) == 0x000020, "Member 'FWebEnvUrl::Environment' has a wrong offset!");
// ScriptStruct Account.ExchangeAccessParams
// 0x0040 (0x0040 - 0x0000)
struct FExchangeAccessParams final
{
public:
class FString EntitlementId; // 0x0000(0x0010)(ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
class FString ReceiptId; // 0x0010(0x0010)(ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
class FString VendorReceipt; // 0x0020(0x0010)(ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
class FString AppStore; // 0x0030(0x0010)(ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(FExchangeAccessParams) == 0x000008, "Wrong alignment on FExchangeAccessParams");
static_assert(sizeof(FExchangeAccessParams) == 0x000040, "Wrong size on FExchangeAccessParams");
static_assert(offsetof(FExchangeAccessParams, EntitlementId) == 0x000000, "Member 'FExchangeAccessParams::EntitlementId' has a wrong offset!");
static_assert(offsetof(FExchangeAccessParams, ReceiptId) == 0x000010, "Member 'FExchangeAccessParams::ReceiptId' has a wrong offset!");
static_assert(offsetof(FExchangeAccessParams, VendorReceipt) == 0x000020, "Member 'FExchangeAccessParams::VendorReceipt' has a wrong offset!");
static_assert(offsetof(FExchangeAccessParams, AppStore) == 0x000030, "Member 'FExchangeAccessParams::AppStore' has a wrong offset!");
}
@@ -0,0 +1,44 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: ActiveModifierItemHUD
#include "Basic.hpp"
#include "CommonUI_classes.hpp"
namespace SDK
{
// WidgetBlueprintGeneratedClass ActiveModifierItemHUD.ActiveModifierItemHUD_C
// 0x0008 (0x0218 - 0x0210)
class UActiveModifierItemHUD_C final : public UCommonUserWidget
{
public:
class UImage* ImageModifier; // 0x0210(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
public:
void AssignIcon(const struct FSlateBrush& inIconSlateBrush);
public:
static class UClass* StaticClass()
{
return StaticBPGeneratedClassImpl<"ActiveModifierItemHUD_C">();
}
static class UActiveModifierItemHUD_C* GetDefaultObj()
{
return GetDefaultObjImpl<UActiveModifierItemHUD_C>();
}
};
static_assert(alignof(UActiveModifierItemHUD_C) == 0x000008, "Wrong alignment on UActiveModifierItemHUD_C");
static_assert(sizeof(UActiveModifierItemHUD_C) == 0x000218, "Wrong size on UActiveModifierItemHUD_C");
static_assert(offsetof(UActiveModifierItemHUD_C, ImageModifier) == 0x000210, "Member 'UActiveModifierItemHUD_C::ImageModifier' has a wrong offset!");
}
@@ -0,0 +1,40 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: ActiveModifierItemHUD
#include "Basic.hpp"
#include "ActiveModifierItemHUD_classes.hpp"
#include "ActiveModifierItemHUD_parameters.hpp"
namespace SDK
{
// Function ActiveModifierItemHUD.ActiveModifierItemHUD_C.AssignIcon
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// const struct FSlateBrush& inIconSlateBrush (BlueprintVisible, BlueprintReadOnly, Parm)
void UActiveModifierItemHUD_C::AssignIcon(const struct FSlateBrush& inIconSlateBrush)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("ActiveModifierItemHUD_C", "AssignIcon");
Params::ActiveModifierItemHUD_C_AssignIcon Parms{};
Parms.inIconSlateBrush = std::move(inIconSlateBrush);
UObject::ProcessEvent(Func, &Parms);
}
}
@@ -0,0 +1,31 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: ActiveModifierItemHUD
#include "Basic.hpp"
#include "SlateCore_structs.hpp"
namespace SDK::Params
{
// Function ActiveModifierItemHUD.ActiveModifierItemHUD_C.AssignIcon
// 0x0078 (0x0078 - 0x0000)
struct ActiveModifierItemHUD_C_AssignIcon final
{
public:
struct FSlateBrush inIconSlateBrush; // 0x0000(0x0078)(BlueprintVisible, BlueprintReadOnly, Parm)
};
static_assert(alignof(ActiveModifierItemHUD_C_AssignIcon) == 0x000008, "Wrong alignment on ActiveModifierItemHUD_C_AssignIcon");
static_assert(sizeof(ActiveModifierItemHUD_C_AssignIcon) == 0x000078, "Wrong size on ActiveModifierItemHUD_C_AssignIcon");
static_assert(offsetof(ActiveModifierItemHUD_C_AssignIcon, inIconSlateBrush) == 0x000000, "Member 'ActiveModifierItemHUD_C_AssignIcon::inIconSlateBrush' has a wrong offset!");
}
@@ -0,0 +1,54 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: ActiveModifiersHUD
#include "Basic.hpp"
#include "Engine_structs.hpp"
#include "FortniteUI_classes.hpp"
namespace SDK
{
// WidgetBlueprintGeneratedClass ActiveModifiersHUD.ActiveModifiersHUD_C
// 0x0030 (0x0268 - 0x0238)
class UActiveModifiersHUD_C final : public UFortHUDElementWidget
{
public:
struct FPointerToUberGraphFrame UberGraphFrame; // 0x0238(0x0008)(Transient, DuplicateTransient)
class UHorizontalBox* HboxModifierStack; // 0x0240(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
TArray<struct FTimerHandle> Timers; // 0x0248(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance)
TArray<class UMissionDetailsModifierRow_C*> ModifierRows; // 0x0258(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance)
public:
void ExecuteUbergraph_ActiveModifiersHUD(int32 EntryPoint);
void Construct();
void OnActiveGameplayModifiersChanged(const TArray<class UFortGameplayModifierItemDefinition*>& AppliedModifiers);
void PopulateModifiers(TArray<class UFortGameplayModifierItemDefinition*>& inModifiers);
public:
static class UClass* StaticClass()
{
return StaticBPGeneratedClassImpl<"ActiveModifiersHUD_C">();
}
static class UActiveModifiersHUD_C* GetDefaultObj()
{
return GetDefaultObjImpl<UActiveModifiersHUD_C>();
}
};
static_assert(alignof(UActiveModifiersHUD_C) == 0x000008, "Wrong alignment on UActiveModifiersHUD_C");
static_assert(sizeof(UActiveModifiersHUD_C) == 0x000268, "Wrong size on UActiveModifiersHUD_C");
static_assert(offsetof(UActiveModifiersHUD_C, UberGraphFrame) == 0x000238, "Member 'UActiveModifiersHUD_C::UberGraphFrame' has a wrong offset!");
static_assert(offsetof(UActiveModifiersHUD_C, HboxModifierStack) == 0x000240, "Member 'UActiveModifiersHUD_C::HboxModifierStack' has a wrong offset!");
static_assert(offsetof(UActiveModifiersHUD_C, Timers) == 0x000248, "Member 'UActiveModifiersHUD_C::Timers' has a wrong offset!");
static_assert(offsetof(UActiveModifiersHUD_C, ModifierRows) == 0x000258, "Member 'UActiveModifiersHUD_C::ModifierRows' has a wrong offset!");
}
@@ -0,0 +1,96 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: ActiveModifiersHUD
#include "Basic.hpp"
#include "ActiveModifiersHUD_classes.hpp"
#include "ActiveModifiersHUD_parameters.hpp"
namespace SDK
{
// Function ActiveModifiersHUD.ActiveModifiersHUD_C.ExecuteUbergraph_ActiveModifiersHUD
// ()
// Parameters:
// int32 EntryPoint (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UActiveModifiersHUD_C::ExecuteUbergraph_ActiveModifiersHUD(int32 EntryPoint)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("ActiveModifiersHUD_C", "ExecuteUbergraph_ActiveModifiersHUD");
Params::ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD Parms{};
Parms.EntryPoint = EntryPoint;
UObject::ProcessEvent(Func, &Parms);
}
// Function ActiveModifiersHUD.ActiveModifiersHUD_C.Construct
// (BlueprintCosmetic, Event, Public, BlueprintEvent)
void UActiveModifiersHUD_C::Construct()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("ActiveModifiersHUD_C", "Construct");
UObject::ProcessEvent(Func, nullptr);
}
// Function ActiveModifiersHUD.ActiveModifiersHUD_C.OnActiveGameplayModifiersChanged
// (HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// const TArray<class UFortGameplayModifierItemDefinition*>&AppliedModifiers (ConstParm, BlueprintVisible, BlueprintReadOnly, Parm, OutParm, ZeroConstructor, ReferenceParm)
void UActiveModifiersHUD_C::OnActiveGameplayModifiersChanged(const TArray<class UFortGameplayModifierItemDefinition*>& AppliedModifiers)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("ActiveModifiersHUD_C", "OnActiveGameplayModifiersChanged");
Params::ActiveModifiersHUD_C_OnActiveGameplayModifiersChanged Parms{};
Parms.AppliedModifiers = std::move(AppliedModifiers);
UObject::ProcessEvent(Func, &Parms);
}
// Function ActiveModifiersHUD.ActiveModifiersHUD_C.PopulateModifiers
// (Public, HasOutParams, HasDefaults, BlueprintCallable, BlueprintEvent)
// Parameters:
// TArray<class UFortGameplayModifierItemDefinition*>&inModifiers (BlueprintVisible, BlueprintReadOnly, Parm, OutParm, ZeroConstructor, ReferenceParm)
void UActiveModifiersHUD_C::PopulateModifiers(TArray<class UFortGameplayModifierItemDefinition*>& inModifiers)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("ActiveModifiersHUD_C", "PopulateModifiers");
Params::ActiveModifiersHUD_C_PopulateModifiers Parms{};
Parms.inModifiers = std::move(inModifiers);
UObject::ProcessEvent(Func, &Parms);
inModifiers = std::move(Parms.inModifiers);
}
}
@@ -0,0 +1,101 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: ActiveModifiersHUD
#include "Basic.hpp"
#include "SlateCore_structs.hpp"
namespace SDK::Params
{
// Function ActiveModifiersHUD.ActiveModifiersHUD_C.ExecuteUbergraph_ActiveModifiersHUD
// 0x0058 (0x0058 - 0x0000)
struct ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD final
{
public:
int32 EntryPoint; // 0x0000(0x0004)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_4[0x4]; // 0x0004(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
TDelegate<void(const TArray<class UFortGameplayModifierItemDefinition*>& AppliedModifiers)> K2Node_CreateDelegate_OutputDelegate; // 0x0008(0x0010)(ZeroConstructor, NoDestructor)
class UFortHUDContext* CallFunc_GetContext_ReturnValue; // 0x0018(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
TArray<class UFortGameplayModifierItemDefinition*> K2Node_CustomEvent_AppliedModifiers; // 0x0020(0x0010)(ConstParm, ZeroConstructor, ReferenceParm)
class AGameStateBase* CallFunc_GetGameState_ReturnValue; // 0x0030(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class AFortGameStateZone* K2Node_DynamicCast_AsFort_Game_State_Zone; // 0x0038(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess; // 0x0040(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_41[0x7]; // 0x0041(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
TArray<class UFortGameplayModifierItemDefinition*> CallFunc_GetActiveModifiers_OutActiveModifiers; // 0x0048(0x0010)(ZeroConstructor, ReferenceParm)
};
static_assert(alignof(ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD) == 0x000008, "Wrong alignment on ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD");
static_assert(sizeof(ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD) == 0x000058, "Wrong size on ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD");
static_assert(offsetof(ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD, EntryPoint) == 0x000000, "Member 'ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD::EntryPoint' has a wrong offset!");
static_assert(offsetof(ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD, K2Node_CreateDelegate_OutputDelegate) == 0x000008, "Member 'ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD::K2Node_CreateDelegate_OutputDelegate' has a wrong offset!");
static_assert(offsetof(ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD, CallFunc_GetContext_ReturnValue) == 0x000018, "Member 'ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD::CallFunc_GetContext_ReturnValue' has a wrong offset!");
static_assert(offsetof(ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD, K2Node_CustomEvent_AppliedModifiers) == 0x000020, "Member 'ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD::K2Node_CustomEvent_AppliedModifiers' has a wrong offset!");
static_assert(offsetof(ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD, CallFunc_GetGameState_ReturnValue) == 0x000030, "Member 'ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD::CallFunc_GetGameState_ReturnValue' has a wrong offset!");
static_assert(offsetof(ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD, K2Node_DynamicCast_AsFort_Game_State_Zone) == 0x000038, "Member 'ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD::K2Node_DynamicCast_AsFort_Game_State_Zone' has a wrong offset!");
static_assert(offsetof(ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD, K2Node_DynamicCast_bSuccess) == 0x000040, "Member 'ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD::K2Node_DynamicCast_bSuccess' has a wrong offset!");
static_assert(offsetof(ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD, CallFunc_GetActiveModifiers_OutActiveModifiers) == 0x000048, "Member 'ActiveModifiersHUD_C_ExecuteUbergraph_ActiveModifiersHUD::CallFunc_GetActiveModifiers_OutActiveModifiers' has a wrong offset!");
// Function ActiveModifiersHUD.ActiveModifiersHUD_C.OnActiveGameplayModifiersChanged
// 0x0010 (0x0010 - 0x0000)
struct ActiveModifiersHUD_C_OnActiveGameplayModifiersChanged final
{
public:
TArray<class UFortGameplayModifierItemDefinition*> AppliedModifiers; // 0x0000(0x0010)(ConstParm, BlueprintVisible, BlueprintReadOnly, Parm, OutParm, ZeroConstructor, ReferenceParm)
};
static_assert(alignof(ActiveModifiersHUD_C_OnActiveGameplayModifiersChanged) == 0x000008, "Wrong alignment on ActiveModifiersHUD_C_OnActiveGameplayModifiersChanged");
static_assert(sizeof(ActiveModifiersHUD_C_OnActiveGameplayModifiersChanged) == 0x000010, "Wrong size on ActiveModifiersHUD_C_OnActiveGameplayModifiersChanged");
static_assert(offsetof(ActiveModifiersHUD_C_OnActiveGameplayModifiersChanged, AppliedModifiers) == 0x000000, "Member 'ActiveModifiersHUD_C_OnActiveGameplayModifiersChanged::AppliedModifiers' has a wrong offset!");
// Function ActiveModifiersHUD.ActiveModifiersHUD_C.PopulateModifiers
// 0x00F0 (0x00F0 - 0x0000)
struct ActiveModifiersHUD_C_PopulateModifiers final
{
public:
TArray<class UFortGameplayModifierItemDefinition*> inModifiers; // 0x0000(0x0010)(BlueprintVisible, BlueprintReadOnly, Parm, OutParm, ZeroConstructor, ReferenceParm)
float AnimationDuration; // 0x0010(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_14[0x4]; // 0x0014(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
class UClass* DescriptionTextStyle; // 0x0018(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UClass* NameTextStyle; // 0x0020(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
int32 Temp_int_Array_Index_Variable; // 0x0028(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
int32 Temp_int_Loop_Counter_Variable; // 0x002C(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
int32 CallFunc_Add_IntInt_ReturnValue; // 0x0030(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
struct FMargin K2Node_MakeStruct_Margin; // 0x0034(0x0010)(IsPlainOldData, NoDestructor)
uint8 Pad_44[0x4]; // 0x0044(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
class APlayerController* CallFunc_GetOwningPlayer_ReturnValue; // 0x0048(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UActiveModifierItemHUD_C* CallFunc_Create_ReturnValue; // 0x0050(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UFortGameplayModifierItemDefinition* CallFunc_Array_Get_Item; // 0x0058(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
int32 CallFunc_Array_Length_ReturnValue; // 0x0060(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_64[0x4]; // 0x0064(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
struct FSlateBrush CallFunc_GetSmallPreviewImageBrush_ReturnValue; // 0x0068(0x0078)()
bool CallFunc_Less_IntInt_ReturnValue; // 0x00E0(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_E1[0x7]; // 0x00E1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class UHorizontalBoxSlot* CallFunc_AddChildToHorizontalBox_ReturnValue; // 0x00E8(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(ActiveModifiersHUD_C_PopulateModifiers) == 0x000008, "Wrong alignment on ActiveModifiersHUD_C_PopulateModifiers");
static_assert(sizeof(ActiveModifiersHUD_C_PopulateModifiers) == 0x0000F0, "Wrong size on ActiveModifiersHUD_C_PopulateModifiers");
static_assert(offsetof(ActiveModifiersHUD_C_PopulateModifiers, inModifiers) == 0x000000, "Member 'ActiveModifiersHUD_C_PopulateModifiers::inModifiers' has a wrong offset!");
static_assert(offsetof(ActiveModifiersHUD_C_PopulateModifiers, AnimationDuration) == 0x000010, "Member 'ActiveModifiersHUD_C_PopulateModifiers::AnimationDuration' has a wrong offset!");
static_assert(offsetof(ActiveModifiersHUD_C_PopulateModifiers, DescriptionTextStyle) == 0x000018, "Member 'ActiveModifiersHUD_C_PopulateModifiers::DescriptionTextStyle' has a wrong offset!");
static_assert(offsetof(ActiveModifiersHUD_C_PopulateModifiers, NameTextStyle) == 0x000020, "Member 'ActiveModifiersHUD_C_PopulateModifiers::NameTextStyle' has a wrong offset!");
static_assert(offsetof(ActiveModifiersHUD_C_PopulateModifiers, Temp_int_Array_Index_Variable) == 0x000028, "Member 'ActiveModifiersHUD_C_PopulateModifiers::Temp_int_Array_Index_Variable' has a wrong offset!");
static_assert(offsetof(ActiveModifiersHUD_C_PopulateModifiers, Temp_int_Loop_Counter_Variable) == 0x00002C, "Member 'ActiveModifiersHUD_C_PopulateModifiers::Temp_int_Loop_Counter_Variable' has a wrong offset!");
static_assert(offsetof(ActiveModifiersHUD_C_PopulateModifiers, CallFunc_Add_IntInt_ReturnValue) == 0x000030, "Member 'ActiveModifiersHUD_C_PopulateModifiers::CallFunc_Add_IntInt_ReturnValue' has a wrong offset!");
static_assert(offsetof(ActiveModifiersHUD_C_PopulateModifiers, K2Node_MakeStruct_Margin) == 0x000034, "Member 'ActiveModifiersHUD_C_PopulateModifiers::K2Node_MakeStruct_Margin' has a wrong offset!");
static_assert(offsetof(ActiveModifiersHUD_C_PopulateModifiers, CallFunc_GetOwningPlayer_ReturnValue) == 0x000048, "Member 'ActiveModifiersHUD_C_PopulateModifiers::CallFunc_GetOwningPlayer_ReturnValue' has a wrong offset!");
static_assert(offsetof(ActiveModifiersHUD_C_PopulateModifiers, CallFunc_Create_ReturnValue) == 0x000050, "Member 'ActiveModifiersHUD_C_PopulateModifiers::CallFunc_Create_ReturnValue' has a wrong offset!");
static_assert(offsetof(ActiveModifiersHUD_C_PopulateModifiers, CallFunc_Array_Get_Item) == 0x000058, "Member 'ActiveModifiersHUD_C_PopulateModifiers::CallFunc_Array_Get_Item' has a wrong offset!");
static_assert(offsetof(ActiveModifiersHUD_C_PopulateModifiers, CallFunc_Array_Length_ReturnValue) == 0x000060, "Member 'ActiveModifiersHUD_C_PopulateModifiers::CallFunc_Array_Length_ReturnValue' has a wrong offset!");
static_assert(offsetof(ActiveModifiersHUD_C_PopulateModifiers, CallFunc_GetSmallPreviewImageBrush_ReturnValue) == 0x000068, "Member 'ActiveModifiersHUD_C_PopulateModifiers::CallFunc_GetSmallPreviewImageBrush_ReturnValue' has a wrong offset!");
static_assert(offsetof(ActiveModifiersHUD_C_PopulateModifiers, CallFunc_Less_IntInt_ReturnValue) == 0x0000E0, "Member 'ActiveModifiersHUD_C_PopulateModifiers::CallFunc_Less_IntInt_ReturnValue' has a wrong offset!");
static_assert(offsetof(ActiveModifiersHUD_C_PopulateModifiers, CallFunc_AddChildToHorizontalBox_ReturnValue) == 0x0000E8, "Member 'ActiveModifiersHUD_C_PopulateModifiers::CallFunc_AddChildToHorizontalBox_ReturnValue' has a wrong offset!");
}
@@ -0,0 +1,46 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: ActiveModifiersPanelContent
#include "Basic.hpp"
#include "CommonUI_classes.hpp"
namespace SDK
{
// WidgetBlueprintGeneratedClass ActiveModifiersPanelContent.ActiveModifiersPanelContent_C
// 0x0010 (0x0220 - 0x0210)
class UActiveModifiersPanelContent_C final : public UCommonUserWidget
{
public:
class UImage* Image_0; // 0x0210(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UMissionDetailsModifierList_C* MissionDetailsModifierList; // 0x0218(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
public:
void Init(TArray<class UFortGameplayModifierItemDefinition*>& inModifiers);
public:
static class UClass* StaticClass()
{
return StaticBPGeneratedClassImpl<"ActiveModifiersPanelContent_C">();
}
static class UActiveModifiersPanelContent_C* GetDefaultObj()
{
return GetDefaultObjImpl<UActiveModifiersPanelContent_C>();
}
};
static_assert(alignof(UActiveModifiersPanelContent_C) == 0x000008, "Wrong alignment on UActiveModifiersPanelContent_C");
static_assert(sizeof(UActiveModifiersPanelContent_C) == 0x000220, "Wrong size on UActiveModifiersPanelContent_C");
static_assert(offsetof(UActiveModifiersPanelContent_C, Image_0) == 0x000210, "Member 'UActiveModifiersPanelContent_C::Image_0' has a wrong offset!");
static_assert(offsetof(UActiveModifiersPanelContent_C, MissionDetailsModifierList) == 0x000218, "Member 'UActiveModifiersPanelContent_C::MissionDetailsModifierList' has a wrong offset!");
}
@@ -0,0 +1,42 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: ActiveModifiersPanelContent
#include "Basic.hpp"
#include "ActiveModifiersPanelContent_classes.hpp"
#include "ActiveModifiersPanelContent_parameters.hpp"
namespace SDK
{
// Function ActiveModifiersPanelContent.ActiveModifiersPanelContent_C.Init
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// TArray<class UFortGameplayModifierItemDefinition*>&inModifiers (BlueprintVisible, BlueprintReadOnly, Parm, OutParm, ZeroConstructor, ReferenceParm)
void UActiveModifiersPanelContent_C::Init(TArray<class UFortGameplayModifierItemDefinition*>& inModifiers)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("ActiveModifiersPanelContent_C", "Init");
Params::ActiveModifiersPanelContent_C_Init Parms{};
Parms.inModifiers = std::move(inModifiers);
UObject::ProcessEvent(Func, &Parms);
inModifiers = std::move(Parms.inModifiers);
}
}
@@ -0,0 +1,29 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: ActiveModifiersPanelContent
#include "Basic.hpp"
namespace SDK::Params
{
// Function ActiveModifiersPanelContent.ActiveModifiersPanelContent_C.Init
// 0x0010 (0x0010 - 0x0000)
struct ActiveModifiersPanelContent_C_Init final
{
public:
TArray<class UFortGameplayModifierItemDefinition*> inModifiers; // 0x0000(0x0010)(BlueprintVisible, BlueprintReadOnly, Parm, OutParm, ZeroConstructor, ReferenceParm)
};
static_assert(alignof(ActiveModifiersPanelContent_C_Init) == 0x000008, "Wrong alignment on ActiveModifiersPanelContent_C_Init");
static_assert(sizeof(ActiveModifiersPanelContent_C_Init) == 0x000010, "Wrong size on ActiveModifiersPanelContent_C_Init");
static_assert(offsetof(ActiveModifiersPanelContent_C_Init, inModifiers) == 0x000000, "Member 'ActiveModifiersPanelContent_C_Init::inModifiers' has a wrong offset!");
}
@@ -0,0 +1,41 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AdditionalEntriesIndicator
#include "Basic.hpp"
#include "CommonUI_classes.hpp"
namespace SDK
{
// WidgetBlueprintGeneratedClass AdditionalEntriesIndicator.AdditionalEntriesIndicator_C
// 0x0008 (0x0218 - 0x0210)
class UAdditionalEntriesIndicator_C final : public UCommonUserWidget
{
public:
class UImage* Image_0; // 0x0210(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
public:
static class UClass* StaticClass()
{
return StaticBPGeneratedClassImpl<"AdditionalEntriesIndicator_C">();
}
static class UAdditionalEntriesIndicator_C* GetDefaultObj()
{
return GetDefaultObjImpl<UAdditionalEntriesIndicator_C>();
}
};
static_assert(alignof(UAdditionalEntriesIndicator_C) == 0x000008, "Wrong alignment on UAdditionalEntriesIndicator_C");
static_assert(sizeof(UAdditionalEntriesIndicator_C) == 0x000218, "Wrong size on UAdditionalEntriesIndicator_C");
static_assert(offsetof(UAdditionalEntriesIndicator_C, Image_0) == 0x000210, "Member 'UAdditionalEntriesIndicator_C::Image_0' has a wrong offset!");
}
+128
View File
@@ -0,0 +1,128 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AlterationWidget
#include "Basic.hpp"
#include "UMG_structs.hpp"
#include "Engine_structs.hpp"
#include "FortniteUI_classes.hpp"
#include "FortniteGame_structs.hpp"
namespace SDK
{
// WidgetBlueprintGeneratedClass AlterationWidget.AlterationWidget_C
// 0x0108 (0x0330 - 0x0228)
class UAlterationWidget_C final : public UFortAlterationWidget_NUI
{
public:
struct FPointerToUberGraphFrame UberGraphFrame; // 0x0228(0x0008)(Transient, DuplicateTransient)
class UCommonTextBlock* AlterationDescription; // 0x0230(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonTextBlock* AlterationName; // 0x0238(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonTextBlock* AlterationShortDescription; // 0x0240(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonBorder* EvolutionBorder; // 0x0248(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UImage* Image_0; // 0x0250(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UImage* Image_1; // 0x0258(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UImage* Image_2; // 0x0260(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UImage* Image_6; // 0x0268(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UImage* Image_7; // 0x0270(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UImage* Image_8; // 0x0278(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UImage* Image_22; // 0x0280(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UImage* Image_26; // 0x0288(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UImage* Image_32; // 0x0290(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UImage* ImageAlteration; // 0x0298(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UImage* ImageBackground; // 0x02A0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UImage* ImageLocked; // 0x02A8(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UImage* ImageLockPerk; // 0x02B0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonWidgetSwitcher* InfoSwitcher; // 0x02B8(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonTextBlock* LargeInfo; // 0x02C0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonTextBlock* LevelRequired; // 0x02C8(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonTextBlock* LevelText; // 0x02D0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UHorizontalBox* LockedBox; // 0x02D8(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonWidgetSwitcher* LockedRaritySwitcher; // 0x02E0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UWidgetSwitcher* PrimarySwitcher; // 0x02E8(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonWidgetSwitcher* RaritySwitcher; // 0x02F0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UScaleBox* ScaleBoxIcon; // 0x02F8(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UVerticalBox* SmallInfo; // 0x0300(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonWidgetSwitcher* UnlockedRaritySwitcher; // 0x0308(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
bool bIncludeName; // 0x0310(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn)
bool bIncludeShortDescription; // 0x0311(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn)
bool bIncludeDescription; // 0x0312(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn)
EFortBrushSize IconSize; // 0x0313(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn, HasGetValueTypeHash)
bool bUseLargeFormatName; // 0x0314(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn)
uint8 Pad_315[0x3]; // 0x0315(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
class UClass* Locked_Description_Style; // 0x0318(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UClass* Locked_Text_Style; // 0x0320(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool ShouldShowRarity; // 0x0328(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn)
public:
void ExecuteUbergraph_AlterationWidget(int32 EntryPoint);
void Construct();
struct FLinearColor GetHighlightColor();
bool ShouldFadeAlteration();
void InitIcon();
void InitText();
void SetLevelText();
void UpdateRaritySwitcherVisiblity();
void SetEvolutionDetails();
public:
static class UClass* StaticClass()
{
return StaticBPGeneratedClassImpl<"AlterationWidget_C">();
}
static class UAlterationWidget_C* GetDefaultObj()
{
return GetDefaultObjImpl<UAlterationWidget_C>();
}
};
static_assert(alignof(UAlterationWidget_C) == 0x000008, "Wrong alignment on UAlterationWidget_C");
static_assert(sizeof(UAlterationWidget_C) == 0x000330, "Wrong size on UAlterationWidget_C");
static_assert(offsetof(UAlterationWidget_C, UberGraphFrame) == 0x000228, "Member 'UAlterationWidget_C::UberGraphFrame' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, AlterationDescription) == 0x000230, "Member 'UAlterationWidget_C::AlterationDescription' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, AlterationName) == 0x000238, "Member 'UAlterationWidget_C::AlterationName' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, AlterationShortDescription) == 0x000240, "Member 'UAlterationWidget_C::AlterationShortDescription' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, EvolutionBorder) == 0x000248, "Member 'UAlterationWidget_C::EvolutionBorder' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, Image_0) == 0x000250, "Member 'UAlterationWidget_C::Image_0' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, Image_1) == 0x000258, "Member 'UAlterationWidget_C::Image_1' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, Image_2) == 0x000260, "Member 'UAlterationWidget_C::Image_2' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, Image_6) == 0x000268, "Member 'UAlterationWidget_C::Image_6' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, Image_7) == 0x000270, "Member 'UAlterationWidget_C::Image_7' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, Image_8) == 0x000278, "Member 'UAlterationWidget_C::Image_8' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, Image_22) == 0x000280, "Member 'UAlterationWidget_C::Image_22' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, Image_26) == 0x000288, "Member 'UAlterationWidget_C::Image_26' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, Image_32) == 0x000290, "Member 'UAlterationWidget_C::Image_32' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, ImageAlteration) == 0x000298, "Member 'UAlterationWidget_C::ImageAlteration' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, ImageBackground) == 0x0002A0, "Member 'UAlterationWidget_C::ImageBackground' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, ImageLocked) == 0x0002A8, "Member 'UAlterationWidget_C::ImageLocked' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, ImageLockPerk) == 0x0002B0, "Member 'UAlterationWidget_C::ImageLockPerk' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, InfoSwitcher) == 0x0002B8, "Member 'UAlterationWidget_C::InfoSwitcher' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, LargeInfo) == 0x0002C0, "Member 'UAlterationWidget_C::LargeInfo' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, LevelRequired) == 0x0002C8, "Member 'UAlterationWidget_C::LevelRequired' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, LevelText) == 0x0002D0, "Member 'UAlterationWidget_C::LevelText' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, LockedBox) == 0x0002D8, "Member 'UAlterationWidget_C::LockedBox' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, LockedRaritySwitcher) == 0x0002E0, "Member 'UAlterationWidget_C::LockedRaritySwitcher' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, PrimarySwitcher) == 0x0002E8, "Member 'UAlterationWidget_C::PrimarySwitcher' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, RaritySwitcher) == 0x0002F0, "Member 'UAlterationWidget_C::RaritySwitcher' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, ScaleBoxIcon) == 0x0002F8, "Member 'UAlterationWidget_C::ScaleBoxIcon' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, SmallInfo) == 0x000300, "Member 'UAlterationWidget_C::SmallInfo' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, UnlockedRaritySwitcher) == 0x000308, "Member 'UAlterationWidget_C::UnlockedRaritySwitcher' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, bIncludeName) == 0x000310, "Member 'UAlterationWidget_C::bIncludeName' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, bIncludeShortDescription) == 0x000311, "Member 'UAlterationWidget_C::bIncludeShortDescription' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, bIncludeDescription) == 0x000312, "Member 'UAlterationWidget_C::bIncludeDescription' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, IconSize) == 0x000313, "Member 'UAlterationWidget_C::IconSize' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, bUseLargeFormatName) == 0x000314, "Member 'UAlterationWidget_C::bUseLargeFormatName' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, Locked_Description_Style) == 0x000318, "Member 'UAlterationWidget_C::Locked_Description_Style' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, Locked_Text_Style) == 0x000320, "Member 'UAlterationWidget_C::Locked_Text_Style' has a wrong offset!");
static_assert(offsetof(UAlterationWidget_C, ShouldShowRarity) == 0x000328, "Member 'UAlterationWidget_C::ShouldShowRarity' has a wrong offset!");
}
+164
View File
@@ -0,0 +1,164 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AlterationWidget
#include "Basic.hpp"
#include "AlterationWidget_classes.hpp"
#include "AlterationWidget_parameters.hpp"
namespace SDK
{
// Function AlterationWidget.AlterationWidget_C.ExecuteUbergraph_AlterationWidget
// (HasDefaults)
// Parameters:
// int32 EntryPoint (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAlterationWidget_C::ExecuteUbergraph_AlterationWidget(int32 EntryPoint)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AlterationWidget_C", "ExecuteUbergraph_AlterationWidget");
Params::AlterationWidget_C_ExecuteUbergraph_AlterationWidget Parms{};
Parms.EntryPoint = EntryPoint;
UObject::ProcessEvent(Func, &Parms);
}
// Function AlterationWidget.AlterationWidget_C.Construct
// (BlueprintCosmetic, Event, Public, BlueprintEvent)
void UAlterationWidget_C::Construct()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AlterationWidget_C", "Construct");
UObject::ProcessEvent(Func, nullptr);
}
// Function AlterationWidget.AlterationWidget_C.GetHighlightColor
// (Public, HasOutParams, HasDefaults, BlueprintCallable, BlueprintEvent, BlueprintPure)
// Parameters:
// struct FLinearColor ReturnValue (Parm, OutParm, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
struct FLinearColor UAlterationWidget_C::GetHighlightColor()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AlterationWidget_C", "GetHighlightColor");
Params::AlterationWidget_C_GetHighlightColor Parms{};
UObject::ProcessEvent(Func, &Parms);
return Parms.ReturnValue;
}
// Function AlterationWidget.AlterationWidget_C.ShouldFadeAlteration
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent, BlueprintPure)
// Parameters:
// bool ReturnValue (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
bool UAlterationWidget_C::ShouldFadeAlteration()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AlterationWidget_C", "ShouldFadeAlteration");
Params::AlterationWidget_C_ShouldFadeAlteration Parms{};
UObject::ProcessEvent(Func, &Parms);
return Parms.ReturnValue;
}
// Function AlterationWidget.AlterationWidget_C.InitIcon
// (Public, HasDefaults, BlueprintCallable, BlueprintEvent)
void UAlterationWidget_C::InitIcon()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AlterationWidget_C", "InitIcon");
UObject::ProcessEvent(Func, nullptr);
}
// Function AlterationWidget.AlterationWidget_C.InitText
// (Public, HasDefaults, BlueprintCallable, BlueprintEvent)
void UAlterationWidget_C::InitText()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AlterationWidget_C", "InitText");
UObject::ProcessEvent(Func, nullptr);
}
// Function AlterationWidget.AlterationWidget_C.SetLevelText
// (Public, HasDefaults, BlueprintCallable, BlueprintEvent)
void UAlterationWidget_C::SetLevelText()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AlterationWidget_C", "SetLevelText");
UObject::ProcessEvent(Func, nullptr);
}
// Function AlterationWidget.AlterationWidget_C.UpdateRaritySwitcherVisiblity
// (Public, BlueprintCallable, BlueprintEvent)
void UAlterationWidget_C::UpdateRaritySwitcherVisiblity()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AlterationWidget_C", "UpdateRaritySwitcherVisiblity");
UObject::ProcessEvent(Func, nullptr);
}
// Function AlterationWidget.AlterationWidget_C.SetEvolutionDetails
// (Public, BlueprintCallable, BlueprintEvent)
void UAlterationWidget_C::SetEvolutionDetails()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AlterationWidget_C", "SetEvolutionDetails");
UObject::ProcessEvent(Func, nullptr);
}
}
@@ -0,0 +1,221 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AlterationWidget
#include "Basic.hpp"
#include "Engine_structs.hpp"
#include "UMG_structs.hpp"
#include "SlateCore_structs.hpp"
#include "CoreUObject_structs.hpp"
namespace SDK::Params
{
// Function AlterationWidget.AlterationWidget_C.ExecuteUbergraph_AlterationWidget
// 0x0018 (0x0018 - 0x0000)
struct AlterationWidget_C_ExecuteUbergraph_AlterationWidget final
{
public:
int32 EntryPoint; // 0x0000(0x0004)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_ShouldFadeAlteration_ReturnValue; // 0x0004(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_5[0x3]; // 0x0005(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
struct FLinearColor K2Node_MakeStruct_LinearColor; // 0x0008(0x0010)(IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AlterationWidget_C_ExecuteUbergraph_AlterationWidget) == 0x000004, "Wrong alignment on AlterationWidget_C_ExecuteUbergraph_AlterationWidget");
static_assert(sizeof(AlterationWidget_C_ExecuteUbergraph_AlterationWidget) == 0x000018, "Wrong size on AlterationWidget_C_ExecuteUbergraph_AlterationWidget");
static_assert(offsetof(AlterationWidget_C_ExecuteUbergraph_AlterationWidget, EntryPoint) == 0x000000, "Member 'AlterationWidget_C_ExecuteUbergraph_AlterationWidget::EntryPoint' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_ExecuteUbergraph_AlterationWidget, CallFunc_ShouldFadeAlteration_ReturnValue) == 0x000004, "Member 'AlterationWidget_C_ExecuteUbergraph_AlterationWidget::CallFunc_ShouldFadeAlteration_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_ExecuteUbergraph_AlterationWidget, K2Node_MakeStruct_LinearColor) == 0x000008, "Member 'AlterationWidget_C_ExecuteUbergraph_AlterationWidget::K2Node_MakeStruct_LinearColor' has a wrong offset!");
// Function AlterationWidget.AlterationWidget_C.GetHighlightColor
// 0x0048 (0x0048 - 0x0000)
struct AlterationWidget_C_GetHighlightColor final
{
public:
struct FLinearColor ReturnValue; // 0x0000(0x0010)(Parm, OutParm, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool Temp_bool_Variable; // 0x0010(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_11[0x3]; // 0x0011(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
struct FLinearColor Temp_struct_Variable; // 0x0014(0x0010)(IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsAlterationHighlighted_ReturnValue; // 0x0024(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_25[0x3]; // 0x0025(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
struct FLinearColor CallFunc_Get_Buff_Color_Color; // 0x0028(0x0010)(IsPlainOldData, NoDestructor, HasGetValueTypeHash)
struct FLinearColor K2Node_Select_Default; // 0x0038(0x0010)(IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AlterationWidget_C_GetHighlightColor) == 0x000004, "Wrong alignment on AlterationWidget_C_GetHighlightColor");
static_assert(sizeof(AlterationWidget_C_GetHighlightColor) == 0x000048, "Wrong size on AlterationWidget_C_GetHighlightColor");
static_assert(offsetof(AlterationWidget_C_GetHighlightColor, ReturnValue) == 0x000000, "Member 'AlterationWidget_C_GetHighlightColor::ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_GetHighlightColor, Temp_bool_Variable) == 0x000010, "Member 'AlterationWidget_C_GetHighlightColor::Temp_bool_Variable' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_GetHighlightColor, Temp_struct_Variable) == 0x000014, "Member 'AlterationWidget_C_GetHighlightColor::Temp_struct_Variable' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_GetHighlightColor, CallFunc_IsAlterationHighlighted_ReturnValue) == 0x000024, "Member 'AlterationWidget_C_GetHighlightColor::CallFunc_IsAlterationHighlighted_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_GetHighlightColor, CallFunc_Get_Buff_Color_Color) == 0x000028, "Member 'AlterationWidget_C_GetHighlightColor::CallFunc_Get_Buff_Color_Color' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_GetHighlightColor, K2Node_Select_Default) == 0x000038, "Member 'AlterationWidget_C_GetHighlightColor::K2Node_Select_Default' has a wrong offset!");
// Function AlterationWidget.AlterationWidget_C.ShouldFadeAlteration
// 0x0006 (0x0006 - 0x0000)
struct AlterationWidget_C_ShouldFadeAlteration final
{
public:
bool ReturnValue; // 0x0000(0x0001)(Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
bool CallFunc_IsAlterationHighlighted_ReturnValue; // 0x0001(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_IsAlterationUnlocked_ReturnValue; // 0x0002(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_Not_PreBool_ReturnValue; // 0x0003(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_Not_PreBool_ReturnValue1; // 0x0004(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_BooleanAND_ReturnValue; // 0x0005(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AlterationWidget_C_ShouldFadeAlteration) == 0x000001, "Wrong alignment on AlterationWidget_C_ShouldFadeAlteration");
static_assert(sizeof(AlterationWidget_C_ShouldFadeAlteration) == 0x000006, "Wrong size on AlterationWidget_C_ShouldFadeAlteration");
static_assert(offsetof(AlterationWidget_C_ShouldFadeAlteration, ReturnValue) == 0x000000, "Member 'AlterationWidget_C_ShouldFadeAlteration::ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_ShouldFadeAlteration, CallFunc_IsAlterationHighlighted_ReturnValue) == 0x000001, "Member 'AlterationWidget_C_ShouldFadeAlteration::CallFunc_IsAlterationHighlighted_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_ShouldFadeAlteration, CallFunc_IsAlterationUnlocked_ReturnValue) == 0x000002, "Member 'AlterationWidget_C_ShouldFadeAlteration::CallFunc_IsAlterationUnlocked_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_ShouldFadeAlteration, CallFunc_Not_PreBool_ReturnValue) == 0x000003, "Member 'AlterationWidget_C_ShouldFadeAlteration::CallFunc_Not_PreBool_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_ShouldFadeAlteration, CallFunc_Not_PreBool_ReturnValue1) == 0x000004, "Member 'AlterationWidget_C_ShouldFadeAlteration::CallFunc_Not_PreBool_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_ShouldFadeAlteration, CallFunc_BooleanAND_ReturnValue) == 0x000005, "Member 'AlterationWidget_C_ShouldFadeAlteration::CallFunc_BooleanAND_ReturnValue' has a wrong offset!");
// Function AlterationWidget.AlterationWidget_C.InitIcon
// 0x0100 (0x0100 - 0x0000)
struct AlterationWidget_C_InitIcon final
{
public:
struct FSlateBrush CallFunc_ResizeBrush_NewParam; // 0x0000(0x0078)()
class UFortAlterationItemDefinition* CallFunc_GetAlterationDefintion_ReturnValue; // 0x0078(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsValid_ReturnValue; // 0x0080(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_81[0x7]; // 0x0081(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
struct FSlateBrush CallFunc_GetItemDefinitionSmallPreviewImageBrush_ReturnValue; // 0x0088(0x0078)()
};
static_assert(alignof(AlterationWidget_C_InitIcon) == 0x000008, "Wrong alignment on AlterationWidget_C_InitIcon");
static_assert(sizeof(AlterationWidget_C_InitIcon) == 0x000100, "Wrong size on AlterationWidget_C_InitIcon");
static_assert(offsetof(AlterationWidget_C_InitIcon, CallFunc_ResizeBrush_NewParam) == 0x000000, "Member 'AlterationWidget_C_InitIcon::CallFunc_ResizeBrush_NewParam' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_InitIcon, CallFunc_GetAlterationDefintion_ReturnValue) == 0x000078, "Member 'AlterationWidget_C_InitIcon::CallFunc_GetAlterationDefintion_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_InitIcon, CallFunc_IsValid_ReturnValue) == 0x000080, "Member 'AlterationWidget_C_InitIcon::CallFunc_IsValid_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_InitIcon, CallFunc_GetItemDefinitionSmallPreviewImageBrush_ReturnValue) == 0x000088, "Member 'AlterationWidget_C_InitIcon::CallFunc_GetItemDefinitionSmallPreviewImageBrush_ReturnValue' has a wrong offset!");
// Function AlterationWidget.AlterationWidget_C.InitText
// 0x0080 (0x0080 - 0x0000)
struct AlterationWidget_C_InitText final
{
public:
class UFortAlterationItemDefinition* CallFunc_GetAlterationDefintion_ReturnValue; // 0x0000(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class FText CallFunc_GetShortDescription_ReturnValue; // 0x0008(0x0018)()
bool CallFunc_ShouldFadeAlteration_ReturnValue; // 0x0020(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_21[0x7]; // 0x0021(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class UFortAlterationItemDefinition* CallFunc_GetAlterationDefintion_ReturnValue1; // 0x0028(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class FText CallFunc_GetSingleLineDescription_ReturnValue; // 0x0030(0x0018)()
class UFortAlterationItemDefinition* CallFunc_GetAlterationDefintion_ReturnValue12; // 0x0048(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class FText CallFunc_GetDisplayName_ReturnValue; // 0x0050(0x0018)()
TScriptInterface<class IFortClientAnnouncement_TutorialInterface> K2Node_DynamicCast_AsFort_Client_Announcement_Tutorial_Interface; // 0x0068(0x0010)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool K2Node_DynamicCast_bSuccess; // 0x0078(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AlterationWidget_C_InitText) == 0x000008, "Wrong alignment on AlterationWidget_C_InitText");
static_assert(sizeof(AlterationWidget_C_InitText) == 0x000080, "Wrong size on AlterationWidget_C_InitText");
static_assert(offsetof(AlterationWidget_C_InitText, CallFunc_GetAlterationDefintion_ReturnValue) == 0x000000, "Member 'AlterationWidget_C_InitText::CallFunc_GetAlterationDefintion_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_InitText, CallFunc_GetShortDescription_ReturnValue) == 0x000008, "Member 'AlterationWidget_C_InitText::CallFunc_GetShortDescription_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_InitText, CallFunc_ShouldFadeAlteration_ReturnValue) == 0x000020, "Member 'AlterationWidget_C_InitText::CallFunc_ShouldFadeAlteration_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_InitText, CallFunc_GetAlterationDefintion_ReturnValue1) == 0x000028, "Member 'AlterationWidget_C_InitText::CallFunc_GetAlterationDefintion_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_InitText, CallFunc_GetSingleLineDescription_ReturnValue) == 0x000030, "Member 'AlterationWidget_C_InitText::CallFunc_GetSingleLineDescription_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_InitText, CallFunc_GetAlterationDefintion_ReturnValue12) == 0x000048, "Member 'AlterationWidget_C_InitText::CallFunc_GetAlterationDefintion_ReturnValue12' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_InitText, CallFunc_GetDisplayName_ReturnValue) == 0x000050, "Member 'AlterationWidget_C_InitText::CallFunc_GetDisplayName_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_InitText, K2Node_DynamicCast_AsFort_Client_Announcement_Tutorial_Interface) == 0x000068, "Member 'AlterationWidget_C_InitText::K2Node_DynamicCast_AsFort_Client_Announcement_Tutorial_Interface' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_InitText, K2Node_DynamicCast_bSuccess) == 0x000078, "Member 'AlterationWidget_C_InitText::K2Node_DynamicCast_bSuccess' has a wrong offset!");
// Function AlterationWidget.AlterationWidget_C.SetLevelText
// 0x0130 (0x0130 - 0x0000)
struct AlterationWidget_C_SetLevelText final
{
public:
bool Temp_bool_Variable; // 0x0000(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
ESlateVisibility Temp_byte_Variable; // 0x0001(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
ESlateVisibility Temp_byte_Variable1; // 0x0002(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool Temp_bool_Variable1; // 0x0003(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_4[0x4]; // 0x0004(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
struct FSlateColor K2Node_MakeStruct_SlateColor; // 0x0008(0x0028)()
bool CallFunc_IsAlterationHighlighted_ReturnValue; // 0x0030(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_31[0x3]; // 0x0031(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
struct FLinearColor CallFunc_GetHighlightColor_ReturnValue; // 0x0034(0x0010)(IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_44[0x4]; // 0x0044(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
struct FSlateColor K2Node_MakeStruct_SlateColor1; // 0x0048(0x0028)()
int32 CallFunc_GetRequiredLevel_ReturnValue; // 0x0070(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_74[0x4]; // 0x0074(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
struct FSlateColor K2Node_Select_Default; // 0x0078(0x0028)()
struct FFormatArgumentData K2Node_MakeStruct_FormatArgumentData; // 0x00A0(0x0040)(HasGetValueTypeHash)
TArray<struct FFormatArgumentData> K2Node_MakeArray_Array; // 0x00E0(0x0010)(ZeroConstructor, ReferenceParm)
bool CallFunc_EqualEqual_IntInt_ReturnValue; // 0x00F0(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_F1[0x7]; // 0x00F1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class FText CallFunc_Format_ReturnValue; // 0x00F8(0x0018)()
ESlateVisibility K2Node_Select1_Default; // 0x0110(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_111[0x7]; // 0x0111(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class FText CallFunc_Conv_IntToText_ReturnValue; // 0x0118(0x0018)()
};
static_assert(alignof(AlterationWidget_C_SetLevelText) == 0x000008, "Wrong alignment on AlterationWidget_C_SetLevelText");
static_assert(sizeof(AlterationWidget_C_SetLevelText) == 0x000130, "Wrong size on AlterationWidget_C_SetLevelText");
static_assert(offsetof(AlterationWidget_C_SetLevelText, Temp_bool_Variable) == 0x000000, "Member 'AlterationWidget_C_SetLevelText::Temp_bool_Variable' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_SetLevelText, Temp_byte_Variable) == 0x000001, "Member 'AlterationWidget_C_SetLevelText::Temp_byte_Variable' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_SetLevelText, Temp_byte_Variable1) == 0x000002, "Member 'AlterationWidget_C_SetLevelText::Temp_byte_Variable1' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_SetLevelText, Temp_bool_Variable1) == 0x000003, "Member 'AlterationWidget_C_SetLevelText::Temp_bool_Variable1' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_SetLevelText, K2Node_MakeStruct_SlateColor) == 0x000008, "Member 'AlterationWidget_C_SetLevelText::K2Node_MakeStruct_SlateColor' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_SetLevelText, CallFunc_IsAlterationHighlighted_ReturnValue) == 0x000030, "Member 'AlterationWidget_C_SetLevelText::CallFunc_IsAlterationHighlighted_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_SetLevelText, CallFunc_GetHighlightColor_ReturnValue) == 0x000034, "Member 'AlterationWidget_C_SetLevelText::CallFunc_GetHighlightColor_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_SetLevelText, K2Node_MakeStruct_SlateColor1) == 0x000048, "Member 'AlterationWidget_C_SetLevelText::K2Node_MakeStruct_SlateColor1' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_SetLevelText, CallFunc_GetRequiredLevel_ReturnValue) == 0x000070, "Member 'AlterationWidget_C_SetLevelText::CallFunc_GetRequiredLevel_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_SetLevelText, K2Node_Select_Default) == 0x000078, "Member 'AlterationWidget_C_SetLevelText::K2Node_Select_Default' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_SetLevelText, K2Node_MakeStruct_FormatArgumentData) == 0x0000A0, "Member 'AlterationWidget_C_SetLevelText::K2Node_MakeStruct_FormatArgumentData' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_SetLevelText, K2Node_MakeArray_Array) == 0x0000E0, "Member 'AlterationWidget_C_SetLevelText::K2Node_MakeArray_Array' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_SetLevelText, CallFunc_EqualEqual_IntInt_ReturnValue) == 0x0000F0, "Member 'AlterationWidget_C_SetLevelText::CallFunc_EqualEqual_IntInt_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_SetLevelText, CallFunc_Format_ReturnValue) == 0x0000F8, "Member 'AlterationWidget_C_SetLevelText::CallFunc_Format_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_SetLevelText, K2Node_Select1_Default) == 0x000110, "Member 'AlterationWidget_C_SetLevelText::K2Node_Select1_Default' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_SetLevelText, CallFunc_Conv_IntToText_ReturnValue) == 0x000118, "Member 'AlterationWidget_C_SetLevelText::CallFunc_Conv_IntToText_ReturnValue' has a wrong offset!");
// Function AlterationWidget.AlterationWidget_C.UpdateRaritySwitcherVisiblity
// 0x0018 (0x0018 - 0x0000)
struct AlterationWidget_C_UpdateRaritySwitcherVisiblity final
{
public:
bool Temp_bool_Variable; // 0x0000(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
ESlateVisibility Temp_byte_Variable; // 0x0001(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
ESlateVisibility Temp_byte_Variable1; // 0x0002(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
ESlateVisibility K2Node_Select_Default; // 0x0003(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
int32 CallFunc_Conv_ByteToInt_ReturnValue; // 0x0004(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsAlterationUnlocked_ReturnValue; // 0x0008(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool Temp_bool_Variable1; // 0x0009(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_A[0x6]; // 0x000A(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
class UWidget* K2Node_Select1_Default; // 0x0010(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AlterationWidget_C_UpdateRaritySwitcherVisiblity) == 0x000008, "Wrong alignment on AlterationWidget_C_UpdateRaritySwitcherVisiblity");
static_assert(sizeof(AlterationWidget_C_UpdateRaritySwitcherVisiblity) == 0x000018, "Wrong size on AlterationWidget_C_UpdateRaritySwitcherVisiblity");
static_assert(offsetof(AlterationWidget_C_UpdateRaritySwitcherVisiblity, Temp_bool_Variable) == 0x000000, "Member 'AlterationWidget_C_UpdateRaritySwitcherVisiblity::Temp_bool_Variable' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_UpdateRaritySwitcherVisiblity, Temp_byte_Variable) == 0x000001, "Member 'AlterationWidget_C_UpdateRaritySwitcherVisiblity::Temp_byte_Variable' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_UpdateRaritySwitcherVisiblity, Temp_byte_Variable1) == 0x000002, "Member 'AlterationWidget_C_UpdateRaritySwitcherVisiblity::Temp_byte_Variable1' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_UpdateRaritySwitcherVisiblity, K2Node_Select_Default) == 0x000003, "Member 'AlterationWidget_C_UpdateRaritySwitcherVisiblity::K2Node_Select_Default' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_UpdateRaritySwitcherVisiblity, CallFunc_Conv_ByteToInt_ReturnValue) == 0x000004, "Member 'AlterationWidget_C_UpdateRaritySwitcherVisiblity::CallFunc_Conv_ByteToInt_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_UpdateRaritySwitcherVisiblity, CallFunc_IsAlterationUnlocked_ReturnValue) == 0x000008, "Member 'AlterationWidget_C_UpdateRaritySwitcherVisiblity::CallFunc_IsAlterationUnlocked_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_UpdateRaritySwitcherVisiblity, Temp_bool_Variable1) == 0x000009, "Member 'AlterationWidget_C_UpdateRaritySwitcherVisiblity::Temp_bool_Variable1' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_UpdateRaritySwitcherVisiblity, K2Node_Select1_Default) == 0x000010, "Member 'AlterationWidget_C_UpdateRaritySwitcherVisiblity::K2Node_Select1_Default' has a wrong offset!");
// Function AlterationWidget.AlterationWidget_C.SetEvolutionDetails
// 0x0005 (0x0005 - 0x0000)
struct AlterationWidget_C_SetEvolutionDetails final
{
public:
bool Temp_bool_Variable; // 0x0000(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
ESlateVisibility Temp_byte_Variable; // 0x0001(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
ESlateVisibility Temp_byte_Variable1; // 0x0002(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsAlterationHighlighted_ReturnValue; // 0x0003(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
ESlateVisibility K2Node_Select_Default; // 0x0004(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AlterationWidget_C_SetEvolutionDetails) == 0x000001, "Wrong alignment on AlterationWidget_C_SetEvolutionDetails");
static_assert(sizeof(AlterationWidget_C_SetEvolutionDetails) == 0x000005, "Wrong size on AlterationWidget_C_SetEvolutionDetails");
static_assert(offsetof(AlterationWidget_C_SetEvolutionDetails, Temp_bool_Variable) == 0x000000, "Member 'AlterationWidget_C_SetEvolutionDetails::Temp_bool_Variable' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_SetEvolutionDetails, Temp_byte_Variable) == 0x000001, "Member 'AlterationWidget_C_SetEvolutionDetails::Temp_byte_Variable' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_SetEvolutionDetails, Temp_byte_Variable1) == 0x000002, "Member 'AlterationWidget_C_SetEvolutionDetails::Temp_byte_Variable1' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_SetEvolutionDetails, CallFunc_IsAlterationHighlighted_ReturnValue) == 0x000003, "Member 'AlterationWidget_C_SetEvolutionDetails::CallFunc_IsAlterationHighlighted_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationWidget_C_SetEvolutionDetails, K2Node_Select_Default) == 0x000004, "Member 'AlterationWidget_C_SetEvolutionDetails::K2Node_Select_Default' has a wrong offset!");
}
@@ -0,0 +1,97 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AlterationsWidget
#include "Basic.hpp"
#include "SlateCore_structs.hpp"
#include "Engine_structs.hpp"
#include "FortniteUI_classes.hpp"
#include "FortniteGame_structs.hpp"
namespace SDK
{
// WidgetBlueprintGeneratedClass AlterationsWidget.AlterationsWidget_C
// 0x0098 (0x02D8 - 0x0240)
class UAlterationsWidget_C final : public UFortAlterationsWidget_NUI
{
public:
struct FPointerToUberGraphFrame UberGraphFrame; // 0x0240(0x0008)(Transient, DuplicateTransient)
class UAlterationWidget_C* AlterationWidget; // 0x0248(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UAlterationWidget_C* AlterationWidget_2; // 0x0250(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UAlterationWidget_C* AlterationWidget_3; // 0x0258(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UAlterationWidget_C* AlterationWidget_6; // 0x0260(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonBorder* Border_PerksMessage; // 0x0268(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonBorder* BorderLocked; // 0x0270(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UCommonBorder* BorderUnlocked; // 0x0278(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UPerkDivider_C* LockedUnlockedDivider; // 0x0280(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UPerkDivider_C* PerkDivider_C_106; // 0x0288(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UPerkDivider_C* PerkDivider_C_107; // 0x0290(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UVerticalBox* VerticalBoxAlterationsLocked; // 0x0298(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
class UVerticalBox* VerticalBoxAlterationsUnlocked; // 0x02A0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
bool bIncludeName; // 0x02A8(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn)
bool bIncludeDescription; // 0x02A9(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn)
bool bIncludeShortDescription; // 0x02AA(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn)
bool FirstAlterationComplete; // 0x02AB(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor)
bool FirstLockedComplete; // 0x02AC(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor)
EFortBrushSize IconSize; // 0x02AD(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn, HasGetValueTypeHash)
uint8 Pad_2AE[0x2]; // 0x02AE(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
struct FMargin RowPadding; // 0x02B0(0x0010)(Edit, BlueprintVisible, IsPlainOldData, NoDestructor)
bool bUseLargeFormatNameOnly; // 0x02C0(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn)
uint8 Pad_2C1[0x3]; // 0x02C1(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
struct FMargin Description_Padding; // 0x02C4(0x0010)(Edit, BlueprintVisible, IsPlainOldData, NoDestructor)
public:
void ExecuteUbergraph_AlterationsWidget(int32 EntryPoint);
void OnStateChanged();
void OnItemToCompareWithChanged();
void OnItemChanged();
void OnGenerateAlteration(const struct FFortUIAlteration& AlterationInfo);
void Construct();
void UpdatePerksMessage();
public:
static class UClass* StaticClass()
{
return StaticBPGeneratedClassImpl<"AlterationsWidget_C">();
}
static class UAlterationsWidget_C* GetDefaultObj()
{
return GetDefaultObjImpl<UAlterationsWidget_C>();
}
};
static_assert(alignof(UAlterationsWidget_C) == 0x000008, "Wrong alignment on UAlterationsWidget_C");
static_assert(sizeof(UAlterationsWidget_C) == 0x0002D8, "Wrong size on UAlterationsWidget_C");
static_assert(offsetof(UAlterationsWidget_C, UberGraphFrame) == 0x000240, "Member 'UAlterationsWidget_C::UberGraphFrame' has a wrong offset!");
static_assert(offsetof(UAlterationsWidget_C, AlterationWidget) == 0x000248, "Member 'UAlterationsWidget_C::AlterationWidget' has a wrong offset!");
static_assert(offsetof(UAlterationsWidget_C, AlterationWidget_2) == 0x000250, "Member 'UAlterationsWidget_C::AlterationWidget_2' has a wrong offset!");
static_assert(offsetof(UAlterationsWidget_C, AlterationWidget_3) == 0x000258, "Member 'UAlterationsWidget_C::AlterationWidget_3' has a wrong offset!");
static_assert(offsetof(UAlterationsWidget_C, AlterationWidget_6) == 0x000260, "Member 'UAlterationsWidget_C::AlterationWidget_6' has a wrong offset!");
static_assert(offsetof(UAlterationsWidget_C, Border_PerksMessage) == 0x000268, "Member 'UAlterationsWidget_C::Border_PerksMessage' has a wrong offset!");
static_assert(offsetof(UAlterationsWidget_C, BorderLocked) == 0x000270, "Member 'UAlterationsWidget_C::BorderLocked' has a wrong offset!");
static_assert(offsetof(UAlterationsWidget_C, BorderUnlocked) == 0x000278, "Member 'UAlterationsWidget_C::BorderUnlocked' has a wrong offset!");
static_assert(offsetof(UAlterationsWidget_C, LockedUnlockedDivider) == 0x000280, "Member 'UAlterationsWidget_C::LockedUnlockedDivider' has a wrong offset!");
static_assert(offsetof(UAlterationsWidget_C, PerkDivider_C_106) == 0x000288, "Member 'UAlterationsWidget_C::PerkDivider_C_106' has a wrong offset!");
static_assert(offsetof(UAlterationsWidget_C, PerkDivider_C_107) == 0x000290, "Member 'UAlterationsWidget_C::PerkDivider_C_107' has a wrong offset!");
static_assert(offsetof(UAlterationsWidget_C, VerticalBoxAlterationsLocked) == 0x000298, "Member 'UAlterationsWidget_C::VerticalBoxAlterationsLocked' has a wrong offset!");
static_assert(offsetof(UAlterationsWidget_C, VerticalBoxAlterationsUnlocked) == 0x0002A0, "Member 'UAlterationsWidget_C::VerticalBoxAlterationsUnlocked' has a wrong offset!");
static_assert(offsetof(UAlterationsWidget_C, bIncludeName) == 0x0002A8, "Member 'UAlterationsWidget_C::bIncludeName' has a wrong offset!");
static_assert(offsetof(UAlterationsWidget_C, bIncludeDescription) == 0x0002A9, "Member 'UAlterationsWidget_C::bIncludeDescription' has a wrong offset!");
static_assert(offsetof(UAlterationsWidget_C, bIncludeShortDescription) == 0x0002AA, "Member 'UAlterationsWidget_C::bIncludeShortDescription' has a wrong offset!");
static_assert(offsetof(UAlterationsWidget_C, FirstAlterationComplete) == 0x0002AB, "Member 'UAlterationsWidget_C::FirstAlterationComplete' has a wrong offset!");
static_assert(offsetof(UAlterationsWidget_C, FirstLockedComplete) == 0x0002AC, "Member 'UAlterationsWidget_C::FirstLockedComplete' has a wrong offset!");
static_assert(offsetof(UAlterationsWidget_C, IconSize) == 0x0002AD, "Member 'UAlterationsWidget_C::IconSize' has a wrong offset!");
static_assert(offsetof(UAlterationsWidget_C, RowPadding) == 0x0002B0, "Member 'UAlterationsWidget_C::RowPadding' has a wrong offset!");
static_assert(offsetof(UAlterationsWidget_C, bUseLargeFormatNameOnly) == 0x0002C0, "Member 'UAlterationsWidget_C::bUseLargeFormatNameOnly' has a wrong offset!");
static_assert(offsetof(UAlterationsWidget_C, Description_Padding) == 0x0002C4, "Member 'UAlterationsWidget_C::Description_Padding' has a wrong offset!");
}
@@ -0,0 +1,130 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AlterationsWidget
#include "Basic.hpp"
#include "AlterationsWidget_classes.hpp"
#include "AlterationsWidget_parameters.hpp"
namespace SDK
{
// Function AlterationsWidget.AlterationsWidget_C.ExecuteUbergraph_AlterationsWidget
// (HasDefaults)
// Parameters:
// int32 EntryPoint (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAlterationsWidget_C::ExecuteUbergraph_AlterationsWidget(int32 EntryPoint)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AlterationsWidget_C", "ExecuteUbergraph_AlterationsWidget");
Params::AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget Parms{};
Parms.EntryPoint = EntryPoint;
UObject::ProcessEvent(Func, &Parms);
}
// Function AlterationsWidget.AlterationsWidget_C.OnStateChanged
// (Event, Public, BlueprintEvent)
void UAlterationsWidget_C::OnStateChanged()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AlterationsWidget_C", "OnStateChanged");
UObject::ProcessEvent(Func, nullptr);
}
// Function AlterationsWidget.AlterationsWidget_C.OnItemToCompareWithChanged
// (Event, Public, BlueprintEvent)
void UAlterationsWidget_C::OnItemToCompareWithChanged()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AlterationsWidget_C", "OnItemToCompareWithChanged");
UObject::ProcessEvent(Func, nullptr);
}
// Function AlterationsWidget.AlterationsWidget_C.OnItemChanged
// (Event, Public, BlueprintEvent)
void UAlterationsWidget_C::OnItemChanged()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AlterationsWidget_C", "OnItemChanged");
UObject::ProcessEvent(Func, nullptr);
}
// Function AlterationsWidget.AlterationsWidget_C.OnGenerateAlteration
// (Event, Public, BlueprintEvent)
// Parameters:
// const struct FFortUIAlteration& AlterationInfo (BlueprintVisible, BlueprintReadOnly, Parm, NoDestructor)
void UAlterationsWidget_C::OnGenerateAlteration(const struct FFortUIAlteration& AlterationInfo)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AlterationsWidget_C", "OnGenerateAlteration");
Params::AlterationsWidget_C_OnGenerateAlteration Parms{};
Parms.AlterationInfo = std::move(AlterationInfo);
UObject::ProcessEvent(Func, &Parms);
}
// Function AlterationsWidget.AlterationsWidget_C.Construct
// (BlueprintCosmetic, Event, Public, BlueprintEvent)
void UAlterationsWidget_C::Construct()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AlterationsWidget_C", "Construct");
UObject::ProcessEvent(Func, nullptr);
}
// Function AlterationsWidget.AlterationsWidget_C.UpdatePerksMessage
// (Public, HasDefaults, BlueprintCallable, BlueprintEvent)
void UAlterationsWidget_C::UpdatePerksMessage()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AlterationsWidget_C", "UpdatePerksMessage");
UObject::ProcessEvent(Func, nullptr);
}
}
@@ -0,0 +1,100 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AlterationsWidget
#include "Basic.hpp"
#include "Engine_structs.hpp"
#include "FortniteUI_structs.hpp"
#include "FortniteGame_structs.hpp"
namespace SDK::Params
{
// Function AlterationsWidget.AlterationsWidget_C.ExecuteUbergraph_AlterationsWidget
// 0x0080 (0x0080 - 0x0000)
struct AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget final
{
public:
int32 EntryPoint; // 0x0000(0x0004)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_4[0x4]; // 0x0004(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
class APlayerController* CallFunc_GetOwningPlayer_ReturnValue; // 0x0008(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UAlterationWidget_C* CallFunc_Create_ReturnValue; // 0x0010(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsAlterationUnlocked_ReturnValue; // 0x0018(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_19[0x7]; // 0x0019(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class UVerticalBoxSlot* CallFunc_AddChildToVerticalBox_ReturnValue; // 0x0020(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
struct FFortUIAlteration K2Node_Event_AlterationInfo; // 0x0028(0x0018)(NoDestructor)
EFortItemType CallFunc_GetType_ReturnValue; // 0x0040(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_EqualEqual_ByteByte_ReturnValue; // 0x0041(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_42[0x6]; // 0x0042(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
class APlayerController* CallFunc_GetOwningPlayer_ReturnValue1; // 0x0048(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class APlayerController* CallFunc_GetOwningPlayer_ReturnValue12; // 0x0050(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UPerkDivider_C* CallFunc_Create_ReturnValue1; // 0x0058(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UPerkDivider_C* CallFunc_Create_ReturnValue12; // 0x0060(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UVerticalBoxSlot* CallFunc_AddChildToVerticalBox_ReturnValue1; // 0x0068(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UVerticalBoxSlot* CallFunc_AddChildToVerticalBox_ReturnValue12; // 0x0070(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UVerticalBoxSlot* CallFunc_AddChildToVerticalBox_ReturnValue123; // 0x0078(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget) == 0x000008, "Wrong alignment on AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget");
static_assert(sizeof(AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget) == 0x000080, "Wrong size on AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget");
static_assert(offsetof(AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget, EntryPoint) == 0x000000, "Member 'AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget::EntryPoint' has a wrong offset!");
static_assert(offsetof(AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget, CallFunc_GetOwningPlayer_ReturnValue) == 0x000008, "Member 'AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget::CallFunc_GetOwningPlayer_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget, CallFunc_Create_ReturnValue) == 0x000010, "Member 'AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget::CallFunc_Create_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget, CallFunc_IsAlterationUnlocked_ReturnValue) == 0x000018, "Member 'AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget::CallFunc_IsAlterationUnlocked_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget, CallFunc_AddChildToVerticalBox_ReturnValue) == 0x000020, "Member 'AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget::CallFunc_AddChildToVerticalBox_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget, K2Node_Event_AlterationInfo) == 0x000028, "Member 'AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget::K2Node_Event_AlterationInfo' has a wrong offset!");
static_assert(offsetof(AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget, CallFunc_GetType_ReturnValue) == 0x000040, "Member 'AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget::CallFunc_GetType_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget, CallFunc_EqualEqual_ByteByte_ReturnValue) == 0x000041, "Member 'AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget::CallFunc_EqualEqual_ByteByte_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget, CallFunc_GetOwningPlayer_ReturnValue1) == 0x000048, "Member 'AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget::CallFunc_GetOwningPlayer_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget, CallFunc_GetOwningPlayer_ReturnValue12) == 0x000050, "Member 'AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget::CallFunc_GetOwningPlayer_ReturnValue12' has a wrong offset!");
static_assert(offsetof(AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget, CallFunc_Create_ReturnValue1) == 0x000058, "Member 'AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget::CallFunc_Create_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget, CallFunc_Create_ReturnValue12) == 0x000060, "Member 'AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget::CallFunc_Create_ReturnValue12' has a wrong offset!");
static_assert(offsetof(AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget, CallFunc_AddChildToVerticalBox_ReturnValue1) == 0x000068, "Member 'AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget::CallFunc_AddChildToVerticalBox_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget, CallFunc_AddChildToVerticalBox_ReturnValue12) == 0x000070, "Member 'AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget::CallFunc_AddChildToVerticalBox_ReturnValue12' has a wrong offset!");
static_assert(offsetof(AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget, CallFunc_AddChildToVerticalBox_ReturnValue123) == 0x000078, "Member 'AlterationsWidget_C_ExecuteUbergraph_AlterationsWidget::CallFunc_AddChildToVerticalBox_ReturnValue123' has a wrong offset!");
// Function AlterationsWidget.AlterationsWidget_C.OnGenerateAlteration
// 0x0018 (0x0018 - 0x0000)
struct AlterationsWidget_C_OnGenerateAlteration final
{
public:
struct FFortUIAlteration AlterationInfo; // 0x0000(0x0018)(BlueprintVisible, BlueprintReadOnly, Parm, NoDestructor)
};
static_assert(alignof(AlterationsWidget_C_OnGenerateAlteration) == 0x000008, "Wrong alignment on AlterationsWidget_C_OnGenerateAlteration");
static_assert(sizeof(AlterationsWidget_C_OnGenerateAlteration) == 0x000018, "Wrong size on AlterationsWidget_C_OnGenerateAlteration");
static_assert(offsetof(AlterationsWidget_C_OnGenerateAlteration, AlterationInfo) == 0x000000, "Member 'AlterationsWidget_C_OnGenerateAlteration::AlterationInfo' has a wrong offset!");
// Function AlterationsWidget.AlterationsWidget_C.UpdatePerksMessage
// 0x00B0 (0x00B0 - 0x0000)
struct AlterationsWidget_C_UpdatePerksMessage final
{
public:
class FText PerkCount; // 0x0000(0x0018)(Edit, BlueprintVisible)
struct FFormatArgumentData K2Node_MakeStruct_FormatArgumentData; // 0x0018(0x0040)(HasGetValueTypeHash)
TArray<struct FFormatArgumentData> K2Node_MakeArray_Array; // 0x0058(0x0010)(ZeroConstructor, ReferenceParm)
TArray<struct FFormatArgumentData> K2Node_MakeArray_Array1; // 0x0068(0x0010)(ZeroConstructor, ReferenceParm)
class FText CallFunc_Format_ReturnValue; // 0x0078(0x0018)()
class FText CallFunc_Format_ReturnValue1; // 0x0090(0x0018)()
EFortRarity CallFunc_GetRarity_ReturnValue; // 0x00A8(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_SwitchEnum_CmpSuccess; // 0x00A9(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AlterationsWidget_C_UpdatePerksMessage) == 0x000008, "Wrong alignment on AlterationsWidget_C_UpdatePerksMessage");
static_assert(sizeof(AlterationsWidget_C_UpdatePerksMessage) == 0x0000B0, "Wrong size on AlterationsWidget_C_UpdatePerksMessage");
static_assert(offsetof(AlterationsWidget_C_UpdatePerksMessage, PerkCount) == 0x000000, "Member 'AlterationsWidget_C_UpdatePerksMessage::PerkCount' has a wrong offset!");
static_assert(offsetof(AlterationsWidget_C_UpdatePerksMessage, K2Node_MakeStruct_FormatArgumentData) == 0x000018, "Member 'AlterationsWidget_C_UpdatePerksMessage::K2Node_MakeStruct_FormatArgumentData' has a wrong offset!");
static_assert(offsetof(AlterationsWidget_C_UpdatePerksMessage, K2Node_MakeArray_Array) == 0x000058, "Member 'AlterationsWidget_C_UpdatePerksMessage::K2Node_MakeArray_Array' has a wrong offset!");
static_assert(offsetof(AlterationsWidget_C_UpdatePerksMessage, K2Node_MakeArray_Array1) == 0x000068, "Member 'AlterationsWidget_C_UpdatePerksMessage::K2Node_MakeArray_Array1' has a wrong offset!");
static_assert(offsetof(AlterationsWidget_C_UpdatePerksMessage, CallFunc_Format_ReturnValue) == 0x000078, "Member 'AlterationsWidget_C_UpdatePerksMessage::CallFunc_Format_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationsWidget_C_UpdatePerksMessage, CallFunc_Format_ReturnValue1) == 0x000090, "Member 'AlterationsWidget_C_UpdatePerksMessage::CallFunc_Format_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AlterationsWidget_C_UpdatePerksMessage, CallFunc_GetRarity_ReturnValue) == 0x0000A8, "Member 'AlterationsWidget_C_UpdatePerksMessage::CallFunc_GetRarity_ReturnValue' has a wrong offset!");
static_assert(offsetof(AlterationsWidget_C_UpdatePerksMessage, K2Node_SwitchEnum_CmpSuccess) == 0x0000A9, "Member 'AlterationsWidget_C_UpdatePerksMessage::K2Node_SwitchEnum_CmpSuccess' has a wrong offset!");
}
@@ -0,0 +1,98 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AmbientControllerComponent_Athena
#include "Basic.hpp"
#include "Engine_structs.hpp"
#include "Engine_classes.hpp"
#include "FortniteGame_structs.hpp"
namespace SDK
{
// BlueprintGeneratedClass AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C
// 0x0078 (0x0168 - 0x00F0)
class UAmbientControllerComponent_Athena_C final : public UActorComponent
{
public:
struct FPointerToUberGraphFrame UberGraphFrame; // 0x00F0(0x0008)(Transient, DuplicateTransient)
class USoundBase* Loop_Morning; // 0x00F8(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class USoundBase* Loop_Evening; // 0x0100(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class USoundBase* Loop_Indoors; // 0x0108(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class USoundBase* Loop_Night; // 0x0110(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class USoundBase* Loop_Day; // 0x0118(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UAudioComponent* AmbientMixA; // 0x0120(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UAudioComponent* AmbientMixB; // 0x0128(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool bActiveMixIsA; // 0x0130(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor)
uint8 Pad_131[0x3]; // 0x0131(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
float CheckFrequency; // 0x0134(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool bIsInsidePrevious; // 0x0138(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor)
bool bIsInsideCurrent; // 0x0139(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor)
uint8 Pad_13A[0x6]; // 0x013A(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
class UAudioComponent* AmbientMixIndoor; // 0x0140(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class APlayerController* PlayerController; // 0x0148(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnTemplate, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
float TargetLPFFreq; // 0x0150(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
float CurrentLPFFreq; // 0x0154(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
float InsideLPFFreq; // 0x0158(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
float OutsideLPFFreq; // 0x015C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UAudioComponent* CurrentOneShot; // 0x0160(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
public:
void ExecuteUbergraph_AmbientControllerComponent_Athena(int32 EntryPoint);
void Set_Storm_Amb_Layer_Enabled(bool Enabled);
void On_Game_Phase_Step_Change(EAthenaGamePhaseStep GamePhaseStep);
void On_Game_Phase_Change(EAthenaGamePhase GamePhase);
void ReceiveTick(float DeltaSeconds);
void On_Day_Phase_Change(EFortDayPhase CurrentDayPhase, EFortDayPhase PreviousDayPhase, bool bAtCreation);
void Evaluate_Inside_State();
void OnCheckIfSurrounded();
void ReceiveEndPlay(EEndPlayReason EndPlayReason);
void ReceiveBeginPlay();
void RegisterTimeOfDayCallbacks();
void Crossfade(class USoundBase* NewSound);
bool Trace(const struct FVector& Start, const struct FVector& Direction);
void SetIndoorMixEnabled(bool Enabled);
void SetTargetLPFFreq(float Target);
public:
static class UClass* StaticClass()
{
return StaticBPGeneratedClassImpl<"AmbientControllerComponent_Athena_C">();
}
static class UAmbientControllerComponent_Athena_C* GetDefaultObj()
{
return GetDefaultObjImpl<UAmbientControllerComponent_Athena_C>();
}
};
static_assert(alignof(UAmbientControllerComponent_Athena_C) == 0x000008, "Wrong alignment on UAmbientControllerComponent_Athena_C");
static_assert(sizeof(UAmbientControllerComponent_Athena_C) == 0x000168, "Wrong size on UAmbientControllerComponent_Athena_C");
static_assert(offsetof(UAmbientControllerComponent_Athena_C, UberGraphFrame) == 0x0000F0, "Member 'UAmbientControllerComponent_Athena_C::UberGraphFrame' has a wrong offset!");
static_assert(offsetof(UAmbientControllerComponent_Athena_C, Loop_Morning) == 0x0000F8, "Member 'UAmbientControllerComponent_Athena_C::Loop_Morning' has a wrong offset!");
static_assert(offsetof(UAmbientControllerComponent_Athena_C, Loop_Evening) == 0x000100, "Member 'UAmbientControllerComponent_Athena_C::Loop_Evening' has a wrong offset!");
static_assert(offsetof(UAmbientControllerComponent_Athena_C, Loop_Indoors) == 0x000108, "Member 'UAmbientControllerComponent_Athena_C::Loop_Indoors' has a wrong offset!");
static_assert(offsetof(UAmbientControllerComponent_Athena_C, Loop_Night) == 0x000110, "Member 'UAmbientControllerComponent_Athena_C::Loop_Night' has a wrong offset!");
static_assert(offsetof(UAmbientControllerComponent_Athena_C, Loop_Day) == 0x000118, "Member 'UAmbientControllerComponent_Athena_C::Loop_Day' has a wrong offset!");
static_assert(offsetof(UAmbientControllerComponent_Athena_C, AmbientMixA) == 0x000120, "Member 'UAmbientControllerComponent_Athena_C::AmbientMixA' has a wrong offset!");
static_assert(offsetof(UAmbientControllerComponent_Athena_C, AmbientMixB) == 0x000128, "Member 'UAmbientControllerComponent_Athena_C::AmbientMixB' has a wrong offset!");
static_assert(offsetof(UAmbientControllerComponent_Athena_C, bActiveMixIsA) == 0x000130, "Member 'UAmbientControllerComponent_Athena_C::bActiveMixIsA' has a wrong offset!");
static_assert(offsetof(UAmbientControllerComponent_Athena_C, CheckFrequency) == 0x000134, "Member 'UAmbientControllerComponent_Athena_C::CheckFrequency' has a wrong offset!");
static_assert(offsetof(UAmbientControllerComponent_Athena_C, bIsInsidePrevious) == 0x000138, "Member 'UAmbientControllerComponent_Athena_C::bIsInsidePrevious' has a wrong offset!");
static_assert(offsetof(UAmbientControllerComponent_Athena_C, bIsInsideCurrent) == 0x000139, "Member 'UAmbientControllerComponent_Athena_C::bIsInsideCurrent' has a wrong offset!");
static_assert(offsetof(UAmbientControllerComponent_Athena_C, AmbientMixIndoor) == 0x000140, "Member 'UAmbientControllerComponent_Athena_C::AmbientMixIndoor' has a wrong offset!");
static_assert(offsetof(UAmbientControllerComponent_Athena_C, PlayerController) == 0x000148, "Member 'UAmbientControllerComponent_Athena_C::PlayerController' has a wrong offset!");
static_assert(offsetof(UAmbientControllerComponent_Athena_C, TargetLPFFreq) == 0x000150, "Member 'UAmbientControllerComponent_Athena_C::TargetLPFFreq' has a wrong offset!");
static_assert(offsetof(UAmbientControllerComponent_Athena_C, CurrentLPFFreq) == 0x000154, "Member 'UAmbientControllerComponent_Athena_C::CurrentLPFFreq' has a wrong offset!");
static_assert(offsetof(UAmbientControllerComponent_Athena_C, InsideLPFFreq) == 0x000158, "Member 'UAmbientControllerComponent_Athena_C::InsideLPFFreq' has a wrong offset!");
static_assert(offsetof(UAmbientControllerComponent_Athena_C, OutsideLPFFreq) == 0x00015C, "Member 'UAmbientControllerComponent_Athena_C::OutsideLPFFreq' has a wrong offset!");
static_assert(offsetof(UAmbientControllerComponent_Athena_C, CurrentOneShot) == 0x000160, "Member 'UAmbientControllerComponent_Athena_C::CurrentOneShot' has a wrong offset!");
}
@@ -0,0 +1,305 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AmbientControllerComponent_Athena
#include "Basic.hpp"
#include "AmbientControllerComponent_Athena_classes.hpp"
#include "AmbientControllerComponent_Athena_parameters.hpp"
namespace SDK
{
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.ExecuteUbergraph_AmbientControllerComponent_Athena
// (HasDefaults)
// Parameters:
// int32 EntryPoint (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAmbientControllerComponent_Athena_C::ExecuteUbergraph_AmbientControllerComponent_Athena(int32 EntryPoint)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AmbientControllerComponent_Athena_C", "ExecuteUbergraph_AmbientControllerComponent_Athena");
Params::AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena Parms{};
Parms.EntryPoint = EntryPoint;
UObject::ProcessEvent(Func, &Parms);
}
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.Set Storm Amb Layer Enabled
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// bool Enabled (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)
void UAmbientControllerComponent_Athena_C::Set_Storm_Amb_Layer_Enabled(bool Enabled)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AmbientControllerComponent_Athena_C", "Set Storm Amb Layer Enabled");
Params::AmbientControllerComponent_Athena_C_Set_Storm_Amb_Layer_Enabled Parms{};
Parms.Enabled = Enabled;
UObject::ProcessEvent(Func, &Parms);
}
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.On Game Phase Step Change
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// EAthenaGamePhaseStep GamePhaseStep (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAmbientControllerComponent_Athena_C::On_Game_Phase_Step_Change(EAthenaGamePhaseStep GamePhaseStep)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AmbientControllerComponent_Athena_C", "On Game Phase Step Change");
Params::AmbientControllerComponent_Athena_C_On_Game_Phase_Step_Change Parms{};
Parms.GamePhaseStep = GamePhaseStep;
UObject::ProcessEvent(Func, &Parms);
}
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.On Game Phase Change
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// EAthenaGamePhase GamePhase (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAmbientControllerComponent_Athena_C::On_Game_Phase_Change(EAthenaGamePhase GamePhase)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AmbientControllerComponent_Athena_C", "On Game Phase Change");
Params::AmbientControllerComponent_Athena_C_On_Game_Phase_Change Parms{};
Parms.GamePhase = GamePhase;
UObject::ProcessEvent(Func, &Parms);
}
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.ReceiveTick
// (Event, Public, BlueprintEvent)
// Parameters:
// float DeltaSeconds (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAmbientControllerComponent_Athena_C::ReceiveTick(float DeltaSeconds)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AmbientControllerComponent_Athena_C", "ReceiveTick");
Params::AmbientControllerComponent_Athena_C_ReceiveTick Parms{};
Parms.DeltaSeconds = DeltaSeconds;
UObject::ProcessEvent(Func, &Parms);
}
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.On Day Phase Change
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// EFortDayPhase CurrentDayPhase (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// EFortDayPhase PreviousDayPhase (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool bAtCreation (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)
void UAmbientControllerComponent_Athena_C::On_Day_Phase_Change(EFortDayPhase CurrentDayPhase, EFortDayPhase PreviousDayPhase, bool bAtCreation)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AmbientControllerComponent_Athena_C", "On Day Phase Change");
Params::AmbientControllerComponent_Athena_C_On_Day_Phase_Change Parms{};
Parms.CurrentDayPhase = CurrentDayPhase;
Parms.PreviousDayPhase = PreviousDayPhase;
Parms.bAtCreation = bAtCreation;
UObject::ProcessEvent(Func, &Parms);
}
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.Evaluate Inside State
// (BlueprintCallable, BlueprintEvent)
void UAmbientControllerComponent_Athena_C::Evaluate_Inside_State()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AmbientControllerComponent_Athena_C", "Evaluate Inside State");
UObject::ProcessEvent(Func, nullptr);
}
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.OnCheckIfSurrounded
// (BlueprintCallable, BlueprintEvent)
void UAmbientControllerComponent_Athena_C::OnCheckIfSurrounded()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AmbientControllerComponent_Athena_C", "OnCheckIfSurrounded");
UObject::ProcessEvent(Func, nullptr);
}
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.ReceiveEndPlay
// (Event, Public, BlueprintEvent)
// Parameters:
// EEndPlayReason EndPlayReason (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAmbientControllerComponent_Athena_C::ReceiveEndPlay(EEndPlayReason EndPlayReason)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AmbientControllerComponent_Athena_C", "ReceiveEndPlay");
Params::AmbientControllerComponent_Athena_C_ReceiveEndPlay Parms{};
Parms.EndPlayReason = EndPlayReason;
UObject::ProcessEvent(Func, &Parms);
}
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.ReceiveBeginPlay
// (Event, Public, BlueprintEvent)
void UAmbientControllerComponent_Athena_C::ReceiveBeginPlay()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AmbientControllerComponent_Athena_C", "ReceiveBeginPlay");
UObject::ProcessEvent(Func, nullptr);
}
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.RegisterTimeOfDayCallbacks
// (Public, BlueprintCallable, BlueprintEvent)
void UAmbientControllerComponent_Athena_C::RegisterTimeOfDayCallbacks()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AmbientControllerComponent_Athena_C", "RegisterTimeOfDayCallbacks");
UObject::ProcessEvent(Func, nullptr);
}
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.Crossfade
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// class USoundBase* NewSound (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAmbientControllerComponent_Athena_C::Crossfade(class USoundBase* NewSound)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AmbientControllerComponent_Athena_C", "Crossfade");
Params::AmbientControllerComponent_Athena_C_Crossfade Parms{};
Parms.NewSound = NewSound;
UObject::ProcessEvent(Func, &Parms);
}
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.Trace
// (Public, HasOutParams, HasDefaults, BlueprintCallable, BlueprintEvent)
// Parameters:
// const struct FVector& Start (BlueprintVisible, BlueprintReadOnly, Parm, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// const struct FVector& Direction (BlueprintVisible, BlueprintReadOnly, Parm, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool ReturnValue (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
bool UAmbientControllerComponent_Athena_C::Trace(const struct FVector& Start, const struct FVector& Direction)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AmbientControllerComponent_Athena_C", "Trace");
Params::AmbientControllerComponent_Athena_C_Trace Parms{};
Parms.Start = std::move(Start);
Parms.Direction = std::move(Direction);
UObject::ProcessEvent(Func, &Parms);
return Parms.ReturnValue;
}
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.SetIndoorMixEnabled
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool Enabled (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)
void UAmbientControllerComponent_Athena_C::SetIndoorMixEnabled(bool Enabled)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AmbientControllerComponent_Athena_C", "SetIndoorMixEnabled");
Params::AmbientControllerComponent_Athena_C_SetIndoorMixEnabled Parms{};
Parms.Enabled = Enabled;
UObject::ProcessEvent(Func, &Parms);
}
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.SetTargetLPFFreq
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// float Target (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
void UAmbientControllerComponent_Athena_C::SetTargetLPFFreq(float Target)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AmbientControllerComponent_Athena_C", "SetTargetLPFFreq");
Params::AmbientControllerComponent_Athena_C_SetTargetLPFFreq Parms{};
Parms.Target = Target;
UObject::ProcessEvent(Func, &Parms);
}
}
@@ -0,0 +1,286 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AmbientControllerComponent_Athena
#include "Basic.hpp"
#include "CoreUObject_structs.hpp"
#include "Engine_structs.hpp"
#include "FortniteGame_structs.hpp"
namespace SDK::Params
{
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.ExecuteUbergraph_AmbientControllerComponent_Athena
// 0x0138 (0x0138 - 0x0000)
struct AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena final
{
public:
int32 EntryPoint; // 0x0000(0x0004)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsMobileGame_ReturnValue; // 0x0004(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
EFortDayPhase Temp_byte_Variable; // 0x0005(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsValid_ReturnValue; // 0x0006(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
EFortDayPhase Temp_byte_Variable1; // 0x0007(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class AActor* CallFunc_GetViewTarget_ReturnValue; // 0x0008(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsValid_ReturnValue1; // 0x0010(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
EEndPlayReason K2Node_Event_EndPlayReason; // 0x0011(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsValid_ReturnValue12; // 0x0012(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_13[0x5]; // 0x0013(0x0005)(Fixing Size After Last Property [ Dumper-7 ])
class AActor* CallFunc_GetOwner_ReturnValue; // 0x0018(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class APlayerController* K2Node_DynamicCast_AsPlayer_Controller; // 0x0020(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess; // 0x0028(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_29[0x7]; // 0x0029(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
TDelegate<void()> K2Node_CreateDelegate_OutputDelegate; // 0x0030(0x0010)(ZeroConstructor, NoDestructor)
struct FTimerHandle CallFunc_K2_SetTimerDelegate_ReturnValue; // 0x0040(0x0008)(NoDestructor)
bool CallFunc_NotEqual_BoolBool_ReturnValue; // 0x0048(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_49[0x7]; // 0x0049(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class AFortTimeOfDayManager* CallFunc_GetTimeOfDayManagerFromContext_ReturnValue; // 0x0050(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
EFortDayPhase K2Node_CustomEvent_CurrentDayPhase; // 0x0058(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
EFortDayPhase K2Node_CustomEvent_PreviousDayPhase; // 0x0059(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_CustomEvent_bAtCreation; // 0x005A(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_5B[0x5]; // 0x005B(0x0005)(Fixing Size After Last Property [ Dumper-7 ])
TDelegate<void(EFortDayPhase CurrentDayPhase, EFortDayPhase PreviousDayPhase, bool bAtCreation)> K2Node_CreateDelegate_OutputDelegate1; // 0x0060(0x0010)(ZeroConstructor, NoDestructor)
class USoundBase* K2Node_Select_Default; // 0x0070(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class AFortTimeOfDayManager* CallFunc_GetTimeOfDayManagerFromContext_ReturnValue1; // 0x0078(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class AActor* CallFunc_GetViewTarget_ReturnValue1; // 0x0080(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
struct FVector CallFunc_GetActorUpVector_ReturnValue; // 0x0088(0x000C)(IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_94[0x4]; // 0x0094(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
class USoundBase* K2Node_Select1_Default; // 0x0098(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
struct FVector CallFunc_GetActorRightVector_ReturnValue; // 0x00A0(0x000C)(IsPlainOldData, NoDestructor, HasGetValueTypeHash)
struct FVector CallFunc_Multiply_VectorFloat_ReturnValue; // 0x00AC(0x000C)(IsPlainOldData, NoDestructor, HasGetValueTypeHash)
struct FVector CallFunc_GetActorForwardVector_ReturnValue; // 0x00B8(0x000C)(IsPlainOldData, NoDestructor, HasGetValueTypeHash)
struct FVector CallFunc_K2_GetActorLocation_ReturnValue; // 0x00C4(0x000C)(IsPlainOldData, NoDestructor, HasGetValueTypeHash)
struct FVector CallFunc_Multiply_VectorFloat_ReturnValue1; // 0x00D0(0x000C)(IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_Trace_ReturnValue; // 0x00DC(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_Trace_ReturnValue1; // 0x00DD(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_Trace_ReturnValue12; // 0x00DE(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_Trace_ReturnValue123; // 0x00DF(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_Trace_ReturnValue1234; // 0x00E0(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_E1[0x3]; // 0x00E1(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
float K2Node_Event_DeltaSeconds; // 0x00E4(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
float CallFunc_GetWorldDeltaSeconds_ReturnValue; // 0x00E8(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
float CallFunc_FInterpTo_ReturnValue; // 0x00EC(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class AGameStateBase* CallFunc_GetGameState_ReturnValue; // 0x00F0(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class AFortGameStateAthena* K2Node_DynamicCast_AsFort_Game_State_Athena; // 0x00F8(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess1; // 0x0100(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
EAthenaGamePhase K2Node_CustomEvent_GamePhase; // 0x0101(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_102[0x6]; // 0x0102(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
TDelegate<void(EAthenaGamePhase GamePhase)> K2Node_CreateDelegate_OutputDelegate12; // 0x0108(0x0010)(ZeroConstructor, NoDestructor)
bool K2Node_SwitchEnum_CmpSuccess; // 0x0118(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
EAthenaGamePhaseStep K2Node_CustomEvent_GamePhaseStep; // 0x0119(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_11A[0x6]; // 0x011A(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
TDelegate<void(EAthenaGamePhaseStep GamePhaseStep)> K2Node_CreateDelegate_OutputDelegate123; // 0x0120(0x0010)(ZeroConstructor, NoDestructor)
bool K2Node_SwitchEnum1_CmpSuccess; // 0x0130(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool K2Node_CustomEvent_Enabled; // 0x0131(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_IsValid_ReturnValue123; // 0x0132(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_IsBROnly_ReturnValue; // 0x0133(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_BooleanAND_ReturnValue; // 0x0134(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena) == 0x000008, "Wrong alignment on AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena");
static_assert(sizeof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena) == 0x000138, "Wrong size on AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, EntryPoint) == 0x000000, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::EntryPoint' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_IsMobileGame_ReturnValue) == 0x000004, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_IsMobileGame_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, Temp_byte_Variable) == 0x000005, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::Temp_byte_Variable' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_IsValid_ReturnValue) == 0x000006, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_IsValid_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, Temp_byte_Variable1) == 0x000007, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::Temp_byte_Variable1' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_GetViewTarget_ReturnValue) == 0x000008, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_GetViewTarget_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_IsValid_ReturnValue1) == 0x000010, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_IsValid_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, K2Node_Event_EndPlayReason) == 0x000011, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::K2Node_Event_EndPlayReason' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_IsValid_ReturnValue12) == 0x000012, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_IsValid_ReturnValue12' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_GetOwner_ReturnValue) == 0x000018, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_GetOwner_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, K2Node_DynamicCast_AsPlayer_Controller) == 0x000020, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::K2Node_DynamicCast_AsPlayer_Controller' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, K2Node_DynamicCast_bSuccess) == 0x000028, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::K2Node_DynamicCast_bSuccess' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, K2Node_CreateDelegate_OutputDelegate) == 0x000030, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::K2Node_CreateDelegate_OutputDelegate' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_K2_SetTimerDelegate_ReturnValue) == 0x000040, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_K2_SetTimerDelegate_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_NotEqual_BoolBool_ReturnValue) == 0x000048, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_NotEqual_BoolBool_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_GetTimeOfDayManagerFromContext_ReturnValue) == 0x000050, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_GetTimeOfDayManagerFromContext_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, K2Node_CustomEvent_CurrentDayPhase) == 0x000058, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::K2Node_CustomEvent_CurrentDayPhase' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, K2Node_CustomEvent_PreviousDayPhase) == 0x000059, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::K2Node_CustomEvent_PreviousDayPhase' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, K2Node_CustomEvent_bAtCreation) == 0x00005A, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::K2Node_CustomEvent_bAtCreation' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, K2Node_CreateDelegate_OutputDelegate1) == 0x000060, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::K2Node_CreateDelegate_OutputDelegate1' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, K2Node_Select_Default) == 0x000070, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::K2Node_Select_Default' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_GetTimeOfDayManagerFromContext_ReturnValue1) == 0x000078, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_GetTimeOfDayManagerFromContext_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_GetViewTarget_ReturnValue1) == 0x000080, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_GetViewTarget_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_GetActorUpVector_ReturnValue) == 0x000088, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_GetActorUpVector_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, K2Node_Select1_Default) == 0x000098, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::K2Node_Select1_Default' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_GetActorRightVector_ReturnValue) == 0x0000A0, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_GetActorRightVector_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_Multiply_VectorFloat_ReturnValue) == 0x0000AC, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_Multiply_VectorFloat_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_GetActorForwardVector_ReturnValue) == 0x0000B8, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_GetActorForwardVector_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_K2_GetActorLocation_ReturnValue) == 0x0000C4, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_K2_GetActorLocation_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_Multiply_VectorFloat_ReturnValue1) == 0x0000D0, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_Multiply_VectorFloat_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_Trace_ReturnValue) == 0x0000DC, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_Trace_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_Trace_ReturnValue1) == 0x0000DD, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_Trace_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_Trace_ReturnValue12) == 0x0000DE, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_Trace_ReturnValue12' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_Trace_ReturnValue123) == 0x0000DF, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_Trace_ReturnValue123' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_Trace_ReturnValue1234) == 0x0000E0, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_Trace_ReturnValue1234' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, K2Node_Event_DeltaSeconds) == 0x0000E4, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::K2Node_Event_DeltaSeconds' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_GetWorldDeltaSeconds_ReturnValue) == 0x0000E8, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_GetWorldDeltaSeconds_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_FInterpTo_ReturnValue) == 0x0000EC, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_FInterpTo_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_GetGameState_ReturnValue) == 0x0000F0, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_GetGameState_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, K2Node_DynamicCast_AsFort_Game_State_Athena) == 0x0000F8, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::K2Node_DynamicCast_AsFort_Game_State_Athena' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, K2Node_DynamicCast_bSuccess1) == 0x000100, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::K2Node_DynamicCast_bSuccess1' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, K2Node_CustomEvent_GamePhase) == 0x000101, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::K2Node_CustomEvent_GamePhase' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, K2Node_CreateDelegate_OutputDelegate12) == 0x000108, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::K2Node_CreateDelegate_OutputDelegate12' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, K2Node_SwitchEnum_CmpSuccess) == 0x000118, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::K2Node_SwitchEnum_CmpSuccess' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, K2Node_CustomEvent_GamePhaseStep) == 0x000119, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::K2Node_CustomEvent_GamePhaseStep' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, K2Node_CreateDelegate_OutputDelegate123) == 0x000120, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::K2Node_CreateDelegate_OutputDelegate123' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, K2Node_SwitchEnum1_CmpSuccess) == 0x000130, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::K2Node_SwitchEnum1_CmpSuccess' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, K2Node_CustomEvent_Enabled) == 0x000131, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::K2Node_CustomEvent_Enabled' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_IsValid_ReturnValue123) == 0x000132, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_IsValid_ReturnValue123' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_IsBROnly_ReturnValue) == 0x000133, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_IsBROnly_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena, CallFunc_BooleanAND_ReturnValue) == 0x000134, "Member 'AmbientControllerComponent_Athena_C_ExecuteUbergraph_AmbientControllerComponent_Athena::CallFunc_BooleanAND_ReturnValue' has a wrong offset!");
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.Set Storm Amb Layer Enabled
// 0x0001 (0x0001 - 0x0000)
struct AmbientControllerComponent_Athena_C_Set_Storm_Amb_Layer_Enabled final
{
public:
bool Enabled; // 0x0000(0x0001)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AmbientControllerComponent_Athena_C_Set_Storm_Amb_Layer_Enabled) == 0x000001, "Wrong alignment on AmbientControllerComponent_Athena_C_Set_Storm_Amb_Layer_Enabled");
static_assert(sizeof(AmbientControllerComponent_Athena_C_Set_Storm_Amb_Layer_Enabled) == 0x000001, "Wrong size on AmbientControllerComponent_Athena_C_Set_Storm_Amb_Layer_Enabled");
static_assert(offsetof(AmbientControllerComponent_Athena_C_Set_Storm_Amb_Layer_Enabled, Enabled) == 0x000000, "Member 'AmbientControllerComponent_Athena_C_Set_Storm_Amb_Layer_Enabled::Enabled' has a wrong offset!");
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.On Game Phase Step Change
// 0x0001 (0x0001 - 0x0000)
struct AmbientControllerComponent_Athena_C_On_Game_Phase_Step_Change final
{
public:
EAthenaGamePhaseStep GamePhaseStep; // 0x0000(0x0001)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AmbientControllerComponent_Athena_C_On_Game_Phase_Step_Change) == 0x000001, "Wrong alignment on AmbientControllerComponent_Athena_C_On_Game_Phase_Step_Change");
static_assert(sizeof(AmbientControllerComponent_Athena_C_On_Game_Phase_Step_Change) == 0x000001, "Wrong size on AmbientControllerComponent_Athena_C_On_Game_Phase_Step_Change");
static_assert(offsetof(AmbientControllerComponent_Athena_C_On_Game_Phase_Step_Change, GamePhaseStep) == 0x000000, "Member 'AmbientControllerComponent_Athena_C_On_Game_Phase_Step_Change::GamePhaseStep' has a wrong offset!");
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.On Game Phase Change
// 0x0001 (0x0001 - 0x0000)
struct AmbientControllerComponent_Athena_C_On_Game_Phase_Change final
{
public:
EAthenaGamePhase GamePhase; // 0x0000(0x0001)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AmbientControllerComponent_Athena_C_On_Game_Phase_Change) == 0x000001, "Wrong alignment on AmbientControllerComponent_Athena_C_On_Game_Phase_Change");
static_assert(sizeof(AmbientControllerComponent_Athena_C_On_Game_Phase_Change) == 0x000001, "Wrong size on AmbientControllerComponent_Athena_C_On_Game_Phase_Change");
static_assert(offsetof(AmbientControllerComponent_Athena_C_On_Game_Phase_Change, GamePhase) == 0x000000, "Member 'AmbientControllerComponent_Athena_C_On_Game_Phase_Change::GamePhase' has a wrong offset!");
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.ReceiveTick
// 0x0004 (0x0004 - 0x0000)
struct AmbientControllerComponent_Athena_C_ReceiveTick final
{
public:
float DeltaSeconds; // 0x0000(0x0004)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AmbientControllerComponent_Athena_C_ReceiveTick) == 0x000004, "Wrong alignment on AmbientControllerComponent_Athena_C_ReceiveTick");
static_assert(sizeof(AmbientControllerComponent_Athena_C_ReceiveTick) == 0x000004, "Wrong size on AmbientControllerComponent_Athena_C_ReceiveTick");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ReceiveTick, DeltaSeconds) == 0x000000, "Member 'AmbientControllerComponent_Athena_C_ReceiveTick::DeltaSeconds' has a wrong offset!");
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.On Day Phase Change
// 0x0003 (0x0003 - 0x0000)
struct AmbientControllerComponent_Athena_C_On_Day_Phase_Change final
{
public:
EFortDayPhase CurrentDayPhase; // 0x0000(0x0001)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
EFortDayPhase PreviousDayPhase; // 0x0001(0x0001)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool bAtCreation; // 0x0002(0x0001)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AmbientControllerComponent_Athena_C_On_Day_Phase_Change) == 0x000001, "Wrong alignment on AmbientControllerComponent_Athena_C_On_Day_Phase_Change");
static_assert(sizeof(AmbientControllerComponent_Athena_C_On_Day_Phase_Change) == 0x000003, "Wrong size on AmbientControllerComponent_Athena_C_On_Day_Phase_Change");
static_assert(offsetof(AmbientControllerComponent_Athena_C_On_Day_Phase_Change, CurrentDayPhase) == 0x000000, "Member 'AmbientControllerComponent_Athena_C_On_Day_Phase_Change::CurrentDayPhase' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_On_Day_Phase_Change, PreviousDayPhase) == 0x000001, "Member 'AmbientControllerComponent_Athena_C_On_Day_Phase_Change::PreviousDayPhase' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_On_Day_Phase_Change, bAtCreation) == 0x000002, "Member 'AmbientControllerComponent_Athena_C_On_Day_Phase_Change::bAtCreation' has a wrong offset!");
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.ReceiveEndPlay
// 0x0001 (0x0001 - 0x0000)
struct AmbientControllerComponent_Athena_C_ReceiveEndPlay final
{
public:
EEndPlayReason EndPlayReason; // 0x0000(0x0001)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AmbientControllerComponent_Athena_C_ReceiveEndPlay) == 0x000001, "Wrong alignment on AmbientControllerComponent_Athena_C_ReceiveEndPlay");
static_assert(sizeof(AmbientControllerComponent_Athena_C_ReceiveEndPlay) == 0x000001, "Wrong size on AmbientControllerComponent_Athena_C_ReceiveEndPlay");
static_assert(offsetof(AmbientControllerComponent_Athena_C_ReceiveEndPlay, EndPlayReason) == 0x000000, "Member 'AmbientControllerComponent_Athena_C_ReceiveEndPlay::EndPlayReason' has a wrong offset!");
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.Crossfade
// 0x0028 (0x0028 - 0x0000)
struct AmbientControllerComponent_Athena_C_Crossfade final
{
public:
class USoundBase* NewSound; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class USoundBase* NewSoundLocal; // 0x0008(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsValid_ReturnValue; // 0x0010(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_IsValid_ReturnValue1; // 0x0011(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_12[0x6]; // 0x0012(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
class UAudioComponent* CallFunc_SpawnSound2D_ReturnValue; // 0x0018(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UAudioComponent* CallFunc_SpawnSound2D_ReturnValue1; // 0x0020(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AmbientControllerComponent_Athena_C_Crossfade) == 0x000008, "Wrong alignment on AmbientControllerComponent_Athena_C_Crossfade");
static_assert(sizeof(AmbientControllerComponent_Athena_C_Crossfade) == 0x000028, "Wrong size on AmbientControllerComponent_Athena_C_Crossfade");
static_assert(offsetof(AmbientControllerComponent_Athena_C_Crossfade, NewSound) == 0x000000, "Member 'AmbientControllerComponent_Athena_C_Crossfade::NewSound' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_Crossfade, NewSoundLocal) == 0x000008, "Member 'AmbientControllerComponent_Athena_C_Crossfade::NewSoundLocal' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_Crossfade, CallFunc_IsValid_ReturnValue) == 0x000010, "Member 'AmbientControllerComponent_Athena_C_Crossfade::CallFunc_IsValid_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_Crossfade, CallFunc_IsValid_ReturnValue1) == 0x000011, "Member 'AmbientControllerComponent_Athena_C_Crossfade::CallFunc_IsValid_ReturnValue1' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_Crossfade, CallFunc_SpawnSound2D_ReturnValue) == 0x000018, "Member 'AmbientControllerComponent_Athena_C_Crossfade::CallFunc_SpawnSound2D_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_Crossfade, CallFunc_SpawnSound2D_ReturnValue1) == 0x000020, "Member 'AmbientControllerComponent_Athena_C_Crossfade::CallFunc_SpawnSound2D_ReturnValue1' has a wrong offset!");
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.Trace
// 0x00D8 (0x00D8 - 0x0000)
struct AmbientControllerComponent_Athena_C_Trace final
{
public:
struct FVector Start; // 0x0000(0x000C)(BlueprintVisible, BlueprintReadOnly, Parm, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
struct FVector Direction; // 0x000C(0x000C)(BlueprintVisible, BlueprintReadOnly, Parm, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool ReturnValue; // 0x0018(0x0001)(Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
uint8 Pad_19[0x7]; // 0x0019(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
TArray<class AActor*> Temp_object_Variable; // 0x0020(0x0010)(ConstParm, ZeroConstructor, ReferenceParm)
struct FVector CallFunc_Multiply_VectorFloat_ReturnValue; // 0x0030(0x000C)(IsPlainOldData, NoDestructor, HasGetValueTypeHash)
struct FVector CallFunc_Add_VectorVector_ReturnValue; // 0x003C(0x000C)(IsPlainOldData, NoDestructor, HasGetValueTypeHash)
struct FHitResult CallFunc_LineTraceSingle_OutHit; // 0x0048(0x0088)(IsPlainOldData, NoDestructor, ContainsInstancedReference)
bool CallFunc_LineTraceSingle_ReturnValue; // 0x00D0(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AmbientControllerComponent_Athena_C_Trace) == 0x000008, "Wrong alignment on AmbientControllerComponent_Athena_C_Trace");
static_assert(sizeof(AmbientControllerComponent_Athena_C_Trace) == 0x0000D8, "Wrong size on AmbientControllerComponent_Athena_C_Trace");
static_assert(offsetof(AmbientControllerComponent_Athena_C_Trace, Start) == 0x000000, "Member 'AmbientControllerComponent_Athena_C_Trace::Start' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_Trace, Direction) == 0x00000C, "Member 'AmbientControllerComponent_Athena_C_Trace::Direction' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_Trace, ReturnValue) == 0x000018, "Member 'AmbientControllerComponent_Athena_C_Trace::ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_Trace, Temp_object_Variable) == 0x000020, "Member 'AmbientControllerComponent_Athena_C_Trace::Temp_object_Variable' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_Trace, CallFunc_Multiply_VectorFloat_ReturnValue) == 0x000030, "Member 'AmbientControllerComponent_Athena_C_Trace::CallFunc_Multiply_VectorFloat_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_Trace, CallFunc_Add_VectorVector_ReturnValue) == 0x00003C, "Member 'AmbientControllerComponent_Athena_C_Trace::CallFunc_Add_VectorVector_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_Trace, CallFunc_LineTraceSingle_OutHit) == 0x000048, "Member 'AmbientControllerComponent_Athena_C_Trace::CallFunc_LineTraceSingle_OutHit' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_Trace, CallFunc_LineTraceSingle_ReturnValue) == 0x0000D0, "Member 'AmbientControllerComponent_Athena_C_Trace::CallFunc_LineTraceSingle_ReturnValue' has a wrong offset!");
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.SetIndoorMixEnabled
// 0x0010 (0x0010 - 0x0000)
struct AmbientControllerComponent_Athena_C_SetIndoorMixEnabled final
{
public:
bool Enabled; // 0x0000(0x0001)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_IsValid_ReturnValue; // 0x0001(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_2[0x6]; // 0x0002(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
class UAudioComponent* CallFunc_SpawnSoundAtLocation_ReturnValue; // 0x0008(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AmbientControllerComponent_Athena_C_SetIndoorMixEnabled) == 0x000008, "Wrong alignment on AmbientControllerComponent_Athena_C_SetIndoorMixEnabled");
static_assert(sizeof(AmbientControllerComponent_Athena_C_SetIndoorMixEnabled) == 0x000010, "Wrong size on AmbientControllerComponent_Athena_C_SetIndoorMixEnabled");
static_assert(offsetof(AmbientControllerComponent_Athena_C_SetIndoorMixEnabled, Enabled) == 0x000000, "Member 'AmbientControllerComponent_Athena_C_SetIndoorMixEnabled::Enabled' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_SetIndoorMixEnabled, CallFunc_IsValid_ReturnValue) == 0x000001, "Member 'AmbientControllerComponent_Athena_C_SetIndoorMixEnabled::CallFunc_IsValid_ReturnValue' has a wrong offset!");
static_assert(offsetof(AmbientControllerComponent_Athena_C_SetIndoorMixEnabled, CallFunc_SpawnSoundAtLocation_ReturnValue) == 0x000008, "Member 'AmbientControllerComponent_Athena_C_SetIndoorMixEnabled::CallFunc_SpawnSoundAtLocation_ReturnValue' has a wrong offset!");
// Function AmbientControllerComponent_Athena.AmbientControllerComponent_Athena_C.SetTargetLPFFreq
// 0x0004 (0x0004 - 0x0000)
struct AmbientControllerComponent_Athena_C_SetTargetLPFFreq final
{
public:
float Target; // 0x0000(0x0004)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
static_assert(alignof(AmbientControllerComponent_Athena_C_SetTargetLPFFreq) == 0x000004, "Wrong alignment on AmbientControllerComponent_Athena_C_SetTargetLPFFreq");
static_assert(sizeof(AmbientControllerComponent_Athena_C_SetTargetLPFFreq) == 0x000004, "Wrong size on AmbientControllerComponent_Athena_C_SetTargetLPFFreq");
static_assert(offsetof(AmbientControllerComponent_Athena_C_SetTargetLPFFreq, Target) == 0x000000, "Member 'AmbientControllerComponent_Athena_C_SetTargetLPFFreq::Target' has a wrong offset!");
}
@@ -0,0 +1,68 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnalyticsBlueprintLibrary
#include "Basic.hpp"
#include "Engine_classes.hpp"
namespace SDK
{
// Class AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary
// 0x0000 (0x0028 - 0x0028)
class UAnalyticsBlueprintLibrary final : public UBlueprintFunctionLibrary
{
public:
static void EndSession();
static void FlushEvents();
static class FString GetSessionId();
static class FString GetUserId();
static struct FAnalyticsEventAttr MakeEventAttribute(const class FString& AttributeName, const class FString& AttributeValue);
static void RecordCurrencyGiven(const class FString& GameCurrencyType, int32 GameCurrencyAmount);
static void RecordCurrencyGivenWithAttributes(const class FString& GameCurrencyType, int32 GameCurrencyAmount, const TArray<struct FAnalyticsEventAttr>& Attributes);
static void RecordCurrencyPurchase(const class FString& GameCurrencyType, int32 GameCurrencyAmount, const class FString& RealCurrencyType, float RealMoneyCost, const class FString& PaymentProvider);
static void RecordError(const class FString& Error);
static void RecordErrorWithAttributes(const class FString& Error, const TArray<struct FAnalyticsEventAttr>& Attributes);
static void RecordEvent(const class FString& EventName);
static void RecordEventWithAttribute(const class FString& EventName, const class FString& AttributeName, const class FString& AttributeValue);
static void RecordEventWithAttributes(const class FString& EventName, const TArray<struct FAnalyticsEventAttr>& Attributes);
static void RecordItemPurchase(const class FString& ItemId, const class FString& Currency, int32 PerItemCost, int32 ItemQuantity);
static void RecordProgress(const class FString& ProgressType, const class FString& ProgressName);
static void RecordProgressWithAttributes(const class FString& ProgressType, const class FString& ProgressName, const TArray<struct FAnalyticsEventAttr>& Attributes);
static void RecordProgressWithFullHierarchyAndAttributes(const class FString& ProgressType, const TArray<class FString>& ProgressNames, const TArray<struct FAnalyticsEventAttr>& Attributes);
static void RecordSimpleCurrencyPurchase(const class FString& GameCurrencyType, int32 GameCurrencyAmount);
static void RecordSimpleCurrencyPurchaseWithAttributes(const class FString& GameCurrencyType, int32 GameCurrencyAmount, const TArray<struct FAnalyticsEventAttr>& Attributes);
static void RecordSimpleItemPurchase(const class FString& ItemId, int32 ItemQuantity);
static void RecordSimpleItemPurchaseWithAttributes(const class FString& ItemId, int32 ItemQuantity, const TArray<struct FAnalyticsEventAttr>& Attributes);
static void SetAge(int32 Age);
static void SetBuildInfo(const class FString& BuildInfo);
static void SetGender(const class FString& Gender);
static void SetLocation(const class FString& Location);
static void SetSessionId(const class FString& SessionId);
static void SetUserId(const class FString& UserId);
static bool StartSession();
static bool StartSessionWithAttributes(const TArray<struct FAnalyticsEventAttr>& Attributes);
public:
static class UClass* StaticClass()
{
return StaticClassImpl<"AnalyticsBlueprintLibrary">();
}
static class UAnalyticsBlueprintLibrary* GetDefaultObj()
{
return GetDefaultObjImpl<UAnalyticsBlueprintLibrary>();
}
};
static_assert(alignof(UAnalyticsBlueprintLibrary) == 0x000008, "Wrong alignment on UAnalyticsBlueprintLibrary");
static_assert(sizeof(UAnalyticsBlueprintLibrary) == 0x000028, "Wrong size on UAnalyticsBlueprintLibrary");
}
@@ -0,0 +1,791 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnalyticsBlueprintLibrary
#include "Basic.hpp"
#include "AnalyticsBlueprintLibrary_classes.hpp"
#include "AnalyticsBlueprintLibrary_parameters.hpp"
namespace SDK
{
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.EndSession
// (Final, Native, Static, Public, BlueprintCallable)
void UAnalyticsBlueprintLibrary::EndSession()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "EndSession");
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, nullptr);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.FlushEvents
// (Final, Native, Static, Public, BlueprintCallable)
void UAnalyticsBlueprintLibrary::FlushEvents()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "FlushEvents");
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, nullptr);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.GetSessionId
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// class FString ReturnValue (Parm, OutParm, ZeroConstructor, ReturnParm, HasGetValueTypeHash, NativeAccessSpecifierPublic)
class FString UAnalyticsBlueprintLibrary::GetSessionId()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "GetSessionId");
Params::AnalyticsBlueprintLibrary_GetSessionId Parms{};
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
return Parms.ReturnValue;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.GetUserId
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// class FString ReturnValue (Parm, OutParm, ZeroConstructor, ReturnParm, HasGetValueTypeHash, NativeAccessSpecifierPublic)
class FString UAnalyticsBlueprintLibrary::GetUserId()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "GetUserId");
Params::AnalyticsBlueprintLibrary_GetUserId Parms{};
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
return Parms.ReturnValue;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.MakeEventAttribute
// (Final, Native, Static, Public, BlueprintCallable, BlueprintPure)
// Parameters:
// const class FString& AttributeName (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const class FString& AttributeValue (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// struct FAnalyticsEventAttr ReturnValue (Parm, OutParm, ReturnParm, NativeAccessSpecifierPublic)
struct FAnalyticsEventAttr UAnalyticsBlueprintLibrary::MakeEventAttribute(const class FString& AttributeName, const class FString& AttributeValue)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "MakeEventAttribute");
Params::AnalyticsBlueprintLibrary_MakeEventAttribute Parms{};
Parms.AttributeName = std::move(AttributeName);
Parms.AttributeValue = std::move(AttributeValue);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
return Parms.ReturnValue;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordCurrencyGiven
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// const class FString& GameCurrencyType (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// int32 GameCurrencyAmount (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::RecordCurrencyGiven(const class FString& GameCurrencyType, int32 GameCurrencyAmount)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "RecordCurrencyGiven");
Params::AnalyticsBlueprintLibrary_RecordCurrencyGiven Parms{};
Parms.GameCurrencyType = std::move(GameCurrencyType);
Parms.GameCurrencyAmount = GameCurrencyAmount;
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordCurrencyGivenWithAttributes
// (Final, Native, Static, Public, HasOutParams, BlueprintCallable)
// Parameters:
// const class FString& GameCurrencyType (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// int32 GameCurrencyAmount (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const TArray<struct FAnalyticsEventAttr>&Attributes (ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::RecordCurrencyGivenWithAttributes(const class FString& GameCurrencyType, int32 GameCurrencyAmount, const TArray<struct FAnalyticsEventAttr>& Attributes)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "RecordCurrencyGivenWithAttributes");
Params::AnalyticsBlueprintLibrary_RecordCurrencyGivenWithAttributes Parms{};
Parms.GameCurrencyType = std::move(GameCurrencyType);
Parms.GameCurrencyAmount = GameCurrencyAmount;
Parms.Attributes = std::move(Attributes);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordCurrencyPurchase
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// const class FString& GameCurrencyType (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// int32 GameCurrencyAmount (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const class FString& RealCurrencyType (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// float RealMoneyCost (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const class FString& PaymentProvider (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::RecordCurrencyPurchase(const class FString& GameCurrencyType, int32 GameCurrencyAmount, const class FString& RealCurrencyType, float RealMoneyCost, const class FString& PaymentProvider)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "RecordCurrencyPurchase");
Params::AnalyticsBlueprintLibrary_RecordCurrencyPurchase Parms{};
Parms.GameCurrencyType = std::move(GameCurrencyType);
Parms.GameCurrencyAmount = GameCurrencyAmount;
Parms.RealCurrencyType = std::move(RealCurrencyType);
Parms.RealMoneyCost = RealMoneyCost;
Parms.PaymentProvider = std::move(PaymentProvider);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordError
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// const class FString& Error (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::RecordError(const class FString& Error)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "RecordError");
Params::AnalyticsBlueprintLibrary_RecordError Parms{};
Parms.Error = std::move(Error);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordErrorWithAttributes
// (Final, Native, Static, Public, HasOutParams, BlueprintCallable)
// Parameters:
// const class FString& Error (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const TArray<struct FAnalyticsEventAttr>&Attributes (ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::RecordErrorWithAttributes(const class FString& Error, const TArray<struct FAnalyticsEventAttr>& Attributes)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "RecordErrorWithAttributes");
Params::AnalyticsBlueprintLibrary_RecordErrorWithAttributes Parms{};
Parms.Error = std::move(Error);
Parms.Attributes = std::move(Attributes);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordEvent
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// const class FString& EventName (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::RecordEvent(const class FString& EventName)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "RecordEvent");
Params::AnalyticsBlueprintLibrary_RecordEvent Parms{};
Parms.EventName = std::move(EventName);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordEventWithAttribute
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// const class FString& EventName (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const class FString& AttributeName (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const class FString& AttributeValue (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::RecordEventWithAttribute(const class FString& EventName, const class FString& AttributeName, const class FString& AttributeValue)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "RecordEventWithAttribute");
Params::AnalyticsBlueprintLibrary_RecordEventWithAttribute Parms{};
Parms.EventName = std::move(EventName);
Parms.AttributeName = std::move(AttributeName);
Parms.AttributeValue = std::move(AttributeValue);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordEventWithAttributes
// (Final, Native, Static, Public, HasOutParams, BlueprintCallable)
// Parameters:
// const class FString& EventName (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const TArray<struct FAnalyticsEventAttr>&Attributes (ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::RecordEventWithAttributes(const class FString& EventName, const TArray<struct FAnalyticsEventAttr>& Attributes)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "RecordEventWithAttributes");
Params::AnalyticsBlueprintLibrary_RecordEventWithAttributes Parms{};
Parms.EventName = std::move(EventName);
Parms.Attributes = std::move(Attributes);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordItemPurchase
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// const class FString& ItemId (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const class FString& Currency (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// int32 PerItemCost (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// int32 ItemQuantity (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::RecordItemPurchase(const class FString& ItemId, const class FString& Currency, int32 PerItemCost, int32 ItemQuantity)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "RecordItemPurchase");
Params::AnalyticsBlueprintLibrary_RecordItemPurchase Parms{};
Parms.ItemId = std::move(ItemId);
Parms.Currency = std::move(Currency);
Parms.PerItemCost = PerItemCost;
Parms.ItemQuantity = ItemQuantity;
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordProgress
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// const class FString& ProgressType (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const class FString& ProgressName (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::RecordProgress(const class FString& ProgressType, const class FString& ProgressName)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "RecordProgress");
Params::AnalyticsBlueprintLibrary_RecordProgress Parms{};
Parms.ProgressType = std::move(ProgressType);
Parms.ProgressName = std::move(ProgressName);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordProgressWithAttributes
// (Final, Native, Static, Public, HasOutParams, BlueprintCallable)
// Parameters:
// const class FString& ProgressType (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const class FString& ProgressName (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const TArray<struct FAnalyticsEventAttr>&Attributes (ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::RecordProgressWithAttributes(const class FString& ProgressType, const class FString& ProgressName, const TArray<struct FAnalyticsEventAttr>& Attributes)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "RecordProgressWithAttributes");
Params::AnalyticsBlueprintLibrary_RecordProgressWithAttributes Parms{};
Parms.ProgressType = std::move(ProgressType);
Parms.ProgressName = std::move(ProgressName);
Parms.Attributes = std::move(Attributes);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordProgressWithFullHierarchyAndAttributes
// (Final, Native, Static, Public, HasOutParams, BlueprintCallable)
// Parameters:
// const class FString& ProgressType (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const TArray<class FString>& ProgressNames (ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
// const TArray<struct FAnalyticsEventAttr>&Attributes (ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::RecordProgressWithFullHierarchyAndAttributes(const class FString& ProgressType, const TArray<class FString>& ProgressNames, const TArray<struct FAnalyticsEventAttr>& Attributes)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "RecordProgressWithFullHierarchyAndAttributes");
Params::AnalyticsBlueprintLibrary_RecordProgressWithFullHierarchyAndAttributes Parms{};
Parms.ProgressType = std::move(ProgressType);
Parms.ProgressNames = std::move(ProgressNames);
Parms.Attributes = std::move(Attributes);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordSimpleCurrencyPurchase
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// const class FString& GameCurrencyType (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// int32 GameCurrencyAmount (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::RecordSimpleCurrencyPurchase(const class FString& GameCurrencyType, int32 GameCurrencyAmount)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "RecordSimpleCurrencyPurchase");
Params::AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchase Parms{};
Parms.GameCurrencyType = std::move(GameCurrencyType);
Parms.GameCurrencyAmount = GameCurrencyAmount;
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordSimpleCurrencyPurchaseWithAttributes
// (Final, Native, Static, Public, HasOutParams, BlueprintCallable)
// Parameters:
// const class FString& GameCurrencyType (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// int32 GameCurrencyAmount (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const TArray<struct FAnalyticsEventAttr>&Attributes (ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::RecordSimpleCurrencyPurchaseWithAttributes(const class FString& GameCurrencyType, int32 GameCurrencyAmount, const TArray<struct FAnalyticsEventAttr>& Attributes)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "RecordSimpleCurrencyPurchaseWithAttributes");
Params::AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchaseWithAttributes Parms{};
Parms.GameCurrencyType = std::move(GameCurrencyType);
Parms.GameCurrencyAmount = GameCurrencyAmount;
Parms.Attributes = std::move(Attributes);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordSimpleItemPurchase
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// const class FString& ItemId (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// int32 ItemQuantity (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::RecordSimpleItemPurchase(const class FString& ItemId, int32 ItemQuantity)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "RecordSimpleItemPurchase");
Params::AnalyticsBlueprintLibrary_RecordSimpleItemPurchase Parms{};
Parms.ItemId = std::move(ItemId);
Parms.ItemQuantity = ItemQuantity;
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordSimpleItemPurchaseWithAttributes
// (Final, Native, Static, Public, HasOutParams, BlueprintCallable)
// Parameters:
// const class FString& ItemId (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// int32 ItemQuantity (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const TArray<struct FAnalyticsEventAttr>&Attributes (ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::RecordSimpleItemPurchaseWithAttributes(const class FString& ItemId, int32 ItemQuantity, const TArray<struct FAnalyticsEventAttr>& Attributes)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "RecordSimpleItemPurchaseWithAttributes");
Params::AnalyticsBlueprintLibrary_RecordSimpleItemPurchaseWithAttributes Parms{};
Parms.ItemId = std::move(ItemId);
Parms.ItemQuantity = ItemQuantity;
Parms.Attributes = std::move(Attributes);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.SetAge
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// int32 Age (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::SetAge(int32 Age)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "SetAge");
Params::AnalyticsBlueprintLibrary_SetAge Parms{};
Parms.Age = Age;
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.SetBuildInfo
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// const class FString& BuildInfo (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::SetBuildInfo(const class FString& BuildInfo)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "SetBuildInfo");
Params::AnalyticsBlueprintLibrary_SetBuildInfo Parms{};
Parms.BuildInfo = std::move(BuildInfo);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.SetGender
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// const class FString& Gender (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::SetGender(const class FString& Gender)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "SetGender");
Params::AnalyticsBlueprintLibrary_SetGender Parms{};
Parms.Gender = std::move(Gender);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.SetLocation
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// const class FString& Location (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::SetLocation(const class FString& Location)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "SetLocation");
Params::AnalyticsBlueprintLibrary_SetLocation Parms{};
Parms.Location = std::move(Location);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.SetSessionId
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// const class FString& SessionId (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::SetSessionId(const class FString& SessionId)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "SetSessionId");
Params::AnalyticsBlueprintLibrary_SetSessionId Parms{};
Parms.SessionId = std::move(SessionId);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.SetUserId
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// const class FString& UserId (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
void UAnalyticsBlueprintLibrary::SetUserId(const class FString& UserId)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "SetUserId");
Params::AnalyticsBlueprintLibrary_SetUserId Parms{};
Parms.UserId = std::move(UserId);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.StartSession
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// bool ReturnValue (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
bool UAnalyticsBlueprintLibrary::StartSession()
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "StartSession");
Params::AnalyticsBlueprintLibrary_StartSession Parms{};
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
return Parms.ReturnValue;
}
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.StartSessionWithAttributes
// (Final, Native, Static, Public, HasOutParams, BlueprintCallable)
// Parameters:
// const TArray<struct FAnalyticsEventAttr>&Attributes (ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
// bool ReturnValue (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
bool UAnalyticsBlueprintLibrary::StartSessionWithAttributes(const TArray<struct FAnalyticsEventAttr>& Attributes)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AnalyticsBlueprintLibrary", "StartSessionWithAttributes");
Params::AnalyticsBlueprintLibrary_StartSessionWithAttributes Parms{};
Parms.Attributes = std::move(Attributes);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
return Parms.ReturnValue;
}
}
@@ -0,0 +1,382 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnalyticsBlueprintLibrary
#include "Basic.hpp"
#include "AnalyticsBlueprintLibrary_structs.hpp"
namespace SDK::Params
{
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.GetSessionId
// 0x0010 (0x0010 - 0x0000)
struct AnalyticsBlueprintLibrary_GetSessionId final
{
public:
class FString ReturnValue; // 0x0000(0x0010)(Parm, OutParm, ZeroConstructor, ReturnParm, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_GetSessionId) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_GetSessionId");
static_assert(sizeof(AnalyticsBlueprintLibrary_GetSessionId) == 0x000010, "Wrong size on AnalyticsBlueprintLibrary_GetSessionId");
static_assert(offsetof(AnalyticsBlueprintLibrary_GetSessionId, ReturnValue) == 0x000000, "Member 'AnalyticsBlueprintLibrary_GetSessionId::ReturnValue' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.GetUserId
// 0x0010 (0x0010 - 0x0000)
struct AnalyticsBlueprintLibrary_GetUserId final
{
public:
class FString ReturnValue; // 0x0000(0x0010)(Parm, OutParm, ZeroConstructor, ReturnParm, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_GetUserId) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_GetUserId");
static_assert(sizeof(AnalyticsBlueprintLibrary_GetUserId) == 0x000010, "Wrong size on AnalyticsBlueprintLibrary_GetUserId");
static_assert(offsetof(AnalyticsBlueprintLibrary_GetUserId, ReturnValue) == 0x000000, "Member 'AnalyticsBlueprintLibrary_GetUserId::ReturnValue' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.MakeEventAttribute
// 0x0040 (0x0040 - 0x0000)
struct AnalyticsBlueprintLibrary_MakeEventAttribute final
{
public:
class FString AttributeName; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
class FString AttributeValue; // 0x0010(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
struct FAnalyticsEventAttr ReturnValue; // 0x0020(0x0020)(Parm, OutParm, ReturnParm, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_MakeEventAttribute) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_MakeEventAttribute");
static_assert(sizeof(AnalyticsBlueprintLibrary_MakeEventAttribute) == 0x000040, "Wrong size on AnalyticsBlueprintLibrary_MakeEventAttribute");
static_assert(offsetof(AnalyticsBlueprintLibrary_MakeEventAttribute, AttributeName) == 0x000000, "Member 'AnalyticsBlueprintLibrary_MakeEventAttribute::AttributeName' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_MakeEventAttribute, AttributeValue) == 0x000010, "Member 'AnalyticsBlueprintLibrary_MakeEventAttribute::AttributeValue' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_MakeEventAttribute, ReturnValue) == 0x000020, "Member 'AnalyticsBlueprintLibrary_MakeEventAttribute::ReturnValue' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordCurrencyGiven
// 0x0018 (0x0018 - 0x0000)
struct AnalyticsBlueprintLibrary_RecordCurrencyGiven final
{
public:
class FString GameCurrencyType; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
int32 GameCurrencyAmount; // 0x0010(0x0004)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
uint8 Pad_14[0x4]; // 0x0014(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
static_assert(alignof(AnalyticsBlueprintLibrary_RecordCurrencyGiven) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_RecordCurrencyGiven");
static_assert(sizeof(AnalyticsBlueprintLibrary_RecordCurrencyGiven) == 0x000018, "Wrong size on AnalyticsBlueprintLibrary_RecordCurrencyGiven");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordCurrencyGiven, GameCurrencyType) == 0x000000, "Member 'AnalyticsBlueprintLibrary_RecordCurrencyGiven::GameCurrencyType' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordCurrencyGiven, GameCurrencyAmount) == 0x000010, "Member 'AnalyticsBlueprintLibrary_RecordCurrencyGiven::GameCurrencyAmount' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordCurrencyGivenWithAttributes
// 0x0028 (0x0028 - 0x0000)
struct AnalyticsBlueprintLibrary_RecordCurrencyGivenWithAttributes final
{
public:
class FString GameCurrencyType; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
int32 GameCurrencyAmount; // 0x0010(0x0004)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
uint8 Pad_14[0x4]; // 0x0014(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
TArray<struct FAnalyticsEventAttr> Attributes; // 0x0018(0x0010)(ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_RecordCurrencyGivenWithAttributes) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_RecordCurrencyGivenWithAttributes");
static_assert(sizeof(AnalyticsBlueprintLibrary_RecordCurrencyGivenWithAttributes) == 0x000028, "Wrong size on AnalyticsBlueprintLibrary_RecordCurrencyGivenWithAttributes");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordCurrencyGivenWithAttributes, GameCurrencyType) == 0x000000, "Member 'AnalyticsBlueprintLibrary_RecordCurrencyGivenWithAttributes::GameCurrencyType' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordCurrencyGivenWithAttributes, GameCurrencyAmount) == 0x000010, "Member 'AnalyticsBlueprintLibrary_RecordCurrencyGivenWithAttributes::GameCurrencyAmount' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordCurrencyGivenWithAttributes, Attributes) == 0x000018, "Member 'AnalyticsBlueprintLibrary_RecordCurrencyGivenWithAttributes::Attributes' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordCurrencyPurchase
// 0x0040 (0x0040 - 0x0000)
struct AnalyticsBlueprintLibrary_RecordCurrencyPurchase final
{
public:
class FString GameCurrencyType; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
int32 GameCurrencyAmount; // 0x0010(0x0004)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
uint8 Pad_14[0x4]; // 0x0014(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
class FString RealCurrencyType; // 0x0018(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
float RealMoneyCost; // 0x0028(0x0004)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
uint8 Pad_2C[0x4]; // 0x002C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
class FString PaymentProvider; // 0x0030(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_RecordCurrencyPurchase) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_RecordCurrencyPurchase");
static_assert(sizeof(AnalyticsBlueprintLibrary_RecordCurrencyPurchase) == 0x000040, "Wrong size on AnalyticsBlueprintLibrary_RecordCurrencyPurchase");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordCurrencyPurchase, GameCurrencyType) == 0x000000, "Member 'AnalyticsBlueprintLibrary_RecordCurrencyPurchase::GameCurrencyType' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordCurrencyPurchase, GameCurrencyAmount) == 0x000010, "Member 'AnalyticsBlueprintLibrary_RecordCurrencyPurchase::GameCurrencyAmount' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordCurrencyPurchase, RealCurrencyType) == 0x000018, "Member 'AnalyticsBlueprintLibrary_RecordCurrencyPurchase::RealCurrencyType' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordCurrencyPurchase, RealMoneyCost) == 0x000028, "Member 'AnalyticsBlueprintLibrary_RecordCurrencyPurchase::RealMoneyCost' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordCurrencyPurchase, PaymentProvider) == 0x000030, "Member 'AnalyticsBlueprintLibrary_RecordCurrencyPurchase::PaymentProvider' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordError
// 0x0010 (0x0010 - 0x0000)
struct AnalyticsBlueprintLibrary_RecordError final
{
public:
class FString Error; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_RecordError) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_RecordError");
static_assert(sizeof(AnalyticsBlueprintLibrary_RecordError) == 0x000010, "Wrong size on AnalyticsBlueprintLibrary_RecordError");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordError, Error) == 0x000000, "Member 'AnalyticsBlueprintLibrary_RecordError::Error' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordErrorWithAttributes
// 0x0020 (0x0020 - 0x0000)
struct AnalyticsBlueprintLibrary_RecordErrorWithAttributes final
{
public:
class FString Error; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
TArray<struct FAnalyticsEventAttr> Attributes; // 0x0010(0x0010)(ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_RecordErrorWithAttributes) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_RecordErrorWithAttributes");
static_assert(sizeof(AnalyticsBlueprintLibrary_RecordErrorWithAttributes) == 0x000020, "Wrong size on AnalyticsBlueprintLibrary_RecordErrorWithAttributes");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordErrorWithAttributes, Error) == 0x000000, "Member 'AnalyticsBlueprintLibrary_RecordErrorWithAttributes::Error' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordErrorWithAttributes, Attributes) == 0x000010, "Member 'AnalyticsBlueprintLibrary_RecordErrorWithAttributes::Attributes' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordEvent
// 0x0010 (0x0010 - 0x0000)
struct AnalyticsBlueprintLibrary_RecordEvent final
{
public:
class FString EventName; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_RecordEvent) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_RecordEvent");
static_assert(sizeof(AnalyticsBlueprintLibrary_RecordEvent) == 0x000010, "Wrong size on AnalyticsBlueprintLibrary_RecordEvent");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordEvent, EventName) == 0x000000, "Member 'AnalyticsBlueprintLibrary_RecordEvent::EventName' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordEventWithAttribute
// 0x0030 (0x0030 - 0x0000)
struct AnalyticsBlueprintLibrary_RecordEventWithAttribute final
{
public:
class FString EventName; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
class FString AttributeName; // 0x0010(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
class FString AttributeValue; // 0x0020(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_RecordEventWithAttribute) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_RecordEventWithAttribute");
static_assert(sizeof(AnalyticsBlueprintLibrary_RecordEventWithAttribute) == 0x000030, "Wrong size on AnalyticsBlueprintLibrary_RecordEventWithAttribute");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordEventWithAttribute, EventName) == 0x000000, "Member 'AnalyticsBlueprintLibrary_RecordEventWithAttribute::EventName' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordEventWithAttribute, AttributeName) == 0x000010, "Member 'AnalyticsBlueprintLibrary_RecordEventWithAttribute::AttributeName' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordEventWithAttribute, AttributeValue) == 0x000020, "Member 'AnalyticsBlueprintLibrary_RecordEventWithAttribute::AttributeValue' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordEventWithAttributes
// 0x0020 (0x0020 - 0x0000)
struct AnalyticsBlueprintLibrary_RecordEventWithAttributes final
{
public:
class FString EventName; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
TArray<struct FAnalyticsEventAttr> Attributes; // 0x0010(0x0010)(ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_RecordEventWithAttributes) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_RecordEventWithAttributes");
static_assert(sizeof(AnalyticsBlueprintLibrary_RecordEventWithAttributes) == 0x000020, "Wrong size on AnalyticsBlueprintLibrary_RecordEventWithAttributes");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordEventWithAttributes, EventName) == 0x000000, "Member 'AnalyticsBlueprintLibrary_RecordEventWithAttributes::EventName' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordEventWithAttributes, Attributes) == 0x000010, "Member 'AnalyticsBlueprintLibrary_RecordEventWithAttributes::Attributes' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordItemPurchase
// 0x0028 (0x0028 - 0x0000)
struct AnalyticsBlueprintLibrary_RecordItemPurchase final
{
public:
class FString ItemId; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
class FString Currency; // 0x0010(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
int32 PerItemCost; // 0x0020(0x0004)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
int32 ItemQuantity; // 0x0024(0x0004)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_RecordItemPurchase) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_RecordItemPurchase");
static_assert(sizeof(AnalyticsBlueprintLibrary_RecordItemPurchase) == 0x000028, "Wrong size on AnalyticsBlueprintLibrary_RecordItemPurchase");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordItemPurchase, ItemId) == 0x000000, "Member 'AnalyticsBlueprintLibrary_RecordItemPurchase::ItemId' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordItemPurchase, Currency) == 0x000010, "Member 'AnalyticsBlueprintLibrary_RecordItemPurchase::Currency' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordItemPurchase, PerItemCost) == 0x000020, "Member 'AnalyticsBlueprintLibrary_RecordItemPurchase::PerItemCost' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordItemPurchase, ItemQuantity) == 0x000024, "Member 'AnalyticsBlueprintLibrary_RecordItemPurchase::ItemQuantity' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordProgress
// 0x0020 (0x0020 - 0x0000)
struct AnalyticsBlueprintLibrary_RecordProgress final
{
public:
class FString ProgressType; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
class FString ProgressName; // 0x0010(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_RecordProgress) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_RecordProgress");
static_assert(sizeof(AnalyticsBlueprintLibrary_RecordProgress) == 0x000020, "Wrong size on AnalyticsBlueprintLibrary_RecordProgress");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordProgress, ProgressType) == 0x000000, "Member 'AnalyticsBlueprintLibrary_RecordProgress::ProgressType' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordProgress, ProgressName) == 0x000010, "Member 'AnalyticsBlueprintLibrary_RecordProgress::ProgressName' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordProgressWithAttributes
// 0x0030 (0x0030 - 0x0000)
struct AnalyticsBlueprintLibrary_RecordProgressWithAttributes final
{
public:
class FString ProgressType; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
class FString ProgressName; // 0x0010(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
TArray<struct FAnalyticsEventAttr> Attributes; // 0x0020(0x0010)(ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_RecordProgressWithAttributes) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_RecordProgressWithAttributes");
static_assert(sizeof(AnalyticsBlueprintLibrary_RecordProgressWithAttributes) == 0x000030, "Wrong size on AnalyticsBlueprintLibrary_RecordProgressWithAttributes");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordProgressWithAttributes, ProgressType) == 0x000000, "Member 'AnalyticsBlueprintLibrary_RecordProgressWithAttributes::ProgressType' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordProgressWithAttributes, ProgressName) == 0x000010, "Member 'AnalyticsBlueprintLibrary_RecordProgressWithAttributes::ProgressName' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordProgressWithAttributes, Attributes) == 0x000020, "Member 'AnalyticsBlueprintLibrary_RecordProgressWithAttributes::Attributes' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordProgressWithFullHierarchyAndAttributes
// 0x0030 (0x0030 - 0x0000)
struct AnalyticsBlueprintLibrary_RecordProgressWithFullHierarchyAndAttributes final
{
public:
class FString ProgressType; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
TArray<class FString> ProgressNames; // 0x0010(0x0010)(ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
TArray<struct FAnalyticsEventAttr> Attributes; // 0x0020(0x0010)(ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_RecordProgressWithFullHierarchyAndAttributes) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_RecordProgressWithFullHierarchyAndAttributes");
static_assert(sizeof(AnalyticsBlueprintLibrary_RecordProgressWithFullHierarchyAndAttributes) == 0x000030, "Wrong size on AnalyticsBlueprintLibrary_RecordProgressWithFullHierarchyAndAttributes");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordProgressWithFullHierarchyAndAttributes, ProgressType) == 0x000000, "Member 'AnalyticsBlueprintLibrary_RecordProgressWithFullHierarchyAndAttributes::ProgressType' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordProgressWithFullHierarchyAndAttributes, ProgressNames) == 0x000010, "Member 'AnalyticsBlueprintLibrary_RecordProgressWithFullHierarchyAndAttributes::ProgressNames' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordProgressWithFullHierarchyAndAttributes, Attributes) == 0x000020, "Member 'AnalyticsBlueprintLibrary_RecordProgressWithFullHierarchyAndAttributes::Attributes' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordSimpleCurrencyPurchase
// 0x0018 (0x0018 - 0x0000)
struct AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchase final
{
public:
class FString GameCurrencyType; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
int32 GameCurrencyAmount; // 0x0010(0x0004)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
uint8 Pad_14[0x4]; // 0x0014(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
static_assert(alignof(AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchase) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchase");
static_assert(sizeof(AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchase) == 0x000018, "Wrong size on AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchase");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchase, GameCurrencyType) == 0x000000, "Member 'AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchase::GameCurrencyType' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchase, GameCurrencyAmount) == 0x000010, "Member 'AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchase::GameCurrencyAmount' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordSimpleCurrencyPurchaseWithAttributes
// 0x0028 (0x0028 - 0x0000)
struct AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchaseWithAttributes final
{
public:
class FString GameCurrencyType; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
int32 GameCurrencyAmount; // 0x0010(0x0004)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
uint8 Pad_14[0x4]; // 0x0014(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
TArray<struct FAnalyticsEventAttr> Attributes; // 0x0018(0x0010)(ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchaseWithAttributes) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchaseWithAttributes");
static_assert(sizeof(AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchaseWithAttributes) == 0x000028, "Wrong size on AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchaseWithAttributes");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchaseWithAttributes, GameCurrencyType) == 0x000000, "Member 'AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchaseWithAttributes::GameCurrencyType' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchaseWithAttributes, GameCurrencyAmount) == 0x000010, "Member 'AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchaseWithAttributes::GameCurrencyAmount' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchaseWithAttributes, Attributes) == 0x000018, "Member 'AnalyticsBlueprintLibrary_RecordSimpleCurrencyPurchaseWithAttributes::Attributes' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordSimpleItemPurchase
// 0x0018 (0x0018 - 0x0000)
struct AnalyticsBlueprintLibrary_RecordSimpleItemPurchase final
{
public:
class FString ItemId; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
int32 ItemQuantity; // 0x0010(0x0004)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
uint8 Pad_14[0x4]; // 0x0014(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
static_assert(alignof(AnalyticsBlueprintLibrary_RecordSimpleItemPurchase) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_RecordSimpleItemPurchase");
static_assert(sizeof(AnalyticsBlueprintLibrary_RecordSimpleItemPurchase) == 0x000018, "Wrong size on AnalyticsBlueprintLibrary_RecordSimpleItemPurchase");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordSimpleItemPurchase, ItemId) == 0x000000, "Member 'AnalyticsBlueprintLibrary_RecordSimpleItemPurchase::ItemId' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordSimpleItemPurchase, ItemQuantity) == 0x000010, "Member 'AnalyticsBlueprintLibrary_RecordSimpleItemPurchase::ItemQuantity' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.RecordSimpleItemPurchaseWithAttributes
// 0x0028 (0x0028 - 0x0000)
struct AnalyticsBlueprintLibrary_RecordSimpleItemPurchaseWithAttributes final
{
public:
class FString ItemId; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
int32 ItemQuantity; // 0x0010(0x0004)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
uint8 Pad_14[0x4]; // 0x0014(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
TArray<struct FAnalyticsEventAttr> Attributes; // 0x0018(0x0010)(ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_RecordSimpleItemPurchaseWithAttributes) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_RecordSimpleItemPurchaseWithAttributes");
static_assert(sizeof(AnalyticsBlueprintLibrary_RecordSimpleItemPurchaseWithAttributes) == 0x000028, "Wrong size on AnalyticsBlueprintLibrary_RecordSimpleItemPurchaseWithAttributes");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordSimpleItemPurchaseWithAttributes, ItemId) == 0x000000, "Member 'AnalyticsBlueprintLibrary_RecordSimpleItemPurchaseWithAttributes::ItemId' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordSimpleItemPurchaseWithAttributes, ItemQuantity) == 0x000010, "Member 'AnalyticsBlueprintLibrary_RecordSimpleItemPurchaseWithAttributes::ItemQuantity' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_RecordSimpleItemPurchaseWithAttributes, Attributes) == 0x000018, "Member 'AnalyticsBlueprintLibrary_RecordSimpleItemPurchaseWithAttributes::Attributes' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.SetAge
// 0x0004 (0x0004 - 0x0000)
struct AnalyticsBlueprintLibrary_SetAge final
{
public:
int32 Age; // 0x0000(0x0004)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_SetAge) == 0x000004, "Wrong alignment on AnalyticsBlueprintLibrary_SetAge");
static_assert(sizeof(AnalyticsBlueprintLibrary_SetAge) == 0x000004, "Wrong size on AnalyticsBlueprintLibrary_SetAge");
static_assert(offsetof(AnalyticsBlueprintLibrary_SetAge, Age) == 0x000000, "Member 'AnalyticsBlueprintLibrary_SetAge::Age' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.SetBuildInfo
// 0x0010 (0x0010 - 0x0000)
struct AnalyticsBlueprintLibrary_SetBuildInfo final
{
public:
class FString BuildInfo; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_SetBuildInfo) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_SetBuildInfo");
static_assert(sizeof(AnalyticsBlueprintLibrary_SetBuildInfo) == 0x000010, "Wrong size on AnalyticsBlueprintLibrary_SetBuildInfo");
static_assert(offsetof(AnalyticsBlueprintLibrary_SetBuildInfo, BuildInfo) == 0x000000, "Member 'AnalyticsBlueprintLibrary_SetBuildInfo::BuildInfo' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.SetGender
// 0x0010 (0x0010 - 0x0000)
struct AnalyticsBlueprintLibrary_SetGender final
{
public:
class FString Gender; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_SetGender) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_SetGender");
static_assert(sizeof(AnalyticsBlueprintLibrary_SetGender) == 0x000010, "Wrong size on AnalyticsBlueprintLibrary_SetGender");
static_assert(offsetof(AnalyticsBlueprintLibrary_SetGender, Gender) == 0x000000, "Member 'AnalyticsBlueprintLibrary_SetGender::Gender' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.SetLocation
// 0x0010 (0x0010 - 0x0000)
struct AnalyticsBlueprintLibrary_SetLocation final
{
public:
class FString Location; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_SetLocation) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_SetLocation");
static_assert(sizeof(AnalyticsBlueprintLibrary_SetLocation) == 0x000010, "Wrong size on AnalyticsBlueprintLibrary_SetLocation");
static_assert(offsetof(AnalyticsBlueprintLibrary_SetLocation, Location) == 0x000000, "Member 'AnalyticsBlueprintLibrary_SetLocation::Location' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.SetSessionId
// 0x0010 (0x0010 - 0x0000)
struct AnalyticsBlueprintLibrary_SetSessionId final
{
public:
class FString SessionId; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_SetSessionId) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_SetSessionId");
static_assert(sizeof(AnalyticsBlueprintLibrary_SetSessionId) == 0x000010, "Wrong size on AnalyticsBlueprintLibrary_SetSessionId");
static_assert(offsetof(AnalyticsBlueprintLibrary_SetSessionId, SessionId) == 0x000000, "Member 'AnalyticsBlueprintLibrary_SetSessionId::SessionId' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.SetUserId
// 0x0010 (0x0010 - 0x0000)
struct AnalyticsBlueprintLibrary_SetUserId final
{
public:
class FString UserId; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_SetUserId) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_SetUserId");
static_assert(sizeof(AnalyticsBlueprintLibrary_SetUserId) == 0x000010, "Wrong size on AnalyticsBlueprintLibrary_SetUserId");
static_assert(offsetof(AnalyticsBlueprintLibrary_SetUserId, UserId) == 0x000000, "Member 'AnalyticsBlueprintLibrary_SetUserId::UserId' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.StartSession
// 0x0001 (0x0001 - 0x0000)
struct AnalyticsBlueprintLibrary_StartSession final
{
public:
bool ReturnValue; // 0x0000(0x0001)(Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(AnalyticsBlueprintLibrary_StartSession) == 0x000001, "Wrong alignment on AnalyticsBlueprintLibrary_StartSession");
static_assert(sizeof(AnalyticsBlueprintLibrary_StartSession) == 0x000001, "Wrong size on AnalyticsBlueprintLibrary_StartSession");
static_assert(offsetof(AnalyticsBlueprintLibrary_StartSession, ReturnValue) == 0x000000, "Member 'AnalyticsBlueprintLibrary_StartSession::ReturnValue' has a wrong offset!");
// Function AnalyticsBlueprintLibrary.AnalyticsBlueprintLibrary.StartSessionWithAttributes
// 0x0018 (0x0018 - 0x0000)
struct AnalyticsBlueprintLibrary_StartSessionWithAttributes final
{
public:
TArray<struct FAnalyticsEventAttr> Attributes; // 0x0000(0x0010)(ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
bool ReturnValue; // 0x0010(0x0001)(Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
uint8 Pad_11[0x7]; // 0x0011(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
static_assert(alignof(AnalyticsBlueprintLibrary_StartSessionWithAttributes) == 0x000008, "Wrong alignment on AnalyticsBlueprintLibrary_StartSessionWithAttributes");
static_assert(sizeof(AnalyticsBlueprintLibrary_StartSessionWithAttributes) == 0x000018, "Wrong size on AnalyticsBlueprintLibrary_StartSessionWithAttributes");
static_assert(offsetof(AnalyticsBlueprintLibrary_StartSessionWithAttributes, Attributes) == 0x000000, "Member 'AnalyticsBlueprintLibrary_StartSessionWithAttributes::Attributes' has a wrong offset!");
static_assert(offsetof(AnalyticsBlueprintLibrary_StartSessionWithAttributes, ReturnValue) == 0x000010, "Member 'AnalyticsBlueprintLibrary_StartSessionWithAttributes::ReturnValue' has a wrong offset!");
}
@@ -0,0 +1,31 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnalyticsBlueprintLibrary
#include "Basic.hpp"
namespace SDK
{
// ScriptStruct AnalyticsBlueprintLibrary.AnalyticsEventAttr
// 0x0020 (0x0020 - 0x0000)
struct FAnalyticsEventAttr final
{
public:
class FString Name; // 0x0000(0x0010)(Edit, BlueprintVisible, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
class FString Value; // 0x0010(0x0010)(Edit, BlueprintVisible, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(FAnalyticsEventAttr) == 0x000008, "Wrong alignment on FAnalyticsEventAttr");
static_assert(sizeof(FAnalyticsEventAttr) == 0x000020, "Wrong size on FAnalyticsEventAttr");
static_assert(offsetof(FAnalyticsEventAttr, Name) == 0x000000, "Member 'FAnalyticsEventAttr::Name' has a wrong offset!");
static_assert(offsetof(FAnalyticsEventAttr, Value) == 0x000010, "Member 'FAnalyticsEventAttr::Value' has a wrong offset!");
}
@@ -0,0 +1,64 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AndroidPermission
#include "Basic.hpp"
#include "CoreUObject_classes.hpp"
#include "Engine_classes.hpp"
namespace SDK
{
// Class AndroidPermission.AndroidPermissionCallbackProxy
// 0x0058 (0x0080 - 0x0028)
class UAndroidPermissionCallbackProxy final : public UObject
{
public:
UMulticastDelegateProperty_ OnPermissionsGrantedDynamicDelegate; // 0x0028(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
uint8 Pad_38[0x48]; // 0x0038(0x0048)(Fixing Struct Size After Last Property [ Dumper-7 ])
public:
static class UClass* StaticClass()
{
return StaticClassImpl<"AndroidPermissionCallbackProxy">();
}
static class UAndroidPermissionCallbackProxy* GetDefaultObj()
{
return GetDefaultObjImpl<UAndroidPermissionCallbackProxy>();
}
};
static_assert(alignof(UAndroidPermissionCallbackProxy) == 0x000008, "Wrong alignment on UAndroidPermissionCallbackProxy");
static_assert(sizeof(UAndroidPermissionCallbackProxy) == 0x000080, "Wrong size on UAndroidPermissionCallbackProxy");
static_assert(offsetof(UAndroidPermissionCallbackProxy, OnPermissionsGrantedDynamicDelegate) == 0x000028, "Member 'UAndroidPermissionCallbackProxy::OnPermissionsGrantedDynamicDelegate' has a wrong offset!");
// Class AndroidPermission.AndroidPermissionFunctionLibrary
// 0x0000 (0x0028 - 0x0028)
class UAndroidPermissionFunctionLibrary final : public UBlueprintFunctionLibrary
{
public:
static class UAndroidPermissionCallbackProxy* AcquirePermissions(const TArray<class FString>& Permissions);
static bool CheckPermission(const class FString& permission);
public:
static class UClass* StaticClass()
{
return StaticClassImpl<"AndroidPermissionFunctionLibrary">();
}
static class UAndroidPermissionFunctionLibrary* GetDefaultObj()
{
return GetDefaultObjImpl<UAndroidPermissionFunctionLibrary>();
}
};
static_assert(alignof(UAndroidPermissionFunctionLibrary) == 0x000008, "Wrong alignment on UAndroidPermissionFunctionLibrary");
static_assert(sizeof(UAndroidPermissionFunctionLibrary) == 0x000028, "Wrong size on UAndroidPermissionFunctionLibrary");
}
@@ -0,0 +1,76 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AndroidPermission
#include "Basic.hpp"
#include "AndroidPermission_classes.hpp"
#include "AndroidPermission_parameters.hpp"
namespace SDK
{
// Function AndroidPermission.AndroidPermissionFunctionLibrary.AcquirePermissions
// (Final, Native, Static, Public, HasOutParams, BlueprintCallable)
// Parameters:
// const TArray<class FString>& Permissions (ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
// class UAndroidPermissionCallbackProxy* ReturnValue (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
class UAndroidPermissionCallbackProxy* UAndroidPermissionFunctionLibrary::AcquirePermissions(const TArray<class FString>& Permissions)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AndroidPermissionFunctionLibrary", "AcquirePermissions");
Params::AndroidPermissionFunctionLibrary_AcquirePermissions Parms{};
Parms.Permissions = std::move(Permissions);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
return Parms.ReturnValue;
}
// Function AndroidPermission.AndroidPermissionFunctionLibrary.CheckPermission
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// const class FString& permission (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// bool ReturnValue (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
bool UAndroidPermissionFunctionLibrary::CheckPermission(const class FString& permission)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("AndroidPermissionFunctionLibrary", "CheckPermission");
Params::AndroidPermissionFunctionLibrary_CheckPermission Parms{};
Parms.permission = std::move(permission);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
return Parms.ReturnValue;
}
}
@@ -0,0 +1,45 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AndroidPermission
#include "Basic.hpp"
namespace SDK::Params
{
// Function AndroidPermission.AndroidPermissionFunctionLibrary.AcquirePermissions
// 0x0018 (0x0018 - 0x0000)
struct AndroidPermissionFunctionLibrary_AcquirePermissions final
{
public:
TArray<class FString> Permissions; // 0x0000(0x0010)(ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
class UAndroidPermissionCallbackProxy* ReturnValue; // 0x0010(0x0008)(Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(AndroidPermissionFunctionLibrary_AcquirePermissions) == 0x000008, "Wrong alignment on AndroidPermissionFunctionLibrary_AcquirePermissions");
static_assert(sizeof(AndroidPermissionFunctionLibrary_AcquirePermissions) == 0x000018, "Wrong size on AndroidPermissionFunctionLibrary_AcquirePermissions");
static_assert(offsetof(AndroidPermissionFunctionLibrary_AcquirePermissions, Permissions) == 0x000000, "Member 'AndroidPermissionFunctionLibrary_AcquirePermissions::Permissions' has a wrong offset!");
static_assert(offsetof(AndroidPermissionFunctionLibrary_AcquirePermissions, ReturnValue) == 0x000010, "Member 'AndroidPermissionFunctionLibrary_AcquirePermissions::ReturnValue' has a wrong offset!");
// Function AndroidPermission.AndroidPermissionFunctionLibrary.CheckPermission
// 0x0018 (0x0018 - 0x0000)
struct AndroidPermissionFunctionLibrary_CheckPermission final
{
public:
class FString permission; // 0x0000(0x0010)(Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
bool ReturnValue; // 0x0010(0x0001)(Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
uint8 Pad_11[0x7]; // 0x0011(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
static_assert(alignof(AndroidPermissionFunctionLibrary_CheckPermission) == 0x000008, "Wrong alignment on AndroidPermissionFunctionLibrary_CheckPermission");
static_assert(sizeof(AndroidPermissionFunctionLibrary_CheckPermission) == 0x000018, "Wrong size on AndroidPermissionFunctionLibrary_CheckPermission");
static_assert(offsetof(AndroidPermissionFunctionLibrary_CheckPermission, permission) == 0x000000, "Member 'AndroidPermissionFunctionLibrary_CheckPermission::permission' has a wrong offset!");
static_assert(offsetof(AndroidPermissionFunctionLibrary_CheckPermission, ReturnValue) == 0x000010, "Member 'AndroidPermissionFunctionLibrary_CheckPermission::ReturnValue' has a wrong offset!");
}
+159
View File
@@ -0,0 +1,159 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnimGraphRuntime
#include "Basic.hpp"
#include "Engine_classes.hpp"
#include "CoreUObject_classes.hpp"
namespace SDK
{
// Class AnimGraphRuntime.AnimCustomInstance
// 0x0008 (0x0380 - 0x0378)
class UAnimCustomInstance : public UAnimInstance
{
public:
uint8 Pad_378[0x8]; // 0x0378(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])
public:
static class UClass* StaticClass()
{
return StaticClassImpl<"AnimCustomInstance">();
}
static class UAnimCustomInstance* GetDefaultObj()
{
return GetDefaultObjImpl<UAnimCustomInstance>();
}
};
static_assert(alignof(UAnimCustomInstance) == 0x000008, "Wrong alignment on UAnimCustomInstance");
static_assert(sizeof(UAnimCustomInstance) == 0x000380, "Wrong size on UAnimCustomInstance");
// Class AnimGraphRuntime.AnimNotify_PlayMontageNotify
// 0x0008 (0x0040 - 0x0038)
class UAnimNotify_PlayMontageNotify final : public UAnimNotify
{
public:
class FName NotifyName; // 0x0038(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
public:
static class UClass* StaticClass()
{
return StaticClassImpl<"AnimNotify_PlayMontageNotify">();
}
static class UAnimNotify_PlayMontageNotify* GetDefaultObj()
{
return GetDefaultObjImpl<UAnimNotify_PlayMontageNotify>();
}
};
static_assert(alignof(UAnimNotify_PlayMontageNotify) == 0x000008, "Wrong alignment on UAnimNotify_PlayMontageNotify");
static_assert(sizeof(UAnimNotify_PlayMontageNotify) == 0x000040, "Wrong size on UAnimNotify_PlayMontageNotify");
static_assert(offsetof(UAnimNotify_PlayMontageNotify, NotifyName) == 0x000038, "Member 'UAnimNotify_PlayMontageNotify::NotifyName' has a wrong offset!");
// Class AnimGraphRuntime.AnimNotify_PlayMontageNotifyWindow
// 0x0008 (0x0038 - 0x0030)
class UAnimNotify_PlayMontageNotifyWindow final : public UAnimNotifyState
{
public:
class FName NotifyName; // 0x0030(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
public:
static class UClass* StaticClass()
{
return StaticClassImpl<"AnimNotify_PlayMontageNotifyWindow">();
}
static class UAnimNotify_PlayMontageNotifyWindow* GetDefaultObj()
{
return GetDefaultObjImpl<UAnimNotify_PlayMontageNotifyWindow>();
}
};
static_assert(alignof(UAnimNotify_PlayMontageNotifyWindow) == 0x000008, "Wrong alignment on UAnimNotify_PlayMontageNotifyWindow");
static_assert(sizeof(UAnimNotify_PlayMontageNotifyWindow) == 0x000038, "Wrong size on UAnimNotify_PlayMontageNotifyWindow");
static_assert(offsetof(UAnimNotify_PlayMontageNotifyWindow, NotifyName) == 0x000030, "Member 'UAnimNotify_PlayMontageNotifyWindow::NotifyName' has a wrong offset!");
// Class AnimGraphRuntime.AnimSequencerInstance
// 0x0000 (0x0380 - 0x0380)
class UAnimSequencerInstance final : public UAnimCustomInstance
{
public:
static class UClass* StaticClass()
{
return StaticClassImpl<"AnimSequencerInstance">();
}
static class UAnimSequencerInstance* GetDefaultObj()
{
return GetDefaultObjImpl<UAnimSequencerInstance>();
}
};
static_assert(alignof(UAnimSequencerInstance) == 0x000008, "Wrong alignment on UAnimSequencerInstance");
static_assert(sizeof(UAnimSequencerInstance) == 0x000380, "Wrong size on UAnimSequencerInstance");
// Class AnimGraphRuntime.KismetAnimationLibrary
// 0x0000 (0x0028 - 0x0028)
class UKismetAnimationLibrary final : public UBlueprintFunctionLibrary
{
public:
static struct FTransform K2_LookAt(const struct FTransform& CurrentTransform, const struct FVector& TargetPosition, const struct FVector& LookAtVector, bool bUseUpVector, const struct FVector& UpVector, float ClampConeInDegree);
static void K2_TwoBoneIK(const struct FVector& RootPos, const struct FVector& JointPos, const struct FVector& EndPos, const struct FVector& JointTarget, const struct FVector& Effector, struct FVector* OutJointPos, struct FVector* OutEndPos, bool bAllowStretching, float StartStretchRatio, float MaxStretchScale);
public:
static class UClass* StaticClass()
{
return StaticClassImpl<"KismetAnimationLibrary">();
}
static class UKismetAnimationLibrary* GetDefaultObj()
{
return GetDefaultObjImpl<UKismetAnimationLibrary>();
}
};
static_assert(alignof(UKismetAnimationLibrary) == 0x000008, "Wrong alignment on UKismetAnimationLibrary");
static_assert(sizeof(UKismetAnimationLibrary) == 0x000028, "Wrong size on UKismetAnimationLibrary");
// Class AnimGraphRuntime.PlayMontageCallbackProxy
// 0x00E8 (0x0110 - 0x0028)
class UPlayMontageCallbackProxy final : public UObject
{
public:
UMulticastDelegateProperty_ OnCompleted; // 0x0028(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
UMulticastDelegateProperty_ OnBlendOut; // 0x0038(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
UMulticastDelegateProperty_ OnInterrupted; // 0x0048(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
UMulticastDelegateProperty_ OnNotifyBegin; // 0x0058(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
UMulticastDelegateProperty_ OnNotifyEnd; // 0x0068(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
uint8 Pad_78[0x98]; // 0x0078(0x0098)(Fixing Struct Size After Last Property [ Dumper-7 ])
public:
static class UPlayMontageCallbackProxy* CreateProxyObjectForPlayMontage(class USkeletalMeshComponent* InSkeletalMeshComponent, class UAnimMontage* MontageToPlay, float PlayRate, float StartingPosition, class FName StartingSection);
void OnMontageBlendingOut(class UAnimMontage* Montage, bool bInterrupted);
void OnMontageEnded(class UAnimMontage* Montage, bool bInterrupted);
void OnNotifyBeginReceived(class FName NotifyName, const struct FBranchingPointNotifyPayload& BranchingPointNotifyPayload);
void OnNotifyEndReceived(class FName NotifyName, const struct FBranchingPointNotifyPayload& BranchingPointNotifyPayload);
public:
static class UClass* StaticClass()
{
return StaticClassImpl<"PlayMontageCallbackProxy">();
}
static class UPlayMontageCallbackProxy* GetDefaultObj()
{
return GetDefaultObjImpl<UPlayMontageCallbackProxy>();
}
};
static_assert(alignof(UPlayMontageCallbackProxy) == 0x000008, "Wrong alignment on UPlayMontageCallbackProxy");
static_assert(sizeof(UPlayMontageCallbackProxy) == 0x000110, "Wrong size on UPlayMontageCallbackProxy");
static_assert(offsetof(UPlayMontageCallbackProxy, OnCompleted) == 0x000028, "Member 'UPlayMontageCallbackProxy::OnCompleted' has a wrong offset!");
static_assert(offsetof(UPlayMontageCallbackProxy, OnBlendOut) == 0x000038, "Member 'UPlayMontageCallbackProxy::OnBlendOut' has a wrong offset!");
static_assert(offsetof(UPlayMontageCallbackProxy, OnInterrupted) == 0x000048, "Member 'UPlayMontageCallbackProxy::OnInterrupted' has a wrong offset!");
static_assert(offsetof(UPlayMontageCallbackProxy, OnNotifyBegin) == 0x000058, "Member 'UPlayMontageCallbackProxy::OnNotifyBegin' has a wrong offset!");
static_assert(offsetof(UPlayMontageCallbackProxy, OnNotifyEnd) == 0x000068, "Member 'UPlayMontageCallbackProxy::OnNotifyEnd' has a wrong offset!");
}
+249
View File
@@ -0,0 +1,249 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnimGraphRuntime
#include "Basic.hpp"
#include "AnimGraphRuntime_classes.hpp"
#include "AnimGraphRuntime_parameters.hpp"
namespace SDK
{
// Function AnimGraphRuntime.KismetAnimationLibrary.K2_LookAt
// (Final, Native, Static, Public, HasOutParams, HasDefaults, BlueprintCallable, BlueprintPure)
// Parameters:
// const struct FTransform& CurrentTransform (ConstParm, Parm, OutParm, ReferenceParm, IsPlainOldData, NoDestructor, NativeAccessSpecifierPublic)
// const struct FVector& TargetPosition (ConstParm, Parm, OutParm, ReferenceParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const struct FVector& LookAtVector (Parm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// bool bUseUpVector (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const struct FVector& UpVector (Parm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// float ClampConeInDegree (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// struct FTransform ReturnValue (Parm, OutParm, ReturnParm, IsPlainOldData, NoDestructor, NativeAccessSpecifierPublic)
struct FTransform UKismetAnimationLibrary::K2_LookAt(const struct FTransform& CurrentTransform, const struct FVector& TargetPosition, const struct FVector& LookAtVector, bool bUseUpVector, const struct FVector& UpVector, float ClampConeInDegree)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("KismetAnimationLibrary", "K2_LookAt");
Params::KismetAnimationLibrary_K2_LookAt Parms{};
Parms.CurrentTransform = std::move(CurrentTransform);
Parms.TargetPosition = std::move(TargetPosition);
Parms.LookAtVector = std::move(LookAtVector);
Parms.bUseUpVector = bUseUpVector;
Parms.UpVector = std::move(UpVector);
Parms.ClampConeInDegree = ClampConeInDegree;
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
return Parms.ReturnValue;
}
// Function AnimGraphRuntime.KismetAnimationLibrary.K2_TwoBoneIK
// (Final, Native, Static, Public, HasOutParams, HasDefaults, BlueprintCallable, BlueprintPure)
// Parameters:
// const struct FVector& RootPos (ConstParm, Parm, OutParm, ReferenceParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const struct FVector& JointPos (ConstParm, Parm, OutParm, ReferenceParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const struct FVector& EndPos (ConstParm, Parm, OutParm, ReferenceParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const struct FVector& JointTarget (ConstParm, Parm, OutParm, ReferenceParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const struct FVector& Effector (ConstParm, Parm, OutParm, ReferenceParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// struct FVector* OutJointPos (Parm, OutParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// struct FVector* OutEndPos (Parm, OutParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// bool bAllowStretching (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// float StartStretchRatio (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// float MaxStretchScale (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
void UKismetAnimationLibrary::K2_TwoBoneIK(const struct FVector& RootPos, const struct FVector& JointPos, const struct FVector& EndPos, const struct FVector& JointTarget, const struct FVector& Effector, struct FVector* OutJointPos, struct FVector* OutEndPos, bool bAllowStretching, float StartStretchRatio, float MaxStretchScale)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("KismetAnimationLibrary", "K2_TwoBoneIK");
Params::KismetAnimationLibrary_K2_TwoBoneIK Parms{};
Parms.RootPos = std::move(RootPos);
Parms.JointPos = std::move(JointPos);
Parms.EndPos = std::move(EndPos);
Parms.JointTarget = std::move(JointTarget);
Parms.Effector = std::move(Effector);
Parms.bAllowStretching = bAllowStretching;
Parms.StartStretchRatio = StartStretchRatio;
Parms.MaxStretchScale = MaxStretchScale;
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
if (OutJointPos != nullptr)
*OutJointPos = std::move(Parms.OutJointPos);
if (OutEndPos != nullptr)
*OutEndPos = std::move(Parms.OutEndPos);
}
// Function AnimGraphRuntime.PlayMontageCallbackProxy.CreateProxyObjectForPlayMontage
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// class USkeletalMeshComponent* InSkeletalMeshComponent (Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// class UAnimMontage* MontageToPlay (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// float PlayRate (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// float StartingPosition (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// class FName StartingSection (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// class UPlayMontageCallbackProxy* ReturnValue (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
class UPlayMontageCallbackProxy* UPlayMontageCallbackProxy::CreateProxyObjectForPlayMontage(class USkeletalMeshComponent* InSkeletalMeshComponent, class UAnimMontage* MontageToPlay, float PlayRate, float StartingPosition, class FName StartingSection)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = StaticClass()->GetFunction("PlayMontageCallbackProxy", "CreateProxyObjectForPlayMontage");
Params::PlayMontageCallbackProxy_CreateProxyObjectForPlayMontage Parms{};
Parms.InSkeletalMeshComponent = InSkeletalMeshComponent;
Parms.MontageToPlay = MontageToPlay;
Parms.PlayRate = PlayRate;
Parms.StartingPosition = StartingPosition;
Parms.StartingSection = StartingSection;
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
GetDefaultObj()->ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
return Parms.ReturnValue;
}
// Function AnimGraphRuntime.PlayMontageCallbackProxy.OnMontageBlendingOut
// (Final, Native, Protected)
// Parameters:
// class UAnimMontage* Montage (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// bool bInterrupted (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
void UPlayMontageCallbackProxy::OnMontageBlendingOut(class UAnimMontage* Montage, bool bInterrupted)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("PlayMontageCallbackProxy", "OnMontageBlendingOut");
Params::PlayMontageCallbackProxy_OnMontageBlendingOut Parms{};
Parms.Montage = Montage;
Parms.bInterrupted = bInterrupted;
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
UObject::ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnimGraphRuntime.PlayMontageCallbackProxy.OnMontageEnded
// (Final, Native, Protected)
// Parameters:
// class UAnimMontage* Montage (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// bool bInterrupted (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
void UPlayMontageCallbackProxy::OnMontageEnded(class UAnimMontage* Montage, bool bInterrupted)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("PlayMontageCallbackProxy", "OnMontageEnded");
Params::PlayMontageCallbackProxy_OnMontageEnded Parms{};
Parms.Montage = Montage;
Parms.bInterrupted = bInterrupted;
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
UObject::ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnimGraphRuntime.PlayMontageCallbackProxy.OnNotifyBeginReceived
// (Final, Native, Protected, HasOutParams)
// Parameters:
// class FName NotifyName (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const struct FBranchingPointNotifyPayload&BranchingPointNotifyPayload (ConstParm, Parm, OutParm, ReferenceParm, NoDestructor, NativeAccessSpecifierPublic)
void UPlayMontageCallbackProxy::OnNotifyBeginReceived(class FName NotifyName, const struct FBranchingPointNotifyPayload& BranchingPointNotifyPayload)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("PlayMontageCallbackProxy", "OnNotifyBeginReceived");
Params::PlayMontageCallbackProxy_OnNotifyBeginReceived Parms{};
Parms.NotifyName = NotifyName;
Parms.BranchingPointNotifyPayload = std::move(BranchingPointNotifyPayload);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
UObject::ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
// Function AnimGraphRuntime.PlayMontageCallbackProxy.OnNotifyEndReceived
// (Final, Native, Protected, HasOutParams)
// Parameters:
// class FName NotifyName (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const struct FBranchingPointNotifyPayload&BranchingPointNotifyPayload (ConstParm, Parm, OutParm, ReferenceParm, NoDestructor, NativeAccessSpecifierPublic)
void UPlayMontageCallbackProxy::OnNotifyEndReceived(class FName NotifyName, const struct FBranchingPointNotifyPayload& BranchingPointNotifyPayload)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("PlayMontageCallbackProxy", "OnNotifyEndReceived");
Params::PlayMontageCallbackProxy_OnNotifyEndReceived Parms{};
Parms.NotifyName = NotifyName;
Parms.BranchingPointNotifyPayload = std::move(BranchingPointNotifyPayload);
auto Flgs = Func->FunctionFlags;
Func->FunctionFlags |= 0x400;
UObject::ProcessEvent(Func, &Parms);
Func->FunctionFlags = Flgs;
}
}
@@ -0,0 +1,151 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnimGraphRuntime
#include "Basic.hpp"
#include "CoreUObject_structs.hpp"
#include "Engine_structs.hpp"
namespace SDK::Params
{
// Function AnimGraphRuntime.KismetAnimationLibrary.K2_LookAt
// 0x0090 (0x0090 - 0x0000)
struct KismetAnimationLibrary_K2_LookAt final
{
public:
struct FTransform CurrentTransform; // 0x0000(0x0030)(ConstParm, Parm, OutParm, ReferenceParm, IsPlainOldData, NoDestructor, NativeAccessSpecifierPublic)
struct FVector TargetPosition; // 0x0030(0x000C)(ConstParm, Parm, OutParm, ReferenceParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
struct FVector LookAtVector; // 0x003C(0x000C)(Parm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
bool bUseUpVector; // 0x0048(0x0001)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
uint8 Pad_49[0x3]; // 0x0049(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
struct FVector UpVector; // 0x004C(0x000C)(Parm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
float ClampConeInDegree; // 0x0058(0x0004)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
uint8 Pad_5C[0x4]; // 0x005C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
struct FTransform ReturnValue; // 0x0060(0x0030)(Parm, OutParm, ReturnParm, IsPlainOldData, NoDestructor, NativeAccessSpecifierPublic)
};
static_assert(alignof(KismetAnimationLibrary_K2_LookAt) == 0x000010, "Wrong alignment on KismetAnimationLibrary_K2_LookAt");
static_assert(sizeof(KismetAnimationLibrary_K2_LookAt) == 0x000090, "Wrong size on KismetAnimationLibrary_K2_LookAt");
static_assert(offsetof(KismetAnimationLibrary_K2_LookAt, CurrentTransform) == 0x000000, "Member 'KismetAnimationLibrary_K2_LookAt::CurrentTransform' has a wrong offset!");
static_assert(offsetof(KismetAnimationLibrary_K2_LookAt, TargetPosition) == 0x000030, "Member 'KismetAnimationLibrary_K2_LookAt::TargetPosition' has a wrong offset!");
static_assert(offsetof(KismetAnimationLibrary_K2_LookAt, LookAtVector) == 0x00003C, "Member 'KismetAnimationLibrary_K2_LookAt::LookAtVector' has a wrong offset!");
static_assert(offsetof(KismetAnimationLibrary_K2_LookAt, bUseUpVector) == 0x000048, "Member 'KismetAnimationLibrary_K2_LookAt::bUseUpVector' has a wrong offset!");
static_assert(offsetof(KismetAnimationLibrary_K2_LookAt, UpVector) == 0x00004C, "Member 'KismetAnimationLibrary_K2_LookAt::UpVector' has a wrong offset!");
static_assert(offsetof(KismetAnimationLibrary_K2_LookAt, ClampConeInDegree) == 0x000058, "Member 'KismetAnimationLibrary_K2_LookAt::ClampConeInDegree' has a wrong offset!");
static_assert(offsetof(KismetAnimationLibrary_K2_LookAt, ReturnValue) == 0x000060, "Member 'KismetAnimationLibrary_K2_LookAt::ReturnValue' has a wrong offset!");
// Function AnimGraphRuntime.KismetAnimationLibrary.K2_TwoBoneIK
// 0x0060 (0x0060 - 0x0000)
struct KismetAnimationLibrary_K2_TwoBoneIK final
{
public:
struct FVector RootPos; // 0x0000(0x000C)(ConstParm, Parm, OutParm, ReferenceParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
struct FVector JointPos; // 0x000C(0x000C)(ConstParm, Parm, OutParm, ReferenceParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
struct FVector EndPos; // 0x0018(0x000C)(ConstParm, Parm, OutParm, ReferenceParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
struct FVector JointTarget; // 0x0024(0x000C)(ConstParm, Parm, OutParm, ReferenceParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
struct FVector Effector; // 0x0030(0x000C)(ConstParm, Parm, OutParm, ReferenceParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
struct FVector OutJointPos; // 0x003C(0x000C)(Parm, OutParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
struct FVector OutEndPos; // 0x0048(0x000C)(Parm, OutParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
bool bAllowStretching; // 0x0054(0x0001)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
uint8 Pad_55[0x3]; // 0x0055(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
float StartStretchRatio; // 0x0058(0x0004)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
float MaxStretchScale; // 0x005C(0x0004)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(KismetAnimationLibrary_K2_TwoBoneIK) == 0x000004, "Wrong alignment on KismetAnimationLibrary_K2_TwoBoneIK");
static_assert(sizeof(KismetAnimationLibrary_K2_TwoBoneIK) == 0x000060, "Wrong size on KismetAnimationLibrary_K2_TwoBoneIK");
static_assert(offsetof(KismetAnimationLibrary_K2_TwoBoneIK, RootPos) == 0x000000, "Member 'KismetAnimationLibrary_K2_TwoBoneIK::RootPos' has a wrong offset!");
static_assert(offsetof(KismetAnimationLibrary_K2_TwoBoneIK, JointPos) == 0x00000C, "Member 'KismetAnimationLibrary_K2_TwoBoneIK::JointPos' has a wrong offset!");
static_assert(offsetof(KismetAnimationLibrary_K2_TwoBoneIK, EndPos) == 0x000018, "Member 'KismetAnimationLibrary_K2_TwoBoneIK::EndPos' has a wrong offset!");
static_assert(offsetof(KismetAnimationLibrary_K2_TwoBoneIK, JointTarget) == 0x000024, "Member 'KismetAnimationLibrary_K2_TwoBoneIK::JointTarget' has a wrong offset!");
static_assert(offsetof(KismetAnimationLibrary_K2_TwoBoneIK, Effector) == 0x000030, "Member 'KismetAnimationLibrary_K2_TwoBoneIK::Effector' has a wrong offset!");
static_assert(offsetof(KismetAnimationLibrary_K2_TwoBoneIK, OutJointPos) == 0x00003C, "Member 'KismetAnimationLibrary_K2_TwoBoneIK::OutJointPos' has a wrong offset!");
static_assert(offsetof(KismetAnimationLibrary_K2_TwoBoneIK, OutEndPos) == 0x000048, "Member 'KismetAnimationLibrary_K2_TwoBoneIK::OutEndPos' has a wrong offset!");
static_assert(offsetof(KismetAnimationLibrary_K2_TwoBoneIK, bAllowStretching) == 0x000054, "Member 'KismetAnimationLibrary_K2_TwoBoneIK::bAllowStretching' has a wrong offset!");
static_assert(offsetof(KismetAnimationLibrary_K2_TwoBoneIK, StartStretchRatio) == 0x000058, "Member 'KismetAnimationLibrary_K2_TwoBoneIK::StartStretchRatio' has a wrong offset!");
static_assert(offsetof(KismetAnimationLibrary_K2_TwoBoneIK, MaxStretchScale) == 0x00005C, "Member 'KismetAnimationLibrary_K2_TwoBoneIK::MaxStretchScale' has a wrong offset!");
// Function AnimGraphRuntime.PlayMontageCallbackProxy.CreateProxyObjectForPlayMontage
// 0x0028 (0x0028 - 0x0000)
struct PlayMontageCallbackProxy_CreateProxyObjectForPlayMontage final
{
public:
class USkeletalMeshComponent* InSkeletalMeshComponent; // 0x0000(0x0008)(Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
class UAnimMontage* MontageToPlay; // 0x0008(0x0008)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
float PlayRate; // 0x0010(0x0004)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
float StartingPosition; // 0x0014(0x0004)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
class FName StartingSection; // 0x0018(0x0008)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
class UPlayMontageCallbackProxy* ReturnValue; // 0x0020(0x0008)(Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
static_assert(alignof(PlayMontageCallbackProxy_CreateProxyObjectForPlayMontage) == 0x000008, "Wrong alignment on PlayMontageCallbackProxy_CreateProxyObjectForPlayMontage");
static_assert(sizeof(PlayMontageCallbackProxy_CreateProxyObjectForPlayMontage) == 0x000028, "Wrong size on PlayMontageCallbackProxy_CreateProxyObjectForPlayMontage");
static_assert(offsetof(PlayMontageCallbackProxy_CreateProxyObjectForPlayMontage, InSkeletalMeshComponent) == 0x000000, "Member 'PlayMontageCallbackProxy_CreateProxyObjectForPlayMontage::InSkeletalMeshComponent' has a wrong offset!");
static_assert(offsetof(PlayMontageCallbackProxy_CreateProxyObjectForPlayMontage, MontageToPlay) == 0x000008, "Member 'PlayMontageCallbackProxy_CreateProxyObjectForPlayMontage::MontageToPlay' has a wrong offset!");
static_assert(offsetof(PlayMontageCallbackProxy_CreateProxyObjectForPlayMontage, PlayRate) == 0x000010, "Member 'PlayMontageCallbackProxy_CreateProxyObjectForPlayMontage::PlayRate' has a wrong offset!");
static_assert(offsetof(PlayMontageCallbackProxy_CreateProxyObjectForPlayMontage, StartingPosition) == 0x000014, "Member 'PlayMontageCallbackProxy_CreateProxyObjectForPlayMontage::StartingPosition' has a wrong offset!");
static_assert(offsetof(PlayMontageCallbackProxy_CreateProxyObjectForPlayMontage, StartingSection) == 0x000018, "Member 'PlayMontageCallbackProxy_CreateProxyObjectForPlayMontage::StartingSection' has a wrong offset!");
static_assert(offsetof(PlayMontageCallbackProxy_CreateProxyObjectForPlayMontage, ReturnValue) == 0x000020, "Member 'PlayMontageCallbackProxy_CreateProxyObjectForPlayMontage::ReturnValue' has a wrong offset!");
// Function AnimGraphRuntime.PlayMontageCallbackProxy.OnMontageBlendingOut
// 0x0010 (0x0010 - 0x0000)
struct PlayMontageCallbackProxy_OnMontageBlendingOut final
{
public:
class UAnimMontage* Montage; // 0x0000(0x0008)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
bool bInterrupted; // 0x0008(0x0001)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
uint8 Pad_9[0x7]; // 0x0009(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
static_assert(alignof(PlayMontageCallbackProxy_OnMontageBlendingOut) == 0x000008, "Wrong alignment on PlayMontageCallbackProxy_OnMontageBlendingOut");
static_assert(sizeof(PlayMontageCallbackProxy_OnMontageBlendingOut) == 0x000010, "Wrong size on PlayMontageCallbackProxy_OnMontageBlendingOut");
static_assert(offsetof(PlayMontageCallbackProxy_OnMontageBlendingOut, Montage) == 0x000000, "Member 'PlayMontageCallbackProxy_OnMontageBlendingOut::Montage' has a wrong offset!");
static_assert(offsetof(PlayMontageCallbackProxy_OnMontageBlendingOut, bInterrupted) == 0x000008, "Member 'PlayMontageCallbackProxy_OnMontageBlendingOut::bInterrupted' has a wrong offset!");
// Function AnimGraphRuntime.PlayMontageCallbackProxy.OnMontageEnded
// 0x0010 (0x0010 - 0x0000)
struct PlayMontageCallbackProxy_OnMontageEnded final
{
public:
class UAnimMontage* Montage; // 0x0000(0x0008)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
bool bInterrupted; // 0x0008(0x0001)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
uint8 Pad_9[0x7]; // 0x0009(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
static_assert(alignof(PlayMontageCallbackProxy_OnMontageEnded) == 0x000008, "Wrong alignment on PlayMontageCallbackProxy_OnMontageEnded");
static_assert(sizeof(PlayMontageCallbackProxy_OnMontageEnded) == 0x000010, "Wrong size on PlayMontageCallbackProxy_OnMontageEnded");
static_assert(offsetof(PlayMontageCallbackProxy_OnMontageEnded, Montage) == 0x000000, "Member 'PlayMontageCallbackProxy_OnMontageEnded::Montage' has a wrong offset!");
static_assert(offsetof(PlayMontageCallbackProxy_OnMontageEnded, bInterrupted) == 0x000008, "Member 'PlayMontageCallbackProxy_OnMontageEnded::bInterrupted' has a wrong offset!");
// Function AnimGraphRuntime.PlayMontageCallbackProxy.OnNotifyBeginReceived
// 0x0028 (0x0028 - 0x0000)
struct PlayMontageCallbackProxy_OnNotifyBeginReceived final
{
public:
class FName NotifyName; // 0x0000(0x0008)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
struct FBranchingPointNotifyPayload BranchingPointNotifyPayload; // 0x0008(0x0020)(ConstParm, Parm, OutParm, ReferenceParm, NoDestructor, NativeAccessSpecifierPublic)
};
static_assert(alignof(PlayMontageCallbackProxy_OnNotifyBeginReceived) == 0x000008, "Wrong alignment on PlayMontageCallbackProxy_OnNotifyBeginReceived");
static_assert(sizeof(PlayMontageCallbackProxy_OnNotifyBeginReceived) == 0x000028, "Wrong size on PlayMontageCallbackProxy_OnNotifyBeginReceived");
static_assert(offsetof(PlayMontageCallbackProxy_OnNotifyBeginReceived, NotifyName) == 0x000000, "Member 'PlayMontageCallbackProxy_OnNotifyBeginReceived::NotifyName' has a wrong offset!");
static_assert(offsetof(PlayMontageCallbackProxy_OnNotifyBeginReceived, BranchingPointNotifyPayload) == 0x000008, "Member 'PlayMontageCallbackProxy_OnNotifyBeginReceived::BranchingPointNotifyPayload' has a wrong offset!");
// Function AnimGraphRuntime.PlayMontageCallbackProxy.OnNotifyEndReceived
// 0x0028 (0x0028 - 0x0000)
struct PlayMontageCallbackProxy_OnNotifyEndReceived final
{
public:
class FName NotifyName; // 0x0000(0x0008)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
struct FBranchingPointNotifyPayload BranchingPointNotifyPayload; // 0x0008(0x0020)(ConstParm, Parm, OutParm, ReferenceParm, NoDestructor, NativeAccessSpecifierPublic)
};
static_assert(alignof(PlayMontageCallbackProxy_OnNotifyEndReceived) == 0x000008, "Wrong alignment on PlayMontageCallbackProxy_OnNotifyEndReceived");
static_assert(sizeof(PlayMontageCallbackProxy_OnNotifyEndReceived) == 0x000028, "Wrong size on PlayMontageCallbackProxy_OnNotifyEndReceived");
static_assert(offsetof(PlayMontageCallbackProxy_OnNotifyEndReceived, NotifyName) == 0x000000, "Member 'PlayMontageCallbackProxy_OnNotifyEndReceived::NotifyName' has a wrong offset!");
static_assert(offsetof(PlayMontageCallbackProxy_OnNotifyEndReceived, BranchingPointNotifyPayload) == 0x000008, "Member 'PlayMontageCallbackProxy_OnNotifyEndReceived::BranchingPointNotifyPayload' has a wrong offset!");
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,53 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnimNotifyState_AttachAsset
#include "Basic.hpp"
#include "FortniteGame_structs.hpp"
#include "Engine_classes.hpp"
namespace SDK
{
// BlueprintGeneratedClass AnimNotifyState_AttachAsset.AnimNotifyState_AttachAsset_C
// 0x0040 (0x0070 - 0x0030)
class UAnimNotifyState_AttachAsset_C final : public UAnimNotifyState
{
public:
struct FAssetAttachment Attachment; // 0x0030(0x0030)(Edit, BlueprintVisible, NoDestructor, ContainsInstancedReference)
class UAnimSequence* Animation; // 0x0060(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool Looping; // 0x0068(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_69[0x3]; // 0x0069(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
float PlayRate; // 0x006C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
public:
bool Received_NotifyBegin(class USkeletalMeshComponent* MeshComp, class UAnimSequenceBase* Animation_0, float TotalDuration) const;
bool Received_NotifyEnd(class USkeletalMeshComponent* MeshComp, class UAnimSequenceBase* Animation_0) const;
public:
static class UClass* StaticClass()
{
return StaticBPGeneratedClassImpl<"AnimNotifyState_AttachAsset_C">();
}
static class UAnimNotifyState_AttachAsset_C* GetDefaultObj()
{
return GetDefaultObjImpl<UAnimNotifyState_AttachAsset_C>();
}
};
static_assert(alignof(UAnimNotifyState_AttachAsset_C) == 0x000008, "Wrong alignment on UAnimNotifyState_AttachAsset_C");
static_assert(sizeof(UAnimNotifyState_AttachAsset_C) == 0x000070, "Wrong size on UAnimNotifyState_AttachAsset_C");
static_assert(offsetof(UAnimNotifyState_AttachAsset_C, Attachment) == 0x000030, "Member 'UAnimNotifyState_AttachAsset_C::Attachment' has a wrong offset!");
static_assert(offsetof(UAnimNotifyState_AttachAsset_C, Animation) == 0x000060, "Member 'UAnimNotifyState_AttachAsset_C::Animation' has a wrong offset!");
static_assert(offsetof(UAnimNotifyState_AttachAsset_C, Looping) == 0x000068, "Member 'UAnimNotifyState_AttachAsset_C::Looping' has a wrong offset!");
static_assert(offsetof(UAnimNotifyState_AttachAsset_C, PlayRate) == 0x00006C, "Member 'UAnimNotifyState_AttachAsset_C::PlayRate' has a wrong offset!");
}
@@ -0,0 +1,72 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnimNotifyState_AttachAsset
#include "Basic.hpp"
#include "AnimNotifyState_AttachAsset_classes.hpp"
#include "AnimNotifyState_AttachAsset_parameters.hpp"
namespace SDK
{
// Function AnimNotifyState_AttachAsset.AnimNotifyState_AttachAsset_C.Received_NotifyBegin
// (Event, Public, HasOutParams, BlueprintCallable, BlueprintEvent, Const)
// Parameters:
// class USkeletalMeshComponent* MeshComp (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class UAnimSequenceBase* Animation_0 (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// float TotalDuration (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool ReturnValue (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
bool UAnimNotifyState_AttachAsset_C::Received_NotifyBegin(class USkeletalMeshComponent* MeshComp, class UAnimSequenceBase* Animation_0, float TotalDuration) const
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AnimNotifyState_AttachAsset_C", "Received_NotifyBegin");
Params::AnimNotifyState_AttachAsset_C_Received_NotifyBegin Parms{};
Parms.MeshComp = MeshComp;
Parms.Animation_0 = Animation_0;
Parms.TotalDuration = TotalDuration;
UObject::ProcessEvent(Func, &Parms);
return Parms.ReturnValue;
}
// Function AnimNotifyState_AttachAsset.AnimNotifyState_AttachAsset_C.Received_NotifyEnd
// (Event, Public, HasOutParams, BlueprintCallable, BlueprintEvent, Const)
// Parameters:
// class USkeletalMeshComponent* MeshComp (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class UAnimSequenceBase* Animation_0 (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool ReturnValue (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
bool UAnimNotifyState_AttachAsset_C::Received_NotifyEnd(class USkeletalMeshComponent* MeshComp, class UAnimSequenceBase* Animation_0) const
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AnimNotifyState_AttachAsset_C", "Received_NotifyEnd");
Params::AnimNotifyState_AttachAsset_C_Received_NotifyEnd Parms{};
Parms.MeshComp = MeshComp;
Parms.Animation_0 = Animation_0;
UObject::ProcessEvent(Func, &Parms);
return Parms.ReturnValue;
}
}
@@ -0,0 +1,71 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnimNotifyState_AttachAsset
#include "Basic.hpp"
namespace SDK::Params
{
// Function AnimNotifyState_AttachAsset.AnimNotifyState_AttachAsset_C.Received_NotifyBegin
// 0x0040 (0x0040 - 0x0000)
struct AnimNotifyState_AttachAsset_C_Received_NotifyBegin final
{
public:
class USkeletalMeshComponent* MeshComp; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UAnimSequenceBase* Animation_0; // 0x0008(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
float TotalDuration; // 0x0010(0x0004)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool ReturnValue; // 0x0014(0x0001)(Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
uint8 Pad_15[0x3]; // 0x0015(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
class AActor* CallFunc_GetOwner_ReturnValue; // 0x0018(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class AFortPawn* K2Node_DynamicCast_AsFort_Pawn; // 0x0020(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess; // 0x0028(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
bool CallFunc_IsValid_ReturnValue; // 0x0029(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_2A[0x6]; // 0x002A(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
class USkeletalMeshComponent* CallFunc_GetAssetSkeletalMeshComponentAttachment_ReturnValue; // 0x0030(0x0008)(ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool CallFunc_IsValid_ReturnValue1; // 0x0038(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AnimNotifyState_AttachAsset_C_Received_NotifyBegin) == 0x000008, "Wrong alignment on AnimNotifyState_AttachAsset_C_Received_NotifyBegin");
static_assert(sizeof(AnimNotifyState_AttachAsset_C_Received_NotifyBegin) == 0x000040, "Wrong size on AnimNotifyState_AttachAsset_C_Received_NotifyBegin");
static_assert(offsetof(AnimNotifyState_AttachAsset_C_Received_NotifyBegin, MeshComp) == 0x000000, "Member 'AnimNotifyState_AttachAsset_C_Received_NotifyBegin::MeshComp' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_AttachAsset_C_Received_NotifyBegin, Animation_0) == 0x000008, "Member 'AnimNotifyState_AttachAsset_C_Received_NotifyBegin::Animation_0' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_AttachAsset_C_Received_NotifyBegin, TotalDuration) == 0x000010, "Member 'AnimNotifyState_AttachAsset_C_Received_NotifyBegin::TotalDuration' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_AttachAsset_C_Received_NotifyBegin, ReturnValue) == 0x000014, "Member 'AnimNotifyState_AttachAsset_C_Received_NotifyBegin::ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_AttachAsset_C_Received_NotifyBegin, CallFunc_GetOwner_ReturnValue) == 0x000018, "Member 'AnimNotifyState_AttachAsset_C_Received_NotifyBegin::CallFunc_GetOwner_ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_AttachAsset_C_Received_NotifyBegin, K2Node_DynamicCast_AsFort_Pawn) == 0x000020, "Member 'AnimNotifyState_AttachAsset_C_Received_NotifyBegin::K2Node_DynamicCast_AsFort_Pawn' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_AttachAsset_C_Received_NotifyBegin, K2Node_DynamicCast_bSuccess) == 0x000028, "Member 'AnimNotifyState_AttachAsset_C_Received_NotifyBegin::K2Node_DynamicCast_bSuccess' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_AttachAsset_C_Received_NotifyBegin, CallFunc_IsValid_ReturnValue) == 0x000029, "Member 'AnimNotifyState_AttachAsset_C_Received_NotifyBegin::CallFunc_IsValid_ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_AttachAsset_C_Received_NotifyBegin, CallFunc_GetAssetSkeletalMeshComponentAttachment_ReturnValue) == 0x000030, "Member 'AnimNotifyState_AttachAsset_C_Received_NotifyBegin::CallFunc_GetAssetSkeletalMeshComponentAttachment_ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_AttachAsset_C_Received_NotifyBegin, CallFunc_IsValid_ReturnValue1) == 0x000038, "Member 'AnimNotifyState_AttachAsset_C_Received_NotifyBegin::CallFunc_IsValid_ReturnValue1' has a wrong offset!");
// Function AnimNotifyState_AttachAsset.AnimNotifyState_AttachAsset_C.Received_NotifyEnd
// 0x0030 (0x0030 - 0x0000)
struct AnimNotifyState_AttachAsset_C_Received_NotifyEnd final
{
public:
class USkeletalMeshComponent* MeshComp; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UAnimSequenceBase* Animation_0; // 0x0008(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool ReturnValue; // 0x0010(0x0001)(Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
uint8 Pad_11[0x7]; // 0x0011(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class AActor* CallFunc_GetOwner_ReturnValue; // 0x0018(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class AFortPawn* K2Node_DynamicCast_AsFort_Pawn; // 0x0020(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess; // 0x0028(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AnimNotifyState_AttachAsset_C_Received_NotifyEnd) == 0x000008, "Wrong alignment on AnimNotifyState_AttachAsset_C_Received_NotifyEnd");
static_assert(sizeof(AnimNotifyState_AttachAsset_C_Received_NotifyEnd) == 0x000030, "Wrong size on AnimNotifyState_AttachAsset_C_Received_NotifyEnd");
static_assert(offsetof(AnimNotifyState_AttachAsset_C_Received_NotifyEnd, MeshComp) == 0x000000, "Member 'AnimNotifyState_AttachAsset_C_Received_NotifyEnd::MeshComp' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_AttachAsset_C_Received_NotifyEnd, Animation_0) == 0x000008, "Member 'AnimNotifyState_AttachAsset_C_Received_NotifyEnd::Animation_0' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_AttachAsset_C_Received_NotifyEnd, ReturnValue) == 0x000010, "Member 'AnimNotifyState_AttachAsset_C_Received_NotifyEnd::ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_AttachAsset_C_Received_NotifyEnd, CallFunc_GetOwner_ReturnValue) == 0x000018, "Member 'AnimNotifyState_AttachAsset_C_Received_NotifyEnd::CallFunc_GetOwner_ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_AttachAsset_C_Received_NotifyEnd, K2Node_DynamicCast_AsFort_Pawn) == 0x000020, "Member 'AnimNotifyState_AttachAsset_C_Received_NotifyEnd::K2Node_DynamicCast_AsFort_Pawn' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_AttachAsset_C_Received_NotifyEnd, K2Node_DynamicCast_bSuccess) == 0x000028, "Member 'AnimNotifyState_AttachAsset_C_Received_NotifyEnd::K2Node_DynamicCast_bSuccess' has a wrong offset!");
}
@@ -0,0 +1,41 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnimNotifyState_DisablePawnRotation
#include "Basic.hpp"
#include "Engine_classes.hpp"
namespace SDK
{
// BlueprintGeneratedClass AnimNotifyState_DisablePawnRotation.AnimNotifyState_DisablePawnRotation_C
// 0x0000 (0x0030 - 0x0030)
class UAnimNotifyState_DisablePawnRotation_C final : public UAnimNotifyState
{
public:
bool Received_NotifyBegin(class USkeletalMeshComponent* MeshComp, class UAnimSequenceBase* Animation, float TotalDuration);
bool Received_NotifyEnd(class USkeletalMeshComponent* MeshComp, class UAnimSequenceBase* Animation);
public:
static class UClass* StaticClass()
{
return StaticBPGeneratedClassImpl<"AnimNotifyState_DisablePawnRotation_C">();
}
static class UAnimNotifyState_DisablePawnRotation_C* GetDefaultObj()
{
return GetDefaultObjImpl<UAnimNotifyState_DisablePawnRotation_C>();
}
};
static_assert(alignof(UAnimNotifyState_DisablePawnRotation_C) == 0x000008, "Wrong alignment on UAnimNotifyState_DisablePawnRotation_C");
static_assert(sizeof(UAnimNotifyState_DisablePawnRotation_C) == 0x000030, "Wrong size on UAnimNotifyState_DisablePawnRotation_C");
}
@@ -0,0 +1,72 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnimNotifyState_DisablePawnRotation
#include "Basic.hpp"
#include "AnimNotifyState_DisablePawnRotation_classes.hpp"
#include "AnimNotifyState_DisablePawnRotation_parameters.hpp"
namespace SDK
{
// Function AnimNotifyState_DisablePawnRotation.AnimNotifyState_DisablePawnRotation_C.Received_NotifyBegin
// (Event, Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// class USkeletalMeshComponent* MeshComp (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class UAnimSequenceBase* Animation (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// float TotalDuration (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool ReturnValue (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
bool UAnimNotifyState_DisablePawnRotation_C::Received_NotifyBegin(class USkeletalMeshComponent* MeshComp, class UAnimSequenceBase* Animation, float TotalDuration)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AnimNotifyState_DisablePawnRotation_C", "Received_NotifyBegin");
Params::AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin Parms{};
Parms.MeshComp = MeshComp;
Parms.Animation = Animation;
Parms.TotalDuration = TotalDuration;
UObject::ProcessEvent(Func, &Parms);
return Parms.ReturnValue;
}
// Function AnimNotifyState_DisablePawnRotation.AnimNotifyState_DisablePawnRotation_C.Received_NotifyEnd
// (Event, Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// class USkeletalMeshComponent* MeshComp (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class UAnimSequenceBase* Animation (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool ReturnValue (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
bool UAnimNotifyState_DisablePawnRotation_C::Received_NotifyEnd(class USkeletalMeshComponent* MeshComp, class UAnimSequenceBase* Animation)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AnimNotifyState_DisablePawnRotation_C", "Received_NotifyEnd");
Params::AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd Parms{};
Parms.MeshComp = MeshComp;
Parms.Animation = Animation;
UObject::ProcessEvent(Func, &Parms);
return Parms.ReturnValue;
}
}
@@ -0,0 +1,78 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnimNotifyState_DisablePawnRotation
#include "Basic.hpp"
namespace SDK::Params
{
// Function AnimNotifyState_DisablePawnRotation.AnimNotifyState_DisablePawnRotation_C.Received_NotifyBegin
// 0x0048 (0x0048 - 0x0000)
struct AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin final
{
public:
class USkeletalMeshComponent* MeshComp; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UAnimSequenceBase* Animation; // 0x0008(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
float TotalDuration; // 0x0010(0x0004)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool ReturnValue; // 0x0014(0x0001)(Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
uint8 Pad_15[0x3]; // 0x0015(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
class AActor* CallFunc_GetOwner_ReturnValue; // 0x0018(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class APawn* K2Node_DynamicCast_AsPawn; // 0x0020(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess; // 0x0028(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_29[0x7]; // 0x0029(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class AController* CallFunc_GetController_ReturnValue; // 0x0030(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class AFortPlayerController* K2Node_DynamicCast_AsFort_Player_Controller; // 0x0038(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess1; // 0x0040(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin) == 0x000008, "Wrong alignment on AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin");
static_assert(sizeof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin) == 0x000048, "Wrong size on AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin");
static_assert(offsetof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin, MeshComp) == 0x000000, "Member 'AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin::MeshComp' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin, Animation) == 0x000008, "Member 'AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin::Animation' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin, TotalDuration) == 0x000010, "Member 'AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin::TotalDuration' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin, ReturnValue) == 0x000014, "Member 'AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin::ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin, CallFunc_GetOwner_ReturnValue) == 0x000018, "Member 'AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin::CallFunc_GetOwner_ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin, K2Node_DynamicCast_AsPawn) == 0x000020, "Member 'AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin::K2Node_DynamicCast_AsPawn' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin, K2Node_DynamicCast_bSuccess) == 0x000028, "Member 'AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin::K2Node_DynamicCast_bSuccess' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin, CallFunc_GetController_ReturnValue) == 0x000030, "Member 'AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin::CallFunc_GetController_ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin, K2Node_DynamicCast_AsFort_Player_Controller) == 0x000038, "Member 'AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin::K2Node_DynamicCast_AsFort_Player_Controller' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin, K2Node_DynamicCast_bSuccess1) == 0x000040, "Member 'AnimNotifyState_DisablePawnRotation_C_Received_NotifyBegin::K2Node_DynamicCast_bSuccess1' has a wrong offset!");
// Function AnimNotifyState_DisablePawnRotation.AnimNotifyState_DisablePawnRotation_C.Received_NotifyEnd
// 0x0048 (0x0048 - 0x0000)
struct AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd final
{
public:
class USkeletalMeshComponent* MeshComp; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UAnimSequenceBase* Animation; // 0x0008(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool ReturnValue; // 0x0010(0x0001)(Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
uint8 Pad_11[0x7]; // 0x0011(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class AActor* CallFunc_GetOwner_ReturnValue; // 0x0018(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class APawn* K2Node_DynamicCast_AsPawn; // 0x0020(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess; // 0x0028(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_29[0x7]; // 0x0029(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class AController* CallFunc_GetController_ReturnValue; // 0x0030(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class AFortPlayerController* K2Node_DynamicCast_AsFort_Player_Controller; // 0x0038(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess1; // 0x0040(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd) == 0x000008, "Wrong alignment on AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd");
static_assert(sizeof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd) == 0x000048, "Wrong size on AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd");
static_assert(offsetof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd, MeshComp) == 0x000000, "Member 'AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd::MeshComp' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd, Animation) == 0x000008, "Member 'AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd::Animation' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd, ReturnValue) == 0x000010, "Member 'AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd::ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd, CallFunc_GetOwner_ReturnValue) == 0x000018, "Member 'AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd::CallFunc_GetOwner_ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd, K2Node_DynamicCast_AsPawn) == 0x000020, "Member 'AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd::K2Node_DynamicCast_AsPawn' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd, K2Node_DynamicCast_bSuccess) == 0x000028, "Member 'AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd::K2Node_DynamicCast_bSuccess' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd, CallFunc_GetController_ReturnValue) == 0x000030, "Member 'AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd::CallFunc_GetController_ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd, K2Node_DynamicCast_AsFort_Player_Controller) == 0x000038, "Member 'AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd::K2Node_DynamicCast_AsFort_Player_Controller' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd, K2Node_DynamicCast_bSuccess1) == 0x000040, "Member 'AnimNotifyState_DisablePawnRotation_C_Received_NotifyEnd::K2Node_DynamicCast_bSuccess1' has a wrong offset!");
}
@@ -0,0 +1,41 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnimNotifyState_DisableSteering
#include "Basic.hpp"
#include "Engine_classes.hpp"
namespace SDK
{
// BlueprintGeneratedClass AnimNotifyState_DisableSteering.AnimNotifyState_DisableSteering_C
// 0x0000 (0x0030 - 0x0030)
class UAnimNotifyState_DisableSteering_C final : public UAnimNotifyState
{
public:
bool Received_NotifyBegin(class USkeletalMeshComponent* MeshComp, class UAnimSequenceBase* Animation, float TotalDuration);
bool Received_NotifyEnd(class USkeletalMeshComponent* MeshComp, class UAnimSequenceBase* Animation);
public:
static class UClass* StaticClass()
{
return StaticBPGeneratedClassImpl<"AnimNotifyState_DisableSteering_C">();
}
static class UAnimNotifyState_DisableSteering_C* GetDefaultObj()
{
return GetDefaultObjImpl<UAnimNotifyState_DisableSteering_C>();
}
};
static_assert(alignof(UAnimNotifyState_DisableSteering_C) == 0x000008, "Wrong alignment on UAnimNotifyState_DisableSteering_C");
static_assert(sizeof(UAnimNotifyState_DisableSteering_C) == 0x000030, "Wrong size on UAnimNotifyState_DisableSteering_C");
}
@@ -0,0 +1,72 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnimNotifyState_DisableSteering
#include "Basic.hpp"
#include "AnimNotifyState_DisableSteering_classes.hpp"
#include "AnimNotifyState_DisableSteering_parameters.hpp"
namespace SDK
{
// Function AnimNotifyState_DisableSteering.AnimNotifyState_DisableSteering_C.Received_NotifyBegin
// (Event, Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// class USkeletalMeshComponent* MeshComp (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class UAnimSequenceBase* Animation (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// float TotalDuration (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool ReturnValue (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
bool UAnimNotifyState_DisableSteering_C::Received_NotifyBegin(class USkeletalMeshComponent* MeshComp, class UAnimSequenceBase* Animation, float TotalDuration)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AnimNotifyState_DisableSteering_C", "Received_NotifyBegin");
Params::AnimNotifyState_DisableSteering_C_Received_NotifyBegin Parms{};
Parms.MeshComp = MeshComp;
Parms.Animation = Animation;
Parms.TotalDuration = TotalDuration;
UObject::ProcessEvent(Func, &Parms);
return Parms.ReturnValue;
}
// Function AnimNotifyState_DisableSteering.AnimNotifyState_DisableSteering_C.Received_NotifyEnd
// (Event, Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// class USkeletalMeshComponent* MeshComp (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class UAnimSequenceBase* Animation (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool ReturnValue (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
bool UAnimNotifyState_DisableSteering_C::Received_NotifyEnd(class USkeletalMeshComponent* MeshComp, class UAnimSequenceBase* Animation)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AnimNotifyState_DisableSteering_C", "Received_NotifyEnd");
Params::AnimNotifyState_DisableSteering_C_Received_NotifyEnd Parms{};
Parms.MeshComp = MeshComp;
Parms.Animation = Animation;
UObject::ProcessEvent(Func, &Parms);
return Parms.ReturnValue;
}
}
@@ -0,0 +1,78 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnimNotifyState_DisableSteering
#include "Basic.hpp"
namespace SDK::Params
{
// Function AnimNotifyState_DisableSteering.AnimNotifyState_DisableSteering_C.Received_NotifyBegin
// 0x0048 (0x0048 - 0x0000)
struct AnimNotifyState_DisableSteering_C_Received_NotifyBegin final
{
public:
class USkeletalMeshComponent* MeshComp; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UAnimSequenceBase* Animation; // 0x0008(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
float TotalDuration; // 0x0010(0x0004)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool ReturnValue; // 0x0014(0x0001)(Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
uint8 Pad_15[0x3]; // 0x0015(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
class AActor* CallFunc_GetOwner_ReturnValue; // 0x0018(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class APawn* K2Node_DynamicCast_AsPawn; // 0x0020(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess; // 0x0028(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_29[0x7]; // 0x0029(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class AController* CallFunc_GetController_ReturnValue; // 0x0030(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class APlayerController* K2Node_DynamicCast_AsPlayer_Controller; // 0x0038(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess1; // 0x0040(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AnimNotifyState_DisableSteering_C_Received_NotifyBegin) == 0x000008, "Wrong alignment on AnimNotifyState_DisableSteering_C_Received_NotifyBegin");
static_assert(sizeof(AnimNotifyState_DisableSteering_C_Received_NotifyBegin) == 0x000048, "Wrong size on AnimNotifyState_DisableSteering_C_Received_NotifyBegin");
static_assert(offsetof(AnimNotifyState_DisableSteering_C_Received_NotifyBegin, MeshComp) == 0x000000, "Member 'AnimNotifyState_DisableSteering_C_Received_NotifyBegin::MeshComp' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisableSteering_C_Received_NotifyBegin, Animation) == 0x000008, "Member 'AnimNotifyState_DisableSteering_C_Received_NotifyBegin::Animation' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisableSteering_C_Received_NotifyBegin, TotalDuration) == 0x000010, "Member 'AnimNotifyState_DisableSteering_C_Received_NotifyBegin::TotalDuration' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisableSteering_C_Received_NotifyBegin, ReturnValue) == 0x000014, "Member 'AnimNotifyState_DisableSteering_C_Received_NotifyBegin::ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisableSteering_C_Received_NotifyBegin, CallFunc_GetOwner_ReturnValue) == 0x000018, "Member 'AnimNotifyState_DisableSteering_C_Received_NotifyBegin::CallFunc_GetOwner_ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisableSteering_C_Received_NotifyBegin, K2Node_DynamicCast_AsPawn) == 0x000020, "Member 'AnimNotifyState_DisableSteering_C_Received_NotifyBegin::K2Node_DynamicCast_AsPawn' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisableSteering_C_Received_NotifyBegin, K2Node_DynamicCast_bSuccess) == 0x000028, "Member 'AnimNotifyState_DisableSteering_C_Received_NotifyBegin::K2Node_DynamicCast_bSuccess' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisableSteering_C_Received_NotifyBegin, CallFunc_GetController_ReturnValue) == 0x000030, "Member 'AnimNotifyState_DisableSteering_C_Received_NotifyBegin::CallFunc_GetController_ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisableSteering_C_Received_NotifyBegin, K2Node_DynamicCast_AsPlayer_Controller) == 0x000038, "Member 'AnimNotifyState_DisableSteering_C_Received_NotifyBegin::K2Node_DynamicCast_AsPlayer_Controller' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisableSteering_C_Received_NotifyBegin, K2Node_DynamicCast_bSuccess1) == 0x000040, "Member 'AnimNotifyState_DisableSteering_C_Received_NotifyBegin::K2Node_DynamicCast_bSuccess1' has a wrong offset!");
// Function AnimNotifyState_DisableSteering.AnimNotifyState_DisableSteering_C.Received_NotifyEnd
// 0x0048 (0x0048 - 0x0000)
struct AnimNotifyState_DisableSteering_C_Received_NotifyEnd final
{
public:
class USkeletalMeshComponent* MeshComp; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UAnimSequenceBase* Animation; // 0x0008(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool ReturnValue; // 0x0010(0x0001)(Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
uint8 Pad_11[0x7]; // 0x0011(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class AActor* CallFunc_GetOwner_ReturnValue; // 0x0018(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class APawn* K2Node_DynamicCast_AsPawn; // 0x0020(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess; // 0x0028(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
uint8 Pad_29[0x7]; // 0x0029(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class AController* CallFunc_GetController_ReturnValue; // 0x0030(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class APlayerController* K2Node_DynamicCast_AsPlayer_Controller; // 0x0038(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess1; // 0x0040(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AnimNotifyState_DisableSteering_C_Received_NotifyEnd) == 0x000008, "Wrong alignment on AnimNotifyState_DisableSteering_C_Received_NotifyEnd");
static_assert(sizeof(AnimNotifyState_DisableSteering_C_Received_NotifyEnd) == 0x000048, "Wrong size on AnimNotifyState_DisableSteering_C_Received_NotifyEnd");
static_assert(offsetof(AnimNotifyState_DisableSteering_C_Received_NotifyEnd, MeshComp) == 0x000000, "Member 'AnimNotifyState_DisableSteering_C_Received_NotifyEnd::MeshComp' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisableSteering_C_Received_NotifyEnd, Animation) == 0x000008, "Member 'AnimNotifyState_DisableSteering_C_Received_NotifyEnd::Animation' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisableSteering_C_Received_NotifyEnd, ReturnValue) == 0x000010, "Member 'AnimNotifyState_DisableSteering_C_Received_NotifyEnd::ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisableSteering_C_Received_NotifyEnd, CallFunc_GetOwner_ReturnValue) == 0x000018, "Member 'AnimNotifyState_DisableSteering_C_Received_NotifyEnd::CallFunc_GetOwner_ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisableSteering_C_Received_NotifyEnd, K2Node_DynamicCast_AsPawn) == 0x000020, "Member 'AnimNotifyState_DisableSteering_C_Received_NotifyEnd::K2Node_DynamicCast_AsPawn' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisableSteering_C_Received_NotifyEnd, K2Node_DynamicCast_bSuccess) == 0x000028, "Member 'AnimNotifyState_DisableSteering_C_Received_NotifyEnd::K2Node_DynamicCast_bSuccess' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisableSteering_C_Received_NotifyEnd, CallFunc_GetController_ReturnValue) == 0x000030, "Member 'AnimNotifyState_DisableSteering_C_Received_NotifyEnd::CallFunc_GetController_ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisableSteering_C_Received_NotifyEnd, K2Node_DynamicCast_AsPlayer_Controller) == 0x000038, "Member 'AnimNotifyState_DisableSteering_C_Received_NotifyEnd::K2Node_DynamicCast_AsPlayer_Controller' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_DisableSteering_C_Received_NotifyEnd, K2Node_DynamicCast_bSuccess1) == 0x000040, "Member 'AnimNotifyState_DisableSteering_C_Received_NotifyEnd::K2Node_DynamicCast_bSuccess1' has a wrong offset!");
}
@@ -0,0 +1,45 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnimNotifyState_HolsterWeapon
#include "Basic.hpp"
#include "Engine_classes.hpp"
namespace SDK
{
// BlueprintGeneratedClass AnimNotifyState_HolsterWeapon.AnimNotifyState_HolsterWeapon_C
// 0x0008 (0x0038 - 0x0030)
class UAnimNotifyState_HolsterWeapon_C final : public UAnimNotifyState
{
public:
bool PlayEquipAnim; // 0x0030(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor)
public:
bool Received_NotifyBegin(class USkeletalMeshComponent* MeshComp, class UAnimSequenceBase* Animation, float TotalDuration);
bool Received_NotifyEnd(class USkeletalMeshComponent* MeshComp, class UAnimSequenceBase* Animation);
public:
static class UClass* StaticClass()
{
return StaticBPGeneratedClassImpl<"AnimNotifyState_HolsterWeapon_C">();
}
static class UAnimNotifyState_HolsterWeapon_C* GetDefaultObj()
{
return GetDefaultObjImpl<UAnimNotifyState_HolsterWeapon_C>();
}
};
static_assert(alignof(UAnimNotifyState_HolsterWeapon_C) == 0x000008, "Wrong alignment on UAnimNotifyState_HolsterWeapon_C");
static_assert(sizeof(UAnimNotifyState_HolsterWeapon_C) == 0x000038, "Wrong size on UAnimNotifyState_HolsterWeapon_C");
static_assert(offsetof(UAnimNotifyState_HolsterWeapon_C, PlayEquipAnim) == 0x000030, "Member 'UAnimNotifyState_HolsterWeapon_C::PlayEquipAnim' has a wrong offset!");
}
@@ -0,0 +1,72 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnimNotifyState_HolsterWeapon
#include "Basic.hpp"
#include "AnimNotifyState_HolsterWeapon_classes.hpp"
#include "AnimNotifyState_HolsterWeapon_parameters.hpp"
namespace SDK
{
// Function AnimNotifyState_HolsterWeapon.AnimNotifyState_HolsterWeapon_C.Received_NotifyBegin
// (Event, Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// class USkeletalMeshComponent* MeshComp (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class UAnimSequenceBase* Animation (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// float TotalDuration (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool ReturnValue (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
bool UAnimNotifyState_HolsterWeapon_C::Received_NotifyBegin(class USkeletalMeshComponent* MeshComp, class UAnimSequenceBase* Animation, float TotalDuration)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AnimNotifyState_HolsterWeapon_C", "Received_NotifyBegin");
Params::AnimNotifyState_HolsterWeapon_C_Received_NotifyBegin Parms{};
Parms.MeshComp = MeshComp;
Parms.Animation = Animation;
Parms.TotalDuration = TotalDuration;
UObject::ProcessEvent(Func, &Parms);
return Parms.ReturnValue;
}
// Function AnimNotifyState_HolsterWeapon.AnimNotifyState_HolsterWeapon_C.Received_NotifyEnd
// (Event, Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// class USkeletalMeshComponent* MeshComp (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class UAnimSequenceBase* Animation (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool ReturnValue (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
bool UAnimNotifyState_HolsterWeapon_C::Received_NotifyEnd(class USkeletalMeshComponent* MeshComp, class UAnimSequenceBase* Animation)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AnimNotifyState_HolsterWeapon_C", "Received_NotifyEnd");
Params::AnimNotifyState_HolsterWeapon_C_Received_NotifyEnd Parms{};
Parms.MeshComp = MeshComp;
Parms.Animation = Animation;
UObject::ProcessEvent(Func, &Parms);
return Parms.ReturnValue;
}
}
@@ -0,0 +1,64 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnimNotifyState_HolsterWeapon
#include "Basic.hpp"
namespace SDK::Params
{
// Function AnimNotifyState_HolsterWeapon.AnimNotifyState_HolsterWeapon_C.Received_NotifyBegin
// 0x0030 (0x0030 - 0x0000)
struct AnimNotifyState_HolsterWeapon_C_Received_NotifyBegin final
{
public:
class USkeletalMeshComponent* MeshComp; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UAnimSequenceBase* Animation; // 0x0008(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
float TotalDuration; // 0x0010(0x0004)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool ReturnValue; // 0x0014(0x0001)(Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
uint8 Pad_15[0x3]; // 0x0015(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
class AActor* CallFunc_GetOwner_ReturnValue; // 0x0018(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class AFortPawn* K2Node_DynamicCast_AsFort_Pawn; // 0x0020(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess; // 0x0028(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AnimNotifyState_HolsterWeapon_C_Received_NotifyBegin) == 0x000008, "Wrong alignment on AnimNotifyState_HolsterWeapon_C_Received_NotifyBegin");
static_assert(sizeof(AnimNotifyState_HolsterWeapon_C_Received_NotifyBegin) == 0x000030, "Wrong size on AnimNotifyState_HolsterWeapon_C_Received_NotifyBegin");
static_assert(offsetof(AnimNotifyState_HolsterWeapon_C_Received_NotifyBegin, MeshComp) == 0x000000, "Member 'AnimNotifyState_HolsterWeapon_C_Received_NotifyBegin::MeshComp' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_HolsterWeapon_C_Received_NotifyBegin, Animation) == 0x000008, "Member 'AnimNotifyState_HolsterWeapon_C_Received_NotifyBegin::Animation' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_HolsterWeapon_C_Received_NotifyBegin, TotalDuration) == 0x000010, "Member 'AnimNotifyState_HolsterWeapon_C_Received_NotifyBegin::TotalDuration' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_HolsterWeapon_C_Received_NotifyBegin, ReturnValue) == 0x000014, "Member 'AnimNotifyState_HolsterWeapon_C_Received_NotifyBegin::ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_HolsterWeapon_C_Received_NotifyBegin, CallFunc_GetOwner_ReturnValue) == 0x000018, "Member 'AnimNotifyState_HolsterWeapon_C_Received_NotifyBegin::CallFunc_GetOwner_ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_HolsterWeapon_C_Received_NotifyBegin, K2Node_DynamicCast_AsFort_Pawn) == 0x000020, "Member 'AnimNotifyState_HolsterWeapon_C_Received_NotifyBegin::K2Node_DynamicCast_AsFort_Pawn' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_HolsterWeapon_C_Received_NotifyBegin, K2Node_DynamicCast_bSuccess) == 0x000028, "Member 'AnimNotifyState_HolsterWeapon_C_Received_NotifyBegin::K2Node_DynamicCast_bSuccess' has a wrong offset!");
// Function AnimNotifyState_HolsterWeapon.AnimNotifyState_HolsterWeapon_C.Received_NotifyEnd
// 0x0030 (0x0030 - 0x0000)
struct AnimNotifyState_HolsterWeapon_C_Received_NotifyEnd final
{
public:
class USkeletalMeshComponent* MeshComp; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UAnimSequenceBase* Animation; // 0x0008(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool ReturnValue; // 0x0010(0x0001)(Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
uint8 Pad_11[0x7]; // 0x0011(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
class AActor* CallFunc_GetOwner_ReturnValue; // 0x0018(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class AFortPawn* K2Node_DynamicCast_AsFort_Pawn; // 0x0020(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess; // 0x0028(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AnimNotifyState_HolsterWeapon_C_Received_NotifyEnd) == 0x000008, "Wrong alignment on AnimNotifyState_HolsterWeapon_C_Received_NotifyEnd");
static_assert(sizeof(AnimNotifyState_HolsterWeapon_C_Received_NotifyEnd) == 0x000030, "Wrong size on AnimNotifyState_HolsterWeapon_C_Received_NotifyEnd");
static_assert(offsetof(AnimNotifyState_HolsterWeapon_C_Received_NotifyEnd, MeshComp) == 0x000000, "Member 'AnimNotifyState_HolsterWeapon_C_Received_NotifyEnd::MeshComp' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_HolsterWeapon_C_Received_NotifyEnd, Animation) == 0x000008, "Member 'AnimNotifyState_HolsterWeapon_C_Received_NotifyEnd::Animation' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_HolsterWeapon_C_Received_NotifyEnd, ReturnValue) == 0x000010, "Member 'AnimNotifyState_HolsterWeapon_C_Received_NotifyEnd::ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_HolsterWeapon_C_Received_NotifyEnd, CallFunc_GetOwner_ReturnValue) == 0x000018, "Member 'AnimNotifyState_HolsterWeapon_C_Received_NotifyEnd::CallFunc_GetOwner_ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_HolsterWeapon_C_Received_NotifyEnd, K2Node_DynamicCast_AsFort_Pawn) == 0x000020, "Member 'AnimNotifyState_HolsterWeapon_C_Received_NotifyEnd::K2Node_DynamicCast_AsFort_Pawn' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_HolsterWeapon_C_Received_NotifyEnd, K2Node_DynamicCast_bSuccess) == 0x000028, "Member 'AnimNotifyState_HolsterWeapon_C_Received_NotifyEnd::K2Node_DynamicCast_bSuccess' has a wrong offset!");
}
@@ -0,0 +1,41 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnimNotifyState_TeleportFinished
#include "Basic.hpp"
#include "Engine_classes.hpp"
namespace SDK
{
// BlueprintGeneratedClass AnimNotifyState_TeleportFinished.AnimNotifyState_TeleportFinished_C
// 0x0000 (0x0030 - 0x0030)
class UAnimNotifyState_TeleportFinished_C final : public UAnimNotifyState
{
public:
bool Received_NotifyBegin(class USkeletalMeshComponent* MeshComp, class UAnimSequenceBase* Animation, float TotalDuration);
bool Received_NotifyEnd(class USkeletalMeshComponent* MeshComp, class UAnimSequenceBase* Animation);
public:
static class UClass* StaticClass()
{
return StaticBPGeneratedClassImpl<"AnimNotifyState_TeleportFinished_C">();
}
static class UAnimNotifyState_TeleportFinished_C* GetDefaultObj()
{
return GetDefaultObjImpl<UAnimNotifyState_TeleportFinished_C>();
}
};
static_assert(alignof(UAnimNotifyState_TeleportFinished_C) == 0x000008, "Wrong alignment on UAnimNotifyState_TeleportFinished_C");
static_assert(sizeof(UAnimNotifyState_TeleportFinished_C) == 0x000030, "Wrong size on UAnimNotifyState_TeleportFinished_C");
}
@@ -0,0 +1,72 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnimNotifyState_TeleportFinished
#include "Basic.hpp"
#include "AnimNotifyState_TeleportFinished_classes.hpp"
#include "AnimNotifyState_TeleportFinished_parameters.hpp"
namespace SDK
{
// Function AnimNotifyState_TeleportFinished.AnimNotifyState_TeleportFinished_C.Received_NotifyBegin
// (Event, Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// class USkeletalMeshComponent* MeshComp (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class UAnimSequenceBase* Animation (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// float TotalDuration (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool ReturnValue (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
bool UAnimNotifyState_TeleportFinished_C::Received_NotifyBegin(class USkeletalMeshComponent* MeshComp, class UAnimSequenceBase* Animation, float TotalDuration)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AnimNotifyState_TeleportFinished_C", "Received_NotifyBegin");
Params::AnimNotifyState_TeleportFinished_C_Received_NotifyBegin Parms{};
Parms.MeshComp = MeshComp;
Parms.Animation = Animation;
Parms.TotalDuration = TotalDuration;
UObject::ProcessEvent(Func, &Parms);
return Parms.ReturnValue;
}
// Function AnimNotifyState_TeleportFinished.AnimNotifyState_TeleportFinished_C.Received_NotifyEnd
// (Event, Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// class USkeletalMeshComponent* MeshComp (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class UAnimSequenceBase* Animation (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool ReturnValue (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
bool UAnimNotifyState_TeleportFinished_C::Received_NotifyEnd(class USkeletalMeshComponent* MeshComp, class UAnimSequenceBase* Animation)
{
static class UFunction* Func = nullptr;
if (Func == nullptr)
Func = Class->GetFunction("AnimNotifyState_TeleportFinished_C", "Received_NotifyEnd");
Params::AnimNotifyState_TeleportFinished_C_Received_NotifyEnd Parms{};
Parms.MeshComp = MeshComp;
Parms.Animation = Animation;
UObject::ProcessEvent(Func, &Parms);
return Parms.ReturnValue;
}
}
@@ -0,0 +1,57 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnimNotifyState_TeleportFinished
#include "Basic.hpp"
namespace SDK::Params
{
// Function AnimNotifyState_TeleportFinished.AnimNotifyState_TeleportFinished_C.Received_NotifyBegin
// 0x0030 (0x0030 - 0x0000)
struct AnimNotifyState_TeleportFinished_C_Received_NotifyBegin final
{
public:
class USkeletalMeshComponent* MeshComp; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UAnimSequenceBase* Animation; // 0x0008(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
float TotalDuration; // 0x0010(0x0004)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool ReturnValue; // 0x0014(0x0001)(Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
uint8 Pad_15[0x3]; // 0x0015(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
class AActor* CallFunc_GetOwner_ReturnValue; // 0x0018(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class ABP_VictoryDrone_C* K2Node_DynamicCast_AsBP_Victory_Drone; // 0x0020(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool K2Node_DynamicCast_bSuccess; // 0x0028(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AnimNotifyState_TeleportFinished_C_Received_NotifyBegin) == 0x000008, "Wrong alignment on AnimNotifyState_TeleportFinished_C_Received_NotifyBegin");
static_assert(sizeof(AnimNotifyState_TeleportFinished_C_Received_NotifyBegin) == 0x000030, "Wrong size on AnimNotifyState_TeleportFinished_C_Received_NotifyBegin");
static_assert(offsetof(AnimNotifyState_TeleportFinished_C_Received_NotifyBegin, MeshComp) == 0x000000, "Member 'AnimNotifyState_TeleportFinished_C_Received_NotifyBegin::MeshComp' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_TeleportFinished_C_Received_NotifyBegin, Animation) == 0x000008, "Member 'AnimNotifyState_TeleportFinished_C_Received_NotifyBegin::Animation' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_TeleportFinished_C_Received_NotifyBegin, TotalDuration) == 0x000010, "Member 'AnimNotifyState_TeleportFinished_C_Received_NotifyBegin::TotalDuration' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_TeleportFinished_C_Received_NotifyBegin, ReturnValue) == 0x000014, "Member 'AnimNotifyState_TeleportFinished_C_Received_NotifyBegin::ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_TeleportFinished_C_Received_NotifyBegin, CallFunc_GetOwner_ReturnValue) == 0x000018, "Member 'AnimNotifyState_TeleportFinished_C_Received_NotifyBegin::CallFunc_GetOwner_ReturnValue' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_TeleportFinished_C_Received_NotifyBegin, K2Node_DynamicCast_AsBP_Victory_Drone) == 0x000020, "Member 'AnimNotifyState_TeleportFinished_C_Received_NotifyBegin::K2Node_DynamicCast_AsBP_Victory_Drone' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_TeleportFinished_C_Received_NotifyBegin, K2Node_DynamicCast_bSuccess) == 0x000028, "Member 'AnimNotifyState_TeleportFinished_C_Received_NotifyBegin::K2Node_DynamicCast_bSuccess' has a wrong offset!");
// Function AnimNotifyState_TeleportFinished.AnimNotifyState_TeleportFinished_C.Received_NotifyEnd
// 0x0018 (0x0018 - 0x0000)
struct AnimNotifyState_TeleportFinished_C_Received_NotifyEnd final
{
public:
class USkeletalMeshComponent* MeshComp; // 0x0000(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
class UAnimSequenceBase* Animation; // 0x0008(0x0008)(BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool ReturnValue; // 0x0010(0x0001)(Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor)
};
static_assert(alignof(AnimNotifyState_TeleportFinished_C_Received_NotifyEnd) == 0x000008, "Wrong alignment on AnimNotifyState_TeleportFinished_C_Received_NotifyEnd");
static_assert(sizeof(AnimNotifyState_TeleportFinished_C_Received_NotifyEnd) == 0x000018, "Wrong size on AnimNotifyState_TeleportFinished_C_Received_NotifyEnd");
static_assert(offsetof(AnimNotifyState_TeleportFinished_C_Received_NotifyEnd, MeshComp) == 0x000000, "Member 'AnimNotifyState_TeleportFinished_C_Received_NotifyEnd::MeshComp' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_TeleportFinished_C_Received_NotifyEnd, Animation) == 0x000008, "Member 'AnimNotifyState_TeleportFinished_C_Received_NotifyEnd::Animation' has a wrong offset!");
static_assert(offsetof(AnimNotifyState_TeleportFinished_C_Received_NotifyEnd, ReturnValue) == 0x000010, "Member 'AnimNotifyState_TeleportFinished_C_Received_NotifyEnd::ReturnValue' has a wrong offset!");
}
@@ -0,0 +1,37 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnimNotify_FootStep_Left
#include "Basic.hpp"
#include "AnimNotify_FootStep_classes.hpp"
namespace SDK
{
// BlueprintGeneratedClass AnimNotify_FootStep_Left.AnimNotify_FootStep_Left_C
// 0x0000 (0x0040 - 0x0040)
class UAnimNotify_FootStep_Left_C final : public UAnimNotify_FootStep_C
{
public:
static class UClass* StaticClass()
{
return StaticBPGeneratedClassImpl<"AnimNotify_FootStep_Left_C">();
}
static class UAnimNotify_FootStep_Left_C* GetDefaultObj()
{
return GetDefaultObjImpl<UAnimNotify_FootStep_Left_C>();
}
};
static_assert(alignof(UAnimNotify_FootStep_Left_C) == 0x000008, "Wrong alignment on UAnimNotify_FootStep_Left_C");
static_assert(sizeof(UAnimNotify_FootStep_Left_C) == 0x000040, "Wrong size on UAnimNotify_FootStep_Left_C");
}
@@ -0,0 +1,37 @@
#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: AnimNotify_FootStep_Right
#include "Basic.hpp"
#include "AnimNotify_FootStep_classes.hpp"
namespace SDK
{
// BlueprintGeneratedClass AnimNotify_FootStep_Right.AnimNotify_FootStep_Right_C
// 0x0000 (0x0040 - 0x0040)
class UAnimNotify_FootStep_Right_C final : public UAnimNotify_FootStep_C
{
public:
static class UClass* StaticClass()
{
return StaticBPGeneratedClassImpl<"AnimNotify_FootStep_Right_C">();
}
static class UAnimNotify_FootStep_Right_C* GetDefaultObj()
{
return GetDefaultObjImpl<UAnimNotify_FootStep_Right_C>();
}
};
static_assert(alignof(UAnimNotify_FootStep_Right_C) == 0x000008, "Wrong alignment on UAnimNotify_FootStep_Right_C");
static_assert(sizeof(UAnimNotify_FootStep_Right_C) == 0x000040, "Wrong size on UAnimNotify_FootStep_Right_C");
}

Some files were not shown because too many files have changed in this diff Show More