Closed NyanAlex closed 5 months ago
Use the latest commit from Main branchand let me know if it still crashes.
still crashes
Call the ObjectArray::DumpObjects()
function right after FName::Init()
in Generator.cpp. Send the resulting GObjects dump then.
Never mind, wont help, give me a second.
Put a print statement in there and send the console output afterwards. I want to see if they change the name of some member, or if there's something else wrong.
int32 SearchStart = ObjectArray::FindClassFast("Object").GetStructSize() + ObjectArray::FindObjectFast<UEStruct>("URL", EClassCastFlags::Struct).GetStructSize();
UEClass LevelClass = ObjectArray::FindClassFast("Level");
for (UEProperty Property : LevelClass.GetProperties())
std::cout << "Property: " << Property.GetName() << std::endl;
int32 SearchEnd = ObjectArray::FindClassFast("Level").FindMember("OwningWorld").GetOffset();
Ok, this is strange, it doesn't find ULevel for some reason. I think you do need to send me an object dump (as described above).
GObjects Dump empty
in that case try putting the call to DumpObjects
right before the line that's crashing (in FindLevelActorsOffset
).
BRUH! Just change "Level" to "level" and you should be good. What is wrong with these gamedevs???
Thank you very much!
what?
I also pushed a fix to the Main and BP-Decompiler branches.
I've noticed that this entire issue could've been avoided if I just used GetClass()
on the ULevel instance I already have. This way there wouldn't have been any FindObject
calls, and we would not have need to worry about the name starting capital or lowercase.