leonardo2 Posted May 22, 2017 Share Posted May 22, 2017 Ok, to shed a bit of light on the current situation, here's a brief overview of the people that were involved with SKSE and their roles: Ian builds the core infrastructure and decodes the fundamental game systems. Most of his work happens when the game is released. He is the essential developer behind the script extender, but as you would expect from a person that skilled, he has a job and very little time.He sticks around to do the game updates and packages releases, but he doesn't have the time to do all the grunt work that comes with adding high-level features. Behippo handles decoding the game classes (that's lots of tedious work) and adding core script functions. He is a busy guy, too, so most of his work happens after release (at least for SKSE it was like that). These guys do the groundwork, but they do not create mods themselves (or even play the game extensively). This makes it harder for them to come up with actual script functions to add.The people best suited to do that part are the ones who have mods that require those functions. They know which functions and parameters they need and they have the mod set up the actually test those functions themselves, tweak them, etc. And that's how it should be IMO. We cannot expect two people who have been around for 10+ years to still do all the work. It needs people from the current generation of modders to step and contribute. For SKSE, these roles were filled by Brendan and me. Event-based input, Papyrus-ActionScript communication, mod events, the extending Equip functions, serialization, etc. - those were things I needed for SkyUI, they did not exist yet, so I added them. I was a student at the time, so I had lots of free time and I was highly motivated. Same goes for Brendan, he added even more stuff for RaceMenu (I would list it, but I don't know the details). In summary, it was two devs for the foundations, and two for the high-level features (though these roles are generally flexible). A good mix of people with experience but little time and vice versa. SKSE64 development worked pretty much the same so far. Ian and behippo did their thing, the foundations are more or less done. But Brendan currently focuses on F4SE as I understand and I am no longer active now (that was clear from the start). Behippo had planned to take on the task of porting the functionality required for SkyUI as you know, but so far that did not happen. It doesn't surprise me at all, because I know that if I had to do it all over again, except with the drastically reduced amount of time I have now, I would not have been able to either. Porting existing functions is a bit less work than starting from scratch, but he still has to figure out many things for the first time because he did not originally add all of them. So at the moment, there's not much going on. What could happen eventually:- Brendan moves on to SKSE64.- Behippo returns.- I return to port SkyUI (and the required functions in the process).- Ian gets mad and decides to do everything by himself in one hour :D- Others decide to get involved and help. But don't count on it, and do not assume any release schedule.Thanks for the information Schlangster. :smile: Link to comment Share on other sites More sharing options...
ArizonaSteve Posted May 22, 2017 Share Posted May 22, 2017 In other words, working with both MS Visual Studio for the source coding and whatnot & using Hex Ray's IDA Pro for the (legal) reverse engineering... I tried loading up the free version of IDA Pro yesterday and it was crash central on Windows 10. I suspect there's some dependencies that are not specified on the download page. Link to comment Share on other sites More sharing options...
hlp Posted May 22, 2017 Share Posted May 22, 2017 There is no free version of IDA Pro IDA Free is for 32 bit binaries only. Link to comment Share on other sites More sharing options...
barcharcraz Posted May 22, 2017 Share Posted May 22, 2017 I've been using x64dbg. I found the type descriptors for those classes but they are not pointing me to the vtbls, I'm trying to follow the first pointer in the type descriptor though, tonight I'm going to try following it backwards. Edit: nope I'm an idiot and assumed the placeholder pointer at the start of the vtbl was the end of the vtbl Edit2: there's several approaches to verifying offsets but I'm going to go with finding the vtbl then finding instances of said object by finding references to it. Link to comment Share on other sites More sharing options...
aristotle99 Posted May 22, 2017 Share Posted May 22, 2017 (edited) I've been using x64dbg. I found the type descriptors for those classes but they are not pointing me to the vtbls, I'm trying to follow the first pointer in the type descriptor though, tonight I'm going to try following it backwards. Edit: nope I'm an idiot and assumed the placeholder pointer at the start of the vtbl was the end of the vtbl Edit2: there's several approaches to verifying offsets but I'm going to go with finding the vtbl then finding instances of said object by finding references to it. Outstanding :smile: I was hoping that some smart cookies would finally try their hand at this, hope there are more. I started a thread on Reddit 2 days ago on schlangster's recent post and the status of SKSE64. Here it is: https://www.reddit.com/r/skyrimmods/comments/6cbmw9/pc_skse64_update_of_sorts/ People might want to contact QazyhnHe / she seems to be a main contact, here is their post on that thread: We have plenty of offers, but we have yet to have anyone with the actual skill set and motivation we need. The skill bar is higher than some actual development jobs out there so it's not easy to get people who are interested and obviously won't be paid. Knowing C++ is a basic requirement, but it's not going to help with the development of SKSE64.The C++ code is already all there, what we need someone who can:decode classes (from memory)verify class alignments (and fix them)update addresses (this is actually easier than alignment fixing)SKSE64 isn't something that can be realized by throwing developers who lack the required skills at it. Additionally these skills aren't something you can just learn in a few days like transferring to a new programming language. I can point people with prior C++ experience in the right direction for getting started but none of us really have the time to teach. Edited May 22, 2017 by aristotle99 Link to comment Share on other sites More sharing options...
barcharcraz Posted May 22, 2017 Share Posted May 22, 2017 I'm actually fairly new to reverse engineering, but I do have quite good c++ layout knowledge and I'm comfortable reading through assembly (as long as it's intel syntax. I almost failed a test back in college because they put a bunch of gnu style assembly on it) I think I'll just decode at least one class and email the new offsets to the team email address. Edit for anyone else attempting to help: the base type descriptor has a pointer to *its* vtbl, not the vtbl of the described type. *facepalm* Link to comment Share on other sites More sharing options...
hlp Posted May 23, 2017 Share Posted May 23, 2017 If you are looking at the RTTI info, IDA_ClassInformer on GitHub has the RTTI structure definitions for Win64 (or look at the source of my forks of that plugin https://github.com/Hugues92 ) Link to comment Share on other sites More sharing options...
Genj0 Posted May 23, 2017 Share Posted May 23, 2017 Oh damn some serious coding talk happening right now, I dont get sh8t of what I read but thats a good thing people are not giving up... I guess? Link to comment Share on other sites More sharing options...
EB64 Posted May 23, 2017 Share Posted May 23, 2017 I'm gonna laugh my butt off if you guys actually start getting some coding(probably to the point of the last update video at best) done, then Behippo comes back and has a release of SKSE64. Link to comment Share on other sites More sharing options...
aristotle99 Posted May 23, 2017 Share Posted May 23, 2017 I'm gonna laugh my butt off if you guys actually start getting some coding(probably to the point of the last update video at best) done, then Behippo comes back and has a release of SKSE64. That's right, discourage people from contributing. Lack of communication from behippo (even a message sent to an intermediary) is evidence that he has lost interest. Link to comment Share on other sites More sharing options...
Recommended Posts