ryobg / JContainers

JSON-based data structures for Papyrus - the TESV Skyrim SE scripting language
MIT License
107 stars 23 forks source link

string.h #4

Closed pugwash99 closed 6 years ago

pugwash99 commented 6 years ago

Ok, found another issue in string.h

   DEFINE_MEMBER_FN(ctor, string_ref *, 0x00A511C0, const char * buf);
   DEFINE_MEMBER_FN(Set, string_ref *, 0x00A51210, const char * buf);
   DEFINE_MEMBER_FN(Release, void, 0x00A511B0);

are the old Skyrim references and should match the new ones in the skse64\gametypes.h

    DEFINE_MEMBER_FN(ctor, string_ref *, 0x00C28280, const char * buf);
    DEFINE_MEMBER_FN(Set, string_ref *, 0x00C283F0, const char * buf);
    DEFINE_MEMBER_FN(Release, void, 0x00C283D0);

This was causing a ctd when using the functions to load the json files.

I would put his a pull request but as I've never really used github other than to download code I'm not sure of what the settings should be.

ryobg commented 6 years ago

You fork this project. Then do your changes and create a pull request. These are available on the git interface. Maybe this can help https://help.github.com/articles/fork-a-repo/

I'm going to fix these now though (I have few spare minutes). I suppose we should go over all the custom binary hooks.

ryobg commented 6 years ago

Thanks for your help - appreciated.

There are a bit over hundred such binary definitions - I will check them out later.

javierhimura commented 6 years ago

Most of the binary definitions like those are in skse64, we can assume everythin from SKSE64 dll is already prepared for Special Edition, only the ones in JContainers projects must to be checked, i only found those three

pugwash99 commented 6 years ago

Searching for DEFINE_MEMBER_FN in the jcontainers project doesn't find any more. It's one of those occasions where you wish the skse64 had them defined separately.

ryobg commented 6 years ago

Only these three were. I didn't saw other hex constants of importance.