alandtse / CommonLibVR

This is an experimental reverse engineered library for Skyrim VR (ported from CommonLibSSE). There are two main branches (VR) which is based on po3's using ifdefs, and NG which is an updated NG build.
MIT License
23 stars 21 forks source link

Possibly shifted default object enum values #3

Closed Seally closed 2 years ago

Seally commented 2 years ago

Hi,

I think at least some of the DEFAULT_OBJECT enum values in BGSDefaultObjectManager.h may have been shifted for VR.

I'm currently working on a (blind) port for VR for YASTM and the logs a user provided suggests that DEFAULT_OBJECT::kKeywordReusableSoulGem does not actually point to this keyword (whatever it fetched fails to identify reusable soul gems).

Since I do not own Skyrim VR at all, I'm afraid I'll have to trouble you to look into this if you can spare the time. I'm assuming that the survival mode stuff shouldn't be in there at least.

Thanks, and I apologize for the trouble.

alandtse commented 2 years ago

Sorry I didn't see this till now (notifications weren't on). Do you want to send over the dll and pdb and I can see if I can break and explore?

Seally commented 2 years ago

I'm not sure how sending the specific DLL will help, just that whatever ID the reusable soul gem keyword is, it's probably not 216 (since my checks on known reusable soul gems fail on a user's machine).

The offending lines from my plugin are here.

https://github.com/Seally/yastm/blob/20dd13d00c21d1da0856c1cc4f33e0bcc451b547/src/utilities/misc.cpp#L54-L63

I think it might be better to create a plugin that hooks kDataLoaded to dump what's in them and compare with the enum values.

Note: I've attached an FOMOD since the plugin doesn't quite work without the rest of the files. Basically the reusable soul gem keyword check seems to be failing in the logs (at least on the user's machine, since I don't have a way of running it myself).

YASTM_VR.zip

alandtse commented 2 years ago

Thanks. I'll see about dumping kDataLoaded. I had thought you were iterating through the objects so I could debug it with a break, but now that I see how you did it I get it.

alandtse commented 2 years ago

Please check with the latest commit to VR