Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] FNames Dumper #655

Open
igromanru opened this issue Sep 13, 2024 · 1 comment
Open

[Feature Request] FNames Dumper #655

igromanru opened this issue Sep 13, 2024 · 1 comment

Comments

@igromanru
Copy link
Contributor

Most Unreal Engine SDK Dumpers/Generators have a feature to dump all FNames to a file, just like Objects.
It's very helpful since most Names are loaded from the start of the game and you can often find useful names like Events, Cosmetic, Item names etc. which can give a great deal of information about possible values.
The dump should look similar to this:

[00003] ByteProperty
[00008] IntProperty
[00013] BoolProperty
[00018] FloatProperty
[00023] ObjectProperty
[00028] NameProperty
[00033] DelegateProperty
[00039] DoubleProperty
[00044] ArrayProperty
[00049] StructProperty
[00065] StrProperty
[00070] TextProperty
[00075] InterfaceProperty
[00081] MulticastDelegateProperty
[00089] LazyObjectProperty
[00095] SoftObjectProperty
[00101] Int64Property
[00111] Int16Property
[00116] Int8Property
[00121] UInt64Property
[00126] UInt32Property
[00131] UInt16Property
[00136] MapProperty
[00141] SetProperty

The number between [] is the compare index.

@UE4SS
Copy link
Collaborator

UE4SS commented Dec 12, 2024

We don't have access to the names array, instead we do all our FName interaction via calls to the FName constructor.
This was done for two reasons:

  1. Avoiding implementing all the names array related structs for all the different engine versions.
    See the FUObjectArray mess for a live example.
    This reason might not be valid for long though as we're working on a solution for this for FUObjectArray, which might translate well into the names array specific stuff as well.
  2. The ability to add new FNames to the names array is very easy using the FName constructor compared to having to manually expand the names array, and I'm not even sure if it's safe to do that.
    Considering we are making use of adding new FNames, this means that we'd still need the FName constructor, and that means still requiring the AOB for it and that means we now have an additional AOB since we'd also need an AOB for the names array, and the more AOBs we require the harder it is to maintain game compatibility.
    If you know of a consistent and game-independent way to retrieve the names array address without using an AOB, feel free to let me know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants