NorthernUI icon indicating copy to clipboard operation
NorthernUI copied to clipboard

Build fails with `'GetAnimData': is not a member of 'RE::Actor'`

Open imax9000 opened this issue 5 years ago • 2 comments

C2039	'GetAnimData': is not a member of 'RE::Actor'

At line obse_plugin_example\Patches\EnhancedMovement.cpp:82

I suspect that commit https://github.com/DavidJCobb/NorthernUI/commit/fed915d3224e9883e1ccc60856e4ffc6147176f9 was meant to add it, but didn't.

imax9000 avatar Jun 11 '20 09:06 imax9000

I did some digging. It turns out that over a year ago, when I was trying to figure out how to set up a build environment for OBSE DLLs, I inadvertently used an unofficial fork of OBSE's source code; this unofficial fork is version 0022; the latest official release is version 0021.

Binaries compiled with this unofficial fork appear to be more-or-less compatible with the official release (else NorthernUI as is would crash and burn for 99% of OBSE users, including myself). However, some of the class definitions differ; notably, virtual member function TESObjectREFR::Unk_59 has been identified as GetAnimData; see line 590 of GameObjects.h v0022.

This had me really worried for a second -- I was worried I had somehow defined and then lost GetAnimData! Had to disassemble my own DLL to find out it was a virtual call. Of course, having to build against a non-standard OBSE branch is still extremely not ideal, and I can only apologize for being a bit too much of a newbie when I first started the project.

DavidJCobb avatar Jun 11 '20 21:06 DavidJCobb

Thanks for digging it up!

I had to copy over a few more method declarations from that repository, but once I did it - it managed to compile and even not crash the game :)

imax9000 avatar Jun 12 '20 08:06 imax9000