Jump to content

[WIPz] Skyrim Script Extender (SKSE64)


behippo

Recommended Posts

 

Has there been any thought to opening up the project in git (or whatever code repository is being used)? I bet there are several people watching this thread who have the necessary tools and reverse engineering experience to help move this along. In addition there are a bunch of excellent programmers here who can help with adding functions.

We get request emails quite frequently, but we haven't had anyone with the motivation AND the skill set requirements. Programming isn't what we need for SKSE64, we need reverse engineers who understand x86/x64 assembly and C++ structure alignment. I don't believe switching to git would bring anymore people in. It would likely just bring in more need for management (i.e. Peer Reviews).

Â

If you're interested in contributing your reverse engineering skills, all you have to do is submit a few alignment fixed classes to show us that you're capable. You don't even need to know x64/x86 for this, you just need to understand structure alignments and C++, this is essentially where I started 6 years ago.

Â

Here's some classes I'm confident are broken strictly from alignment shifts:

EffectSetting

TESRace

TESNPC

TESObjectWEAP

TESObjectARMA

ActiveEffect

You don't need to fix any utility classes e.g. tArray, these are already fixed, you should correct the offsets in the comments on the right as is our convention.

What's the dev process for this? I've not done any assembly for a while but Ive previously used ollydbg when reverse engineering things.

Link to comment
Share on other sites

  • Replies 885
  • Created
  • Last Reply

Top Posters In This Topic

Sadly, I lack on the reverse engineering credentials. I've been developing software professionally since before some of the people on this board were born, but my current weapon of choice is Java. That being said I have dabbled in C++ and am familiar with alignments and filler bytes (playing around with the original SKSE no less, so I am familiar with the code), but am far from an expert on the matter.

 

Still, it's possible that you've piqued my interest and if there's one thing I am good at it's figuring stuff out...

Link to comment
Share on other sites

@Schlangster: Thanks for the background information! It certainly gives us a better view on why it takes so long. (For those of us who don't know squat about coding, like myself)

 

Also, I hope Ian gets mad and finishes all the work in an hour (LOL.)

Link to comment
Share on other sites

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.

 

So... SKSE64 *is* dead until further notice. Good to know, and thank you for clarifying what goes into development. It certainly provides a lot of useful insight. :)

Link to comment
Share on other sites

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.

 

I have decent C++ skills. Is there a detailed list of work items to go off of? How might one get involved?

Link to comment
Share on other sites

 

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.

 

I have decent C++ skills. Is there a detailed list of work items to go off of? How might one get involved?

 

Schlangster isn't the only member talking about skse, check out what expired said: https://forums.nexusmods.com/index.php?/topic/5206865-wipz-skyrim-script-extender-skse64/page-76&do=findComment&comment=50261612

Link to comment
Share on other sites

maybe a dumb question, but does SKSE also work for the special edition for now instead of SKSE64?

People wouldn't be spamming this thread if that were the case.

Link to comment
Share on other sites

 

 

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.

 

I have decent C++ skills. Is there a detailed list of work items to go off of? How might one get involved?

 

Schlangster isn't the only member talking about skse, check out what expired said: https://forums.nexusmods.com/index.php?/topic/5206865-wipz-skyrim-script-extender-skse64/page-76&do=findComment&comment=50261612

 

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...

Edited by SantinoMastrangioli1
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...