Jump to content
ℹ️ Intermittent Download History issues ×

Natureboy7

Members
  • Posts

    5
  • Joined

  • Last visited

Posts posted by Natureboy7

  1. I think the posts from schlangster and expired6978 (first quote) really started something.
    Finally the people who want to help know how.
    However it can be difficult finding important posts in this thread, which is why I collected all the posts (and added some links) that might help people interested in contributing below:

    Packaged with the latest OldRim version of SKSE comes a source code directory.
    Email to submit alignment fixed classes can be found here: http://skse.silverlock.org/ under "Contact the SKSE Team".

    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.

     

     

    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.

     

     

    There is no free version of IDA Pro

    IDA Free is for 32 bit binaries only.

     

    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.

     

    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 Qazyhn
    He / 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.

     

     

     

    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*

     

    If you are looking at the RTTI info, IDA_ClassInformer on GitHub [Note: I think it's this] has the RTTI structure definitions for Win64 (or look at the source of my forks of that plugin https://github.com/Hugues92 )

     

    ClassInformer does not work very well for x64 RTTI. I ended up reading clang's MSVC codegen code. Also IDA is not something I can afford.

    Also it's not like I'm trying to make my own version of skse. I'm trying to find offsets and send them to the skse team.

  2. Thanks for the answer.

    What I am trying to do is give animals the ability to sprint. When they flee they should run faster for a short time. I researched maximum running speeds of the different animals that exist in skyrim.

    First I tried doing it via conditions. I had a spell which drained their stamina when fleeing and the sprint spell had a condition, that the animal needed minimum 1 stamina. So the animal would stop sprinting, when stamina was completely drained.

    That was buggy however.

    Than I tried giving the ability a duration, but I found out that abilities ar always on.

    So I figured the best Idea would be a script.

  3. Hi

    I want to make a mod where animals cast a spell on themselves under a specific condition.

    First I tried doing that without scripts via abilities with conditions. But I need the spells to have a duration. Apparently this is not possible with abilities, because they have no duration and are allway active.

    So I figured the best way would be to have a script that casts the self-delivered spell when the condition is met.

    Unfortunately I don't know much about scripting and I don't want to make a mod with a bad script that could ruin your save.

     

    Could someone help me make a simple script that makes an animal cast a spell on itself when a condition is met (the condition is that the animal is fleeing)?

    That would be really great!

    Thank you.

×
×
  • Create New...