Add Unreal Engine library

This commit is contained in:
2026-01-19 18:53:31 +01:00
parent 8b91fc31d6
commit d43d688760
2 changed files with 33 additions and 0 deletions

17
SilentHillF/UETools.cpp Normal file
View File

@@ -0,0 +1,17 @@
#include "UETools.hpp"
#include "SDK/Engine_classes.hpp"
SDK::APawn* GetPawnFromWorld(SDK::UWorld* world) {
if (!world) world = SDK::UWorld::GetWorld();
if (!world) return nullptr;
SDK::UGameInstance* gameInstance = world->OwningGameInstance;
if (!gameInstance || gameInstance->LocalPlayers.Num() == 0) return nullptr;
SDK::ULocalPlayer* localPlayer = gameInstance->LocalPlayers[0];
if (!localPlayer) return nullptr;
SDK::APlayerController* pc = localPlayer->PlayerController;
if (!pc) return nullptr;
SDK::APawn* pawn = pc->AcknowledgedPawn;
return pawn;
}

16
SilentHillF/UETools.hpp Normal file
View File

@@ -0,0 +1,16 @@
#pragma once
namespace SDK {
class UWorld;
class APawn;
class UGameInstance;
class ULocalPlayer;
class APlayerController;
}
// Unreal Engine functions
/**
* @brief Gets the current player Pawn from the world.
* @param world Optional UWorld pointer.
* @return Player Pawn or nullptr.
*/
SDK::APawn* GetPawnFromWorld(SDK::UWorld* world = nullptr);