Jump to content

Sex animations.


Recommended Posts

SendAnimEvent idleflutestart

 

This doesn't want to play in the vanilla. Tried blacksmith and bard' date=' used "" '' and no quotes at all & tried with and without (). Just refuses point blank to do anything. Either refuses to send to graph or denies the presence of a string parameter.

 

Any ideas?

 

[/quote']

 

 

Do we still have a number that we don't know what it does?

 

We could try that as a hex string, on the basis that it might be a form id

 

Maybe reverse the byte order, convert to hex and try that, too

Link to comment
also it says some error about not finding the graph when i use the command, but then when i close the console works anyway.

Oh. maybe I was a bit premature killing it when the error came up....

 

I'll try again.

 

@DocClox

Do we still have a number that we don't know what it does?

 

We could try that as a hex string, on the basis that it might be a form id

 

Maybe reverse the byte order, convert to hex and try that, too

 

Yes. Several. In this

 

V3 possibly means use playidleanimation3

1 probably means 1 animevent

idleFluteStart

0

0

2 means 2 records

3064642194

1690505273

7891816 means hkx

3064642194

1092176628

7891816 means hkx

 

 

As we speak, trying all the usual. No joy so far on the first two lines. The form ids I've found are

 

animobjectflute 00093642

animobjectlute 00093643

idleflutestart 00096F8C

idlelutestart 00096F8D

 

It probably is a reversed byte order code, as the last line was. It's just a matter of tying it to something relevant and working out what coding system is being used.

 

I am working on the preliminary assumption that it is a path id linked to the physical location of the .hkx file (or choice of) to be played when that animevent is called.

Link to comment

can you do those edits and test for me? you can test the animations by clicking on an npc ingame and typign the following console command:

 

SendAnimEvent idleflutestart

 

The vanilla works, unfortunately for those in search of the easy life, replacing the "unique" line with the one out of the lute .txt does not get my npc playing the lute, she just toots away on the flute again, (or doesn't as whether any sound comes out seems a bit hit or miss but she goes through the motions anyway).

 

I can't guarantee that anything is actually reading my edited file.

Link to comment

Tried all that byte reversing, even bit reversing the decimal # first. The rest of those are not strings or form IDs, the values are just too high. Got nowhere interpreting them as packed floats or doubles either, the values are too miniscule.

 

Note that the first # in each of the two blocks is the same.

 

 

Link to comment

Just so you guys know Havok released the tools to edit Behavior files for free a long time ago. Just as long as its not commercial.

 

http://software.intel.com/sites/havok/en/

 

Also here

 

http://www.havok.com/try-havok

 

It is true that you can get the Havok Physics and Havok Animation SDKs from those links but not the Havok Behaviors. You are however correct they did release Havok Behavior Tool for free for non profit use but the link is no longer there.

 

I know it was released though because I have Behavior 6.6 on my screen this min, however it without the project file .hkp it doesn't want to play with Skyrim's files. Not yet anyhow, I am working on it.

Link to comment

The last available for free version of HBT is version 6.6.0, which is still hosted on intel's website, apparently.

 

http://software.intel.com/sites/havok/downloads/HBT.Installer.v660.Release.20090708-142144_Released.zip

 

According to Beth threads this is so old the only thing the software is good for is to tinker with it and learn more about what Behavior really does. It won't work with Skyrim.

 

(and while I research and tinker with things, half of my brain is doing THIS)

tumblr_lz1m5cNS2N1qa2s89.jpg

 

But I learn about it eventually. xD

Link to comment

The last available for free version of HBT is version 6.6.0' date=' which is still hosted on intel's website, apparently.

 

http://software.intel.com/sites/havok/downloads/HBT.Installer.v660.Release.20090708-142144_Released.zip

 

According to Beth threads this is so old the only thing the software is good for is to tinker with it and learn more about what Behavior really does. It won't work with Skyrim.

[/quote']

 

True. The fakt is, that .hkx files are STRIPPED DOWN, game specific versions of .hkp (the Behavior project file). And based on hkx files you have NO CHANCE to reconstruct those hkp files, even if you "find" the necessary non-free 2010.2 HBT version. Hence, you will not be able to use HBT, unless Beth decides to relese it's secret base files.

 

Analyzing these text files, in my oopinion, is of no avail. It defines ADDITIONAL information (ON TOP of the hkx behavioe files), which they probably could not accomodate there. The base behavior definition is still in hkx. Like your "idleflutestart" is defined in mt_behavior.hkx and idlebehavior.hkx. And it's just referenced here in your .txt.

 

I don't want to say it's pointless what you do here. Because you have definitely learned a lot (I apologize immediately for being sarcastic :D). But if you want results, you should turn to some other possible solutions. To me the only possible solution right now are copied beast races, someone mentioned here before. But not human races, because they all share the same behaviors.

 

 

Link to comment

I don't want to say it's pointless what you do here. Because you have definitely learned a lot (I apologize immediately for being sarcastic :D). But if you want results' date=' you should turn to some other possible solutions. To me the only possible solution right now are copied beast races, someone mentioned here before. But not human races, because they all share the same behaviors.

[/quote']

 

Yeah, I've been thinking about that. We can do the race change, so that's not a problem. The main issue is going to be keeping the same appearance after the race swap. The beast races don't have all the facial morphs that the playable ones have.

 

If we can fix that, and I have no idea how to approach the problem at the moment, then we can make this work.

Link to comment

i can confirm that the .txt files do nothing, ive just deleted them and all the animations play fine. So its only the stuff in meshes/actors/character that control animation, gonna try to see exactly which ones control idles by trial and error and see if they relate to any of the data in the behaviour files. Somewhere there has to be a filepath.

Link to comment

aha! actual file paths appear in mt_behavior, along with some other shizzle that i dont understand

 

Edit:

 

editting the filepath in mt_behaviour (and the associated file names) does correctly change the animations, but changing the title name (in the case of the flute ive changed it to animobjectblutestart) doesnt stop it playing, so the file isnt being searched, its got some form of list if its looking for the 6th item in the list, itll blindly call the 6th entry in this file (at least i think thats what it does)

 

also theres some sort of conditional logic that i can spot in the file, not sure what it refers to though.

 

ive tried overwriting some of the non 0 entries between the lines of readable ascii and as far as i can determine its not breaking anything.

 

Edit2:

 

The list is at the end of the file (im still talking about mt_Behavior here). I changed idleflutestart to idleblutestart and using SendAnimEvent it only recognised idleblutestart

Link to comment

I was scratching my head wondering what the hell Behavior was and did some research. I'm sure there are others reading these threads that are wondering the same thing. :P

 

Havok released some YouTube video tutorials using HBT 2011.

 

http://havok.com/behavior-tutorials

 

I've noticed that these videos are listed out of order - The "Behavior Quality" video should be the last on the viewing list.

 

The audio quality is not the best, but the hour I spent watching them was worth it. While we can't edit the behavior files, at least I know a little bit more about how the game works. :)

 

The Locomotion tutorial makes a behavior graph from scratch.[video=youtube]

 

 

Link to comment

Okay then findings so far:

 

All the behavior files in characters/behaviors must be present or no behavior files are loaded. Also they are checked slightly (not sure how much, tried it by replacing one of the behavior files with a empty copy, and nothing loaded, so probably some header information is checked/loaded)

 

0_master ->

 

changing the names of the idles in the list in this file doesnt seem to change anything, not sure what its there for... maybe checking that all the files are correctly present?

 

mt_behavior ->

 

This contains the idles and their file paths and other stuff (like how to run the animations attached to the idle)

 

and simple (single animation) entry is layed out like this (well use idlelutestart as an example):

 

AnimObjectLute

 

AnimObjectLute

 

 

AnimObjectLute_MG

 

*random hex values*

 

AnimObjectLuteLoop Animation\AnimObjectLuteLoop.hkx

 

 

Deleting the first two AnimObjectLute doesnt stop the animation playing, but it does stop the lute appearing on the character, this leads me to believe this is information sent to the game/editor, but not relating to the animation.

 

editing the hex values between AnimObjectLute_MG sometimes makes the game ctd when the animation is called, need to do more testing to see exactly which bits do things. I think these match to some commands for playing the animation.

 

Now more complex entries are split over a series of entires like this, with one main header and a series of subsections. They also contain what i think are logical operators (like > == and !), so i assume there are some extra things you can do with this stuff, but that doesnt really interest us because we only want to add simple animations in (for now).

 

 

Toward the end of the file is a long block of the idle names, seperated with either 1 or 2 null hex values (00), switching idledrumstart and idlelutestart make idledrumstart run the lute animation and viceversa. This list loosly matches up with the order of the animations within the file itself, but more testing needs to be done to determine exactly where in the file this list starts and finishes.

Link to comment

Toward the end of the file is a long block of the idle names' date=' seperated with either 1 or 2 null hex values (00), switching idledrumstart and idlelutestart make idledrumstart run the lute animation and viceversa. This list loosly matches up with the order of the animations within the file itself, but more testing needs to be done to determine exactly where in the file this list starts and finishes.

[/quote']

 

This is sounding a lot like the list of animations found in gameplay->animations you know.

 

And some of those animations objects can be duplicated. So maybe if we can duplicate one to get the entry, and then hack the file path... If we can find the path ... except the path is already set up in the animation tab. The things we can dup are below that.

 

So maybe the challenge is to get the entry into that list.

 

[edit]

 

Sorry, that probably makes no sense at all. I think I need a coffee or ten ...

Link to comment

well heres what i think we could do:

 

Add an entry to the end of the list (or in the middle, if someone has got a nice tool that can insert a block of blank hex values into a file instead of overwriting) and then add the entry for the animation we want, then fiddle with it till it works.

 

Its just that one bit where we need to add space into the file to add our animation... anyone know of a good tool that can do that?

Link to comment

Toward the end of the file is a long block of the idle names' date=' seperated with either 1 or 2 null hex values (00), switching idledrumstart and idlelutestart make idledrumstart run the lute animation and viceversa. This list loosly matches up with the order of the animations within the file itself, but more testing needs to be done to determine exactly where in the file this list starts and finishes.

[/quote']

 

This is sounding a lot like the list of animations found in gameplay->animations you know.

 

And some of those animations objects can be duplicated. So maybe if we can duplicate one to get the entry, and then hack the file path... If we can find the path ... except the path is already set up in the animation tab. The things we can dup are below that.

 

So maybe the challenge is to get the entry into that list.

 

[edit]

 

Sorry, that probably makes no sense at all. I think I need a coffee or ten ...

 

Also just checked, the creation kit uses the .bsa, if you remove it it throws an error. Also it doesnt read me edditted files (though it would if i repackaged them into a .bsa)

 

 

Link to comment

Another update:

 

A behavior file seems to become invalid if its length changes at all (i added a single 00 value at the end and it stopped working), this leads me to believe theres a size list or something somewhere that checks the files before trying to load them.

 

Also i shifted the Animation path for the lute anims up by a single line, and they stopped working. this means that theres a very specific syntax its in, and not just deliminated by an arbritrary amount of null values (as id first thought)

Link to comment

A behavior file seems to become invalid if its length changes at all (i added a single 00 value at the end and it stopped working)' date=' this leads me to believe theres a size list or something somewhere that checks the files before trying to load them.

[/quote']

 

Sounds like there's a checksum somewhere, which also might explain the second issue.

Link to comment

A behavior file seems to become invalid if its length changes at all (i added a single 00 value at the end and it stopped working)' date=' this leads me to believe theres a size list or something somewhere that checks the files before trying to load them.

[/quote']

 

Sounds like there's a checksum somewhere, which also might explain the second issue.

 

there are however some values you can change, like the title of each animation, and their idle name. This means no checksum or no edits would be possible.

Link to comment

Indeed, the more people who throw ideas at it the quicker we find the link between the files and entries, and can duplicate them ourselves.

 

Seeing as we dont need any complex behaviour graphs, the stuff we are trying to do is quite basic and should be RELATIVELY easy, i give it a month, tops :P

Link to comment

Do you expect the end result of this to be the ability to add entirely new animations without affecting any of the vanilla ones? If so, how will they actually be added? Are you going to have to tell users they need to unpack their BSA, add your stuff, and then repack it, in order for it to be available in game and show up in the CK?

Link to comment

Do you expect the end result of this to be the ability to add entirely new animations without affecting any of the vanilla ones? If so' date=' how will they actually be added? Are you going to have to tell users they need to unpack their BSA, add your stuff, and then repack it, in order for it to be available in game and show up in the CK?

[/quote']

 

Simplest way would be to register the BSA with the new definitions. Put it at the end of the list and it should override definitions in the vanilla ones.

 

New animations ... are still going to be a pain, but if we can have 100 slots for new idel anims, we can say have user_anim00, user_anim01 ... user_anim99 and new animations can overwrite the user_anim files which can still presumably be loose.

 

And by the time we start runnng short of space, hopefully a more general solution will be in place.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use