I've been reading a little about animation in MW and it seems that every animation is stored in one huge file and that because of engine limits new ones can be added only if they overwrite old files. So if these are the largest limitations why hasn't anyone created an app that moitors where the anim file is in memory and streams new ones in whilst the MW process is running, overwriting the old ones and thus adding the possibility of an almost limitless number of possible animations?

I've probably over simplified the problem but can someone shed some light on it for me?
I don't have an answer, but rather a suggestion.

Try keeping all questions asked at the same time in a single topic. It helps those who may want to answer more than one question, as well as making things easier on the moderators. smile.gif
Off topic but didn't Clownbatton had that avatar?
It would be awesome to have more animations in MW, is what you are proposing a little like MWSE for animations?
Isn't that basically what that MWSE very detailed sex mod does?
QUOTE(Chaka ZG @ Apr 21 2008, 03:04 PM) [snapback]12137840[/snapback]
Off topic but didn't Clownbatton had that avatar?

Wow, good memory and yes I did have the same avatar for my old account. I was "clownbaton" but I changed my name.

QUOTE(Falc @ Apr 21 2008, 03:11 PM) [snapback]12137886[/snapback]
It would be awesome to have more animations in MW, is what you are proposing a little like MWSE for animations?

Not really sure how MWSE works but if it mem switches then yeah.

QUOTE(peachykeen @ Apr 21 2008, 03:21 PM) [snapback]12137954[/snapback]
Isn't that basically what that MWSE very detailed sex mod does?

What is the name of this mod?
QUOTE(iio @ Apr 21 2008, 06:26 PM) [snapback]12139083[/snapback]
What is the name of this mod?


Lover's and Legends, no links for obvious reasons. There was a thread on the psychodog forums about a utility to rip appart and combine animation files in development. If this succeeds then more animations can be built.
QUOTE(peachykeen @ Apr 21 2008, 04:21 PM) [snapback]12137954[/snapback]
Isn't that basically what that MWSE very detailed sex mod does?

No, the L&L mod assigns specific animation files to NPC actors, there has to be a male and female NPC for each "position". The player's head is copied onto one of the NPCs and the player is set to invisible with collision turned off. Essenctially, it's the NPC actors that are performing the animations while the player watches. Open up the mod in the CS or MWEdit and you'll see what I mean.
I have asked the same question several times on different forums as well as posted such request on the MWSE tracker: nothing so far, it was just ignored by active programmers. However, Shon/LizTail (not active at the moment NifTools developer) has shared his thoughts about the problem at Psychodog Studios Forum: this is a very difficult task that perhaps could be resolved in the significantly modified MWSE environment.
I have no clue whether MWSE coding project is still active.

In general it is not necessary to create huge animation nifs that contain all game animation sequences. It is possible to attach only some of them to NPCs as well as to PC “overwriting” exiting ones (there is no possibility to add new sequences in MW).

L&L uses PC/NPC clones: each clone has only one set of animations (Idle6-9). This is the only known to me working solution of breaking this MW engine limitation (hardcoded limited number of animation sequences).

sad.gif


Sorry, Jac: I was typing too slow.
QUOTE(Nicholiathan @ Apr 21 2008, 06:33 PM) [snapback]12139121[/snapback]
Lover's and Legends, no links for obvious reasons. There was a thread on the psychodog forums about a utility to rip appart and combine animation files in development. If this succeeds then more animations can be built.

So are they actually making it or were they just discussing it?


QUOTE(A1x2e3l @ Apr 21 2008, 07:03 PM) [snapback]12139255[/snapback]
I have asked the same question several times on different forums as well as posted such request on the MWSE tracker: nothing so far, it was just ignored by active programmers. However, Shon/LizTail (not active at the moment NifTools developer) has shared his thoughts about the problem at Psychodog Studios Forum: this is a very difficult task that perhaps could be resolved in the significantly modified MWSE environment.
I have no clue whether MWSE coding project is still active.

In general it is not necessary to create huge animation nifs that contain all game animation sequences. It is possible to attach only some of them to NPCs as well as to PC “overwriting” exiting ones (there is no possibility to add new sequences in MW).

L&L uses PC/NPC clones: each clone has only one set of animations (Idle6-9). This is the only known to me working solution of breaking this MW engine limitation (hardcoded limited number of animation sequences).

sad.gif
Sorry, Jac: I was typing too slow.

So if MWSE already memory swaps at run-time couldn't someone who knows about animation advise the MWSE guys on what needs to be done? For example, say someone like me, who doesn't know much about animation, wants to attach an animation to a nif in Max. I do the animation in Max, pass the anim file to MWSE, which may or may not convert it to a kf file that MW understands as I hear Max's converters are buggy, and when prompted by a script command the animation is streamed in or completely switched out by MWSE. Is there a really comprehensive tutorial on the kf file format because if one already exists it seems to me that it would be just a matter of coding a data format converter for MWSE to swap out?
<removed>
Shon was intending to create external application to extract/append/substitute animation sequences in a MW animation nifs. But he is a very busy person and works very slowly but the results are always excellent.

Raflod has once summarized the request at Fliggerty’s Forum like that:

QUOTE
Anyway the only feature I would really need is the utopic function GetNPCAnimationFile and SetNPCAnimationFile. It sounds great, isn't it? Hehe.


Animations as well as other NetImmerse/Gamebyio game engine objects are stored in nif/kf files. These files should be and can be created in 3D modelers like Max, Maya, Blender (TESCK, and of cause all scripting extensions MWSE, MGE etc. are only using them: these programs do not “convert”/modify nifs/kfs).
Game engine recognizes what animation to play by searching for text keys in the NiTextKeyExtraData node of the animation nifs/kfs. These text keys are hardcoded (no chance to add new ones like in Oblivion) and limited in number. You can find them here:

http://preik.net/morrowind/animationgroups.html

or by checking animation nifs in NifScope (NiTextKeyExtraData node) or in the TESCK.

So, only few sequences are available for “free” use: Idle3-9. Moreover, their use will overwrite the original animations.

Another set of problems how to “attach” animations to PC/NPC and script (use, control) them. There is no functions for direct control of PC animations; NPCs could be reliably controlled only by AIWander function (Idle3-9); PlayGroup/LoopGroup functions are not properly working for NPCs.

There is another technical problem – all attached new animation sequences should be packed in one sometimes huge nif/kf. This is not so easy to do using buggy old versions of Max. Official MW nif exporter is only available for Max3-4 (it partially works also with Max5.1). NifTools Max plugin does not properly support MW animation export (probably, Blender plugin does the job) – additional work in NifScope is required.

All that has raised a question/request like yours: how to improve/expand MW animation control system.

Unfortunately, there is no available full documentation (code) for NetImmerse 4.1 (MW is based on that version). Moreover, MW animation format (these mysterious three files) is different from original NetImmerse (nif and kfs.). MaxImmerse plugin (original NDL Max exporter) is not MW compatible.

As far as I understand (I am not a programmer) MW game executable should have a possibility/function to stream animations in the game from a specified (default files or in the .esp/TESCK) nif/kf for a particular NPC/PC at a given game moment – load these data in to memory etc.

The problem is not that easy.

smile.gif
QUOTE
Shon was intending to create external application to extract/append/substitute animation sequences in a MW animation nifs. But he is a very busy person and works very slowly but the results are always excellent.

Link? I would like to see what he has done.

QUOTE
Raflod has once summarized the request at Fliggerty’s Forum like that:
Animations as well as other NetImmerse/Gamebyio game engine objects are stored in nif/kf files. These files should be and can be created in 3D modelers like Max, Maya, Blender (TESCK, and of cause all scripting extensions MWSE, MGE etc. are only using them: these programs do not “convert”/modify nifs/kfs).
Game engine recognizes what animation to play by searching for text keys in the NiTextKeyExtraData node of the animation nifs/kfs. These text keys are hardcoded (no chance to add new ones like in Oblivion) and limited in number.

Yeah I know that they don't convert anything I was implying that as MWSE already uses memory switching that it would be the most likely program to attach a converter to.

QUOTE
There is another technical problem – all attached new animation sequences should be packed in one sometimes huge nif/kf. This is not so easy to do using buggy old versions of Max. Official MW nif exporter is only available for Max3-4 (it partially works also with Max5.1). NifTools Max plugin does not properly support MW animation export (probably, Blender plugin does the job) – additional work in NifScope is required.

I have a copy of Max4 so if I create an animation in it and then analyse the file structure, compare it to one that already works in MW, adjust my animation to include the same keys, etc and then manipulate MWSE to switch out my animation at run-time for the normal MW one I was just comparing it to then I should be able to create whatever anims I like yeah? I'm not talking about changing the MW engine, just "tricking" it. It thinks a normal game anim is in there but there really is a new one that I've written to RAM myself.


QUOTE
Unfortunately, there is no available full documentation (code) for NetImmerse 4.1 (MW is based on that version). Moreover, MW animation format (these mysterious three files) is different from original NetImmerse (nif and kfs.). MaxImmerse plugin (original NDL Max exporter) is not MW compatible.

So there must be enough information somewhere about how the MW anim files are formatted as Oshiel did it and I think RX31 did too? Something low level like a hex map or something. C++ would be nicer.

Well, nothing is yet posted about this project. Shon is an author of NitTools Maya plugin, he did a lot for Better Clothes scripting and modeling, fantastic new beast races, etc. His site is here:
http://www.liztail.com/

“So there must be enough information somewhere about how the MW anim files are formatted as Oshiel did it and I think RX31 did too? Something low level like a hex map or something. C++ would be nicer.”

Many of us did that (I as well, in Max) but there is no need of any “low level” information to bring created in Max animations in the game.

As I have already mentioned NetImmerse/Morrowind game engine C++ codes are not available. NDL/Emergent (http://www.emergent.net/) has never published anything like that so far.

The most advanced information about nif/kf format you can find on the NifTools site:

http://niftools.sourceforge.net/wiki/NifTools

and in MaxImmerse documentation:

http://www.ageinc.com/Morrowind/Thanos_Tower/utilities1.html

smile.gif
QUOTE(A1x2e3l @ Apr 22 2008, 12:14 AM) [snapback]12140592[/snapback]
Many of us did that (I as well, in Max) but there is no need of any “low level” information to bring created in Max animations in the game.

Thanks for the links they look very helpful. I wanted a low level file description so I would know what to look for in Windows' memory. I know you don't need it for exporting but if anyone is going to use memory swapping they're going to need make sure they have the right thing and for this a file description is necessary.
It's hard for me to say exactly what is going on with MWSE development right now. Ever since I've been involved it's mostly happened in short bursts of activity. I know that some rather sweeping changes were made, but I have yet to see anything other than source of those changes (which means relatively little to me, I'm not much of a programmer.) I'll about a bit of a poke2.gif though and find out what's going on.
As far as I understand the situation the game engine can recreate a scene from a save file (.ess). .esp and .ess files are so to say record database of all objects of a particular scene plus other “history” information.

Morrowind ESP File Format can be found here:

http://home.cinci.rr.com/jimadam/MorrowindESPFormat.html

http://home.cinci.rr.com/jimadam/


Another useful utility could be Timeslip's TESsnip.
This is a utility for viewing the high level record structure of an esm, esp or ess file, and deleting whole batches of records quickly.
- Requires .NET v2.0

http://www.angelfire.com/games6/timeslip/morrow.html

Unfortunately, I am not able to find there any information about PC/NPC animations specifically. Reference to the used by an NPC animation nif (e.g. base_anim.nif, base_anim_female.nif, or anim_dancingGirl.nif) is stored after “MODL”: e.g. “NPC_01; NAME NNN; MODL anim_dancingGirl.nif….”.

We could create a very simple interior cell (just a cube) (MW plugins; .esp), place an NPC there with and without attached animations (e.g. custom Idle9 with corresponding AIWander package). Place our PC with console command - CenterOnCell, [CellID]; abbreviation COC; Places the player in the specified cell ID. Save the scene in an .ess.
So, you could analyze both saves (NPC with and without attached custom animation) and see how they are processed, memory allocation, etc.

In case you are interested let me know, I can create these plugins and animations.


You might also consider documentation of the open source Wild Magic Real-Time 3D Graphics Engine by David H. Eberly who was one of the developers of the NetImmerse game engine. I have heard from programmers that there are some similarities between these game engines.

http://www.geometrictools.com/index.html

smile.gif
QUOTE(A1x2e3l @ Apr 22 2008, 06:14 PM) [snapback]12144089[/snapback]
As far as I understand the situation the game engine can recreate a scene from a save file (.ess). .esp and .ess files are so to say record database of all objects of a particular scene plus other “history” information.

Morrowind ESP File Format can be found here:

http://home.cinci.rr.com/jimadam/MorrowindESPFormat.html

http://home.cinci.rr.com/jimadam/
Another useful utility could be Timeslip's TESsnip.
This is a utility for viewing the high level record structure of an esm, esp or ess file, and deleting whole batches of records quickly.
- Requires .NET v2.0

http://www.angelfire.com/games6/timeslip/morrow.html

Unfortunately, I am not able to find there any information about PC/NPC animations specifically. Reference to the used by an NPC animation nif (e.g. base_anim.nif, base_anim_female.nif, or anim_dancingGirl.nif) is stored after “MODL”: e.g. “NPC_01; NAME NNN; MODL anim_dancingGirl.nif….”.

We could create a very simple interior cell (just a cube) (MW plugins; .esp), place an NPC there with and without attached animations (e.g. custom Idle9 with corresponding AIWander package). Place our PC with console command - CenterOnCell, [CellID]; abbreviation COC; Places the player in the specified cell ID. Save the scene in an .ess.
So, you could analyze both saves (NPC with and without attached custom animation) and see how they are processed, memory allocation, etc.

In case you are interested let me know, I can create these plugins and animations.
You might also consider documentation of the open source Wild Magic Real-Time 3D Graphics Engine by David H. Eberly who was one of the developers of the NetImmerse game engine. I have heard from programmers that there are some similarities between these game engines.

http://www.geometrictools.com/index.html

smile.gif


Yeah that's kind of what I was after. I had some of those links before but my computer died and I lost a lot of stuff. And yes sparse ess' would be great, thanks. If you don't want to rapidshare them I'll PM you my email address. Thanks.

That's interesting about the Wild engine. I wonder if MW were to be given a ew engine if that's the one that would be chosen as it would most likely give the same "look" as MW's current engine.
OK, here are the plugins.

http://download.yousendit.com/BB19FD24794453C9

AAAA_Test1_Anim.esp with attached Idle9 animations.
AAAA_Test1_NoAnim.esp without animations.

Type in console : COC “AAAA_Cell”

This will transfer you to a stupid blue box "room" with a female NPC: AIWander Idles2-8 0, Idle9 100. In AAAA_Test1_Anim.esp she is jumping (custom animation AAAA_Anim1.NIF, XAAAA_Anim1.kf, XAAAA_Anim1.nif).

Make your saves (I guess you should do that on your system for better control what is going on).

I have created esps with T and BM installed but only MW checked.

smile.gif
QUOTE(A1x2e3l @ Apr 22 2008, 09:56 PM) [snapback]12145126[/snapback]
OK, here are the plugins.

http://download.yousendit.com/BB19FD24794453C9

AAAA_Test1_Anim.esp with attached Idle9 animations.
AAAA_Test1_NoAnim.esp without animations.

Type in console : COC “AAAA_Cell”

This will transfer you to a stupid blue box "room" with a female NPC: AIWander Idles2-8 0, Idle9 100. In AAAA_Test1_Anim.esp she is jumping (custom animation AAAA_Anim1.NIF, XAAAA_Anim1.kf, XAAAA_Anim1.nif).

Make your saves (I guess you should do that on your system for better control what is going on).

I have created esps with T and BM installed but only MW checked.

smile.gif


Excellent, thanks. I will have a look and see what I can see smile.gif
QUOTE(A1x2e3l @ Apr 21 2008, 10:01 PM) [snapback]12139822[/snapback]
Shon was intending to create external application to extract/append/substitute animation sequences in a MW animation nifs. But he is a very busy person and works very slowly but the results are always excellent.


That's certainly a very charitable way to put it! Thanks =x

I did put several weeks of concerted effort into it but it was just taking up so much time that I got sick of it and started doing other things in my free time happy.gif;

I think the main problem is that I got to the point that it can do what you guys want it to right away, but what I really wanted to do was improve the skeleton and that took forever and ever and it still dosen't quite work right. I'd hate to scrap that part of the effort now that I've put so much work into it, but I'm thiiiis close to doing so. The main problem is worrying about compatibility with existing stuff... I mean sure I could completely change the skeleton but no one would want to use it if it broke all their existing mods.

The one that's bothering me now is that I want to add some twist bones to the arms so the wrists and shoulders don't twist down to nothing at certain angles, but we can only work within a certain set of bone names that are only free becuase they're used only by the 3rd person animation and not the first person animation. But that's actually the problem becuase the arms are IN both the 3rd and the 1st person animation... and the same meshes are used in both so they would have to use the same bone names.

Sooo, the only solution to that I could come up with was to actual steal all the bones out of the tail and use them as the 4 twist bones in the arms... and then use all those extra finger bones for the tail instead. Basically swapping the two. That would work fine, but unfortunatly it would mean that all existing mods that use the tail would stop working. Similarly, I used a spline to double the number of segments in the tail so that it can move more smoothly, but this also breaks compatibility.

So I was thinking of having the program scan all your NIF files for shapes that matched the old tail and replacing them with an edited version that works with the new bone names. I figure most tail mods just retexture the original tails so I could look for meshes that matched the number of verticies and bounding box, and then check some of the vertices to be sure they matched... but doing that, testing it, and most importantly, presenting it in a form that anyone can use is a non-trivial amount of work and I just don't know if I'll ever get around to doing it.

As far as memory swapping is concerned, something that would be REALLY helpful would be for you to find a way to add names to the list of "acceptable" bones. This list can be found in Morriwind.exe with a hex editor, but I havn't found a way to alter it just by editing that file. I'm not sure if it's referenced by a static pointer array or what, but if you could change the address to point to a new array that you allocate, and change all the loop counts that use it to match the size of your new array, that might do it. But while I can think about something like that, actually doing it is out of my leauge =x

But that would really open up a lot of possibilities... instead of having synced morph animation like the mog wings, we could actually add wing bones, and we could put in twist bones and actually name them "twist" and such, which would be way easier to understand.

On the other hand, I guess if no one but me really cares about how the wrists deform or how many segments the tail has, or whether Bip01 Spine1 works properly, then I should just forget about all that and focus on the animation merging stuff.
QUOTE(LizTail @ May 18 2008, 09:52 AM) [snapback]12257501[/snapback]
As far as memory swapping is concerned, something that would be REALLY helpful would be for you to find a way to add names to the list of "acceptable" bones. This list can be found in Morriwind.exe with a hex editor, but I havn't found a way to alter it just by editing that file. I'm not sure if it's referenced by a static pointer array or what, but if you could change the address to point to a new array that you allocate, and change all the loop counts that use it to match the size of your new array, that might do it. But while I can think about something like that, actually doing it is out of my leauge =x

But that would really open up a lot of possibilities... instead of having synced morph animation like the mog wings, we could actually add wing bones, and we could put in twist bones and actually name them "twist" and such, which would be way easier to understand.


So would adding these extra bones allow for smoother and more complex animations? How about animating armour and things like that? Do they have bones etc? I'm guessing not but could we add them? I want to animate some armour and its just not going to happen given the anim system as it is atm.

Adding to the list would be difficult without seeing all of the code. Often times many things depend on a single parameter such as the size of the list. It would be hard to track but I could give it a go. Which hex editor did you use?
QUOTE(iio @ May 18 2008, 04:23 PM) [snapback]12258831[/snapback]
So would adding these extra bones allow for smoother and more complex animations? How about animating armour and things like that? Do they have bones etc? I'm guessing not but could we add them? I want to animate some armour and its just not going to happen given the anim system as it is atm.

Adding to the list would be difficult without seeing all of the code. Often times many things depend on a single parameter such as the size of the list. It would be hard to track but I could give it a go. Which hex editor did you use?


Most armor would use the existing bones, but some things that would be nice to add would be "tails" for long hair and flowing garments, wings, and animation improving bones like the twist bones in Oblivion. None of these can be added, though, because the names of bones that Morrowind will animate are hard-coded. You can create a bone of any name, it just won't actually animate.

I just looked at Morrowind.exe with Visual Studio's hex editor, but I didn't try to attach the debugger or anything. Basically there's a plain text list in there somewhere which lists out all the bone names that the game will accept. Try searching for "Bip01" and you should find it.
Here's the full list of allowable Morrowind bone names you have once posed):

Shield Bone
Bip01 L UpperArm
Bip01 L Clavicle
Weapon Bone
Bip01 R Finger42Bip01 R Finger41
Bip01 R Finger4
Bip01 R Finger32
Bip01 R Finger31
Bip01 R Finger3
Bip01 R Finger22
Bip01 R Finger21
Bip01 R Finger2
Bip01 R Finger12
Bip01 R Finger11
Bip01 R Finger1
Bip01 R Finger02
Bip01 R Finger01
Bip01 R Finger0
Bip01 R Hand
Bip01 R Forearm
Bip01 R UpperArm
Bip01 R Clavicle
Bip01 Head
Bip01 Neck
Bip01 Spine2
Bip01 Spine1
Bip01 Tail3
Bip01 Tail2
Bip01 Tail1
Bip01 Tail
Bip01 L Toe0
Bip01 L Foot
Bip01 L Calf
Bip01 L Thigh
Bip01 R Toe0
Bip01 R Foot
Bip01 R Calf
Bip01 R Thigh
Bip01 Spine
Bip01 Pelvis
Bip01


Well, here is only my personal opinion. I do understand that all of us are doing only the things we like.

New bones, twist bones, new skeletons/skins, finger animation etc. This is great! BUT..

Let us set, discus priorities.

What is the situation with the chances to improve MW animation system/animation workflow:

1. The program you are (were) working on.

2. RX31 Max animation Tool Box (fortunately, he will continue working on it).

3. MWSE. I have tried to contact MWSE developers: they are going to rewrite the program completely, but it seems that they are not interested in animation functions. They answer was that MW are hardcoded. Well, they have improved many other also hardcoded MW issues. I am not a programmer and not able to judge.

Hence, basically the majority of MW animators are limited to your program (fewer have access to Max).

QUOTE
I got to the point that it can do what you guys want it to right away


Is there any chance to finish this work? This would be for sure a huge progress.


Back to your compatibility problems. I have faced this problem myself while attempting to add new bones and “improve” hands skeleton. What about setting you skeleton/mesh as a completely new MW race with new animations and new clothes and armor. This could be done step by step in small portions starting from NPC.


There is no offensive in my words, I highly respect your activity, but, please, understand my frustration: there are very few people that are capable to conduct this kind of work but they are mainly interested in “minor” IMHO improvements (e.g. MW character generation functions) leaving such an important for a video game feature as animation system without deserved attention. I do understand that this is not an easy task.


My best regards.


smile.gif
i have looked into Animations, but for now. i'm going to do anything with them in the new MWSE.
animations are hardcoded. those bones you mentioned, they are not just a list of bones to accept, those strings are littered all over the morrowind executable. you would have to replace many, many lines of code to get it working. maybe in the future i will try to implement something like this, but not for a very long time.

oh, and for you who don't know me. i'm one of the current developers of MWSE.
QUOTE(A1x2e3l @ May 18 2008, 06:31 PM) [snapback]12259348[/snapback]
Is there any chance to finish this work? This would be for sure a huge progress.


Well, this is what I was thinking... if I was going to make changes to the skeleton I should do it before releasing something that would encourage people to make a bunch of new animations. That's because the moment they start doing that, I'll have to worry about a backward compatibility path for those too and the whole thing will become even more impossible.

But by now it's pretty clear that I'm not interested enough to finish all that, so I packed up some of the stuff I did so far into something that might be somewhat useful to some people:

http://www.liztail.com/kf_split_merge.zip

Basically it's two command line programs, one which splits Morrowind's monolithic KF file into a bunch of them... one per sequence. And the other, which merges them all back together. You may need to install the MS Visual Studio 2005 SP1 Runtime (x86, x64) to make them work. Type them without arguments to see usage instructions.

Eventually I wanted to be able to layer different lists of sequences and stuff, adding controllers only if they weren't already in the list and such, and I wrote the code to do it, but I'm hoping my friend will want to write a GUI for that part. It's a little complicated for a command line program, and if I have to write a GUI, it will probably never happen happy.gif ; That means you can't transfer the tail from the normal animations to the beast ones using this, but I'll probably just end up releasing the KF files themselves later if I ever finish another version of my beast replacer.

Anyway, hope that's somewhat useful =) Let me know if they don't work right.
QUOTE(Tp21 @ May 18 2008, 06:46 PM) [snapback]12259414[/snapback]
i have looked into Animations, but for now. i'm going to do anything with them in the new MWSE.
animations are hardcoded. those bones you mentioned, they are not just a list of bones to accept, those strings are littered all over the morrowind executable. you would have to replace many, many lines of code to get it working. maybe in the future i will try to implement something like this, but not for a very long time.

oh, and for you who don't know me. i'm one of the current developers of MWSE.


Hmm, they are all in a row in the exe but there might be quite a few references to them if the compiler was set to share constant string references. So maybe the trick would be to find some that are only referenced in one place? I'm sure things like the shield bone are referenced all over the place, but maybe a finger or something would only be in the place that allows animations to be attached? I dunno, just conjecture at this point.

It'd be really cool if it were possible someday, but I know it's probably really difficult. Thanks for even considering it =)
animations are on the (big) list of things to add, it may seem impossible, but there are more important things to do first wink.gif
and yeah, i think strings are shared, because some are used in more than one place, where others are only used once.
LizTail. Thank you so much!


But I have problems (I have installed x86):

1. I do not see instructions: black window closes to fast. Could you post them separately.

2. I was able to split (extract?) kf from an animation nif (base_anim_female.nif). But how to use merge_kf.exe?

3. MW animation data are present in two animation nifs e.g. base_anim_female.nif and Xbase_anim_female.kf. Is it possible to generate both files with merge_kf.exe? Can I add somehow more kf files than that was generated by the split_kf.exe operation? For instance I have made new female walking/running nifs is it possible to merge them with the base_anim_female.nif? I guess we can append other that base_anim.nif animation nifs to modify animations of specific characters like beasts or PC.

Tp21. I have seen your answers at Fliggerty’s Forum (I am actually referring to them). That’ s great that you continue to work on the project!
I understand that every modder has his/her own preferences and mode of working but except animation improvement I do not see any reason to switch to MWSE: with some headache I am able to resolve my humble problems with standard scripts.

We are mainly talking about possibility to overcome main MW animation limitations (not new bones and other fancy things): 1. One nif for all sequences; 2. Limited number of usable Idle (3-9) sequences. 3. Not working NPC/PC Playgroup/Loopgroup functions. 4. No direct control of PC animation sequences.

Thank you. I hope that sometimes you might find time and interest to help MW animators and I have to learn MWSE scripting more intensively.

smile.gif
QUOTE(A1x2e3l @ May 18 2008, 09:11 PM) [snapback]12259907[/snapback]
1. I do not see instructions: black window closes to fast. Could you post them separately.
2. I was able to split (extract?) kf from an animation nif (base_anim_female.nif). But how to use merge_kf.exe?


When using console applications, it's best to open a command window. You can do this by choosing "Run" on the start menu or holding down the Window key and then pressing R. In the box that comes up, type "cmd" and then pressenter. You can also find "Command Prompt" within "Accesories" on your start menu which does the same thing.

Once in the command window you will need to change to the directory where the split_kf and merge_kf EXE files are (asuming you don't add them to your path enviornment variable). You can do that with the CD command. Type CD <path> and press enter and you can now type "split_kf" or "merge_kf and press enter to see the instructions. Your command window will not close since you opened it earlier instead of just double-clicking the EXE file.

split_kf takes a file name while merge_kf takes a file path to search for KF files to merge and a file name to store the result to in that order.

QUOTE
3. MW animation data are present in two animation nifs e.g. base_anim_female.nif and Xbase_anim_female.kf. Is it possible to generate both files with merge_kf.exe? Can I add somehow more kf files than that was generated by the split_kf.exe operation? For instance I have made new female walking/running nifs is it possible to merge them with the base_anim_female.nif? I guess we can append other that base_anim.nif animation nifs to modify animations of specific characters like beasts or PC.


Yup, each KF file in the folder that's created is one animation sequence, and merge_kf just searches the folder and adds whatever it finds to the final KF. So as long as the text keys are correct, you can put your KF files into the folder with the others and they will be added during the merge. Just make sure you remove any of the sequences you are replacing.The files will be added in alphabetic order, that's why they get generated with numers - to keep them in order. If you want to remove an animation, you can remove it from the folder before merging.

From my tests, it seems that you can pick and choose which animations you want to replace in the male animation with the female animation and in the khajiit animation with the argonian animation. So it would be possible for males and females and argonians and khajiit to have completely different animations.... or you can just replace a few. It seems to be flexible. For example, I was able to make the Argonians continue to walk like beasts while the Khajiit were upright without changing either of them from being set as "beast races."
Split_kf is working (generating strange file names “000 - Idle4;.kf” with semicolon “;”).

Merge_kf.exe crushes.
I have all kf files in c:\T1\. At the moment nothing new just generated by the split_kf . Should I have something else in this folder except kf files e.g. anim.nif and xanim.nif I have used for splitting kfs? What should be the names? How should I correctly run merge_kf.?
I am typing: “merge_kf c:\T1\ test1” and crush…. I have tried several names, folders, extensions… nothing works.

Is it possible that for some reasons my system selectively does not accept merge_kf?
I am sorry for asking many questions.

banghead.gif
QUOTE(A1x2e3l @ May 18 2008, 11:38 PM) [snapback]12260443[/snapback]
Split_kf is working (generating strange file names "000 - Idle4;.kf" with semicolon ";").


Morrowind sequence names have colons in them, but those aren't allowed in file names so I changed them to semicolons.


QUOTE(A1x2e3l @ May 18 2008, 11:38 PM) [snapback]12260443[/snapback]
Merge_kf.exe crushes.


Crashes, you mean? I'll check it out. The way you're using it looks correct, though.

Edit:

Sorry, it was my fault happy.gif ; A last minute change broke it and I didn't notice.

Download it again and let me know if it works now:

http://www.liztail.com/kf_split_merge.zip
Thanks a lot!

I am very sorry I still have some questions/problems:

1. split_kf.exe is working and generating a folder with the truncated name of the animation nif I have used (e.g. “base_anim_femal”). It contains only kf files: e.g. “000 - Idle4;.kf”, “001 - Idle5;.kf”, “002 - WalkForward;.kf”. Some text keys have strange “additions” of several “\r\n” (carriage return ?) e.g. “WalkForward: Stop\r\n\r\n”.

2. merge_kf.exe is working. E.g. I am executing “merge_kf c:\T1\X test”. I have copied only two first kf files in the “c:\T1\X” folder. merge_kf has generated a folder named “merged” with one file “test” without extension. I have added extension “kf” and checked it in the Nifscope: the last text key is “Idle5: Stop\r\n\r\n\r\n\r\n” (was Idle5: “Stop\r\n\r\n”). Original base_anim_femal .nif has text key “Idle5: Stop\r\n”. It’s look like accumulation of “\r\n” symbols.

3. Ok, “\r\n” I can edit in NifScope, files rename, but how to use the merged kf file? I assume there should be also merged nif file that contains animation data. How to generate all three required animation files? Merged kf is generated (I can rename it to “xtest.kf”), for “xtest.nif” I can use original xnif (e.g. Xbase_anim_female.nif) but how to create a nif file with merged animations e.g. “test.nif”?


smile.gif
wait a second.

So this programme, allows for new animations???

On the side note of animations..... has anyone tried the nija animation replacer for morrowind? Is it possible to cut a part of that animation out and apply it to the origonal morrowind animation? thing is i just want to use the magic animation of that mod, not the whole ninja style animation. (doesnt suite my mage you see biggrin.gif)
QUOTE
Is it possible to cut a part of that animation out and apply it to the origonal morrowind animation? thing is i just want to use the magic animation of that mod, not the whole ninja style animation.


Yes, in case we learn how to use these programs correctly.
I have tried to use newly generated kf file with my source files (“base_anim_femal.nif” and xbase_anim_femal.nif): the result was corrupted animation. There should be some tricks, I hope that LizTail will teach us.

These programs do not allow to generate new animation sequences (e.g. a completely new Idle9, this can be done only in Max or Blender) but to manipulate existing ones: extract and combine them from different files and pack in one file that could be used in MW.

smile.gif
Hello,
QUOTE(LizTail @ May 18 2008, 06:47 PM) [snapback]12259419[/snapback]
...I packed up some of the stuff I did so far into something that might be somewhat useful to some people:

http://www.liztail.com/kf_split_merge.zip

Basically it's two command line programs, one which splits Morrowind's monolithic KF file into a bunch of them... one per sequence. And the other, which merges them all back together...

This looks like clever solution to replacing an anim sequence here and there. smile.gif I was concidering a different approach using a maxscript, but this looks quicker. Many thanks for sharing.

Edit: By the way, hasn't any additional bones been added to NPCs successfully? I thought Axel added a couple of bones. Almexia also has a number of additional bones, some ponytails, I think.

Best regards,
RX31
Excellent, I've been waiting for this Shon!
Now all I need is a proper internet connection and I can give it a go.
Oh, my god. That's the best thing since, like, Morrowind.
Thanks much, if that works well with my Max I'll finally be able to change the anims without all that KF bs.
QUOTE(A1x2e3l @ May 19 2008, 11:55 AM) [snapback]12261942[/snapback]
1. split_kf.exe is working and generating a folder with the truncated name of the animation nif I have used (e.g. "base_anim_femal"). It contains only kf files: e.g. "000 - Idle4;.kf", "001 - Idle5;.kf", "002 - WalkForward;.kf". Some text keys have strange "additions" of several "\r\n" (carriage return ?) e.g. "WalkForward: Stop\r\n\r\n".


Hmm, that's kind of odd. The \r\n things allow you to combine two keys into one and are necessary if the keys occur at the same time. I'm surprised to see them all in a row, though... that seems like it would indicate that there were a bunch of blank keys that were merged with the non-blank one. I'll look into it.

QUOTE
2. merge_kf.exe is working. E.g. I am executing "merge_kf c:\T1\X test". I have copied only two first kf files in the "c:\T1\X" folder. merge_kf has generated a folder named "merged" with one file "test" without extension. I have added extension "kf" and checked it in the Nifscope: the last text key is "Idle5: Stop\r\n\r\n\r\n\r\n" (was Idle5: "Stop\r\n\r\n"). Original base_anim_femal .nif has text key "Idle5: Stop\r\n". It's look like accumulation of "\r\n" symbols.


You're supposed to put the kf extension on the command line so the output file will be named properly. For example: merge_kf.exe c:\T1\X test.kf

QUOTE
3. Ok, "\r\n" I can edit in NifScope, files rename, but how to use the merged kf file? I assume there should be also merged nif file that contains animation data. How to generate all three required animation files? Merged kf is generated (I can rename it to "xtest.kf"), for "xtest.nif" I can use original xnif (e.g. Xbase_anim_female.nif) but how to create a nif file with merged animations e.g. "test.nif"?


You don't need to edit the other files unless you're changing the skeleton. So all you need to do is replace the KF file. The idea is that you will create new KF PC animations with this, not new creatures or NPCs which can easily be created in 3ds Max since the number of sequences is small. However, once you've created those files somewhere else, you can always split apart the KF file and mix and match animations from elsewhere.

QUOTE(midgetalien @ May 19 2008, 11:58 AM) [snapback]12261954[/snapback]
wait a second.

So this programme, allows for new animations???


It theoretically allows you to pick and choose which existing animation sequences you want to use on your player character... but in its current form is completely un-user friendly and I wouldn't recommend that everyone try it. I mostly released it in this form as an indication of what might be possible.

QUOTE
On the side note of animations..... has anyone tried the nija animation replacer for Morrowind? Is it possible to cut a part of that animation out 5bf0 and apply it to the origonal morrowind animation? thing is i just want to use the magic animation of that mod, not the whole ninja style animation. (doesn't suite my mage you see biggrin.gif )


You could use this to do that. You would use split_kf to split apart the default xbase_anim.kf file and also the x_base_anim.kf file that came with the ninja animation mod. Then you would would copy over the specific sequences from the ninja mod to the folder with the default animations. Finally, you would use merge_kf to build a new xbase_anim.kf file and put that in your Data Files/Meshes folder.

QUOTE(A1x2e3l @ May 19 2008, 12:46 PM) [snapback]12262156[/snapback]
I have tried to use newly generated kf file with my source files ("base_anim_femal.nif" and xbase_anim_femal.nif): the result was corrupted animation. There should be some tricks, I hope that LizTail will teach us.


You should split the KF files, not the NIF files. The NIF files can remain unchanged.


QUOTE(RX31 @ May 19 2008, 12:58 PM) [snapback]12262200[/snapback]
This looks like clever solution to replacing an anim sequence here and there. smile.gif I was considering a different approach using a maxscript, but this looks quicker. Many thanks for sharing.


Thanks =)

QUOTE
Edit: By the way, hasn't any additional bones been added to NPCs successfully? I thought Axel added a couple of bones. Almexia also has a number of additional bones, some ponytails, I think.


You can add additional bones as long as they come from the list above that Axel posted. So the approach taken so far has been to repurpose the extra finger bones that are used in the 1st person animations but not in the 3rd person animations to other parts of the body. I wanted to use them to add twist bones to the wrists, similar to those found in Oblivion, but since the arms are also seen in first person I would need to make more drastic changes.

QUOTE(Symon69 @ May 19 2008, 03:12 PM) [snapback]12262742[/snapback]
Excellent, I've been waiting for this Shon!
Now all I need is a proper internet connection and I can give it a go.


Thanks, I'll be glad to get some feedback =)

QUOTE(peachykeen @ May 19 2008, 03:52 PM) [snapback]12262849[/snapback]
Oh, my god. That's the best thing since, like, Morrowind.
Thanks much, if that works well with my Max I'll finally be able to change the anims without all that KF bs.


Well, I don't really think it's that great at the moment... command line programs certainly aren't very useful to most people. But thanks! Hopefully my friend will be willing to write a GUI for it. The original idea was that people could distribute animation mods as multiple KF files, one per sequence, and then the user could pick and choose which ones they wanted to apply graphically. But I'm not terribly experienced with GUI stuff so if I have to write it myself we could be in the next ice age before it's done happy.gif;
QUOTE
Well, I don't really think it's that great at the moment... command line programs certainly aren't very useful to most people. But thanks! Hopefully my friend will be willing to write a GUI for it. The original idea was that people could distribute animation mods as multiple KF files, one per sequence, and then the user could pick and choose which ones they wanted to apply graphically. But I'm not terribly experienced with GUI stuff so if I have to write it myself we could be in the next ice age before it's done ;

lol, well, it's not an issue for me, I'm used to commandline. But if I get time (or get sick of cmd), I might throw together a MMF gui for it, if you don't mind.
Now it works! Thank you so much!

QUOTE
You don't need to edit the other files unless you're changing the skeleton.


Very interesting! So, MW has very redundant animation file system: animation information from the main nif file (e.g. Anim.nif) is not used at all, strange xAnim.nif file without animations… This is a real mess! I did not expect that animation data in the main animation nif are useless.

I came across the following problem.
“Bip01 L Toe0” and “Bip01 L Toe0” bones are not present in original human animation files: base_anim.nif, anim_dancingGirl.nif, base_anim_female.nif in other animation files as well as in custom animations these bones are present. So, after merging the above mentioned original files with custom kfs (result e.g. xMyAnim.kf) it is necessary for MyAnim.nif and xMyAnim.nif files to use files that have these bones - custom files. Otherwise, there will be an error. This was actually the reason of my first fail.


I have two more questions to clarify:

1. Is the order of animation sequences in the kf file important? Is that identical: e.g. “Idle6, Idle7” and “Idle7, Idle6”?

2. Time accumulation and timing in general in the merged kfs. How this is programmed (in very general words)? Are there any time gaps?


These programs are, indeed a revolutionary tool! They simplify so many things… Do you plan to upload them on a more available/well known MW place?
Thanks a lot!

foodndrink.gif
QUOTE(A1x2e3l @ May 19 2008, 09:09 PM) [snapback]12264169[/snapback]
Now it works!

Great =)

QUOTE
So, MW has very redundant animation file system: animation information from the main nif file (e.g. Anim.nif) is not used at all, strange xAnim.nif file without animations… This is a real mess! I did not expect that animation data in the main animation nif are useless.

Yeah, sorry it didn't occur to me to mention that.

QUOTE
I came across the following problem.
"Bip01 L Toe0" and "Bip01 L Toe0" bones are not present in original human animation files: base_anim.nif, anim_dancingGirl.nif, base_anim_female.nif in other animation files as well as in custom animations these bones are present. So, after merging the above mentioned original files with custom kfs (result e.g. xMyAnim.kf) it is necessary for MyAnim.nif and xMyAnim.nif files to use files that have these bones - custom files. Otherwise, there will be an error. This was actually the reason of my first fail.

Ah, so that's what the problem was. In the final version I want to add the toe and tail bones to the non-beast skeleton in order to make all animations compatible. You can do this if you want by editing the x...nif file and add in the toe bones by pasting them from the beast skeleton using NifSkope.

QUOTE
I have two more questions to clarify:
1. Is the order of animation sequences in the kf file important? Is that identical: e.g. "Idle6, Idle7" and "Idle7, Idle6"?

Overall I don't think it is, but there are some animations that seem like they might be intended to roll over into the next one. There are no "stop" keys at the end, in other words. So I kept them in the same order just to be safe, however I didn't really try changing it. I think this only applies to the attack animations.

QUOTE
2. Time accumulation and timing in general in the merged kfs. How this is programmed (in very general words)? Are there any time gaps?

Each sequence gets put into a different spot in the final timeline. I put a small gap between each sequence to make sure they wouldn't collide with any others.

QUOTE
Do you plan to upload them on a more available/well known MW place?

Naw, I think it would cause more trouble than it cured if I tried to widely distribute some cryptic command line tools. I can just see the flood of questions in my inbox now. x_x If my friend writes a GUI for it then we'll upload that. I talked to him about it and he seemed interested, but don't expect it to be done next week or anything happy.gif;
Many thanks for your answers!

QUOTE
You can do this if you want by editing the x...nif file and add in the toe bones by pasting them from the beast skeleton using NifSkope.


So, the “redundant” file is the “main” animation .nif that contains all, but the required animation data are in the kf file and skeleton structure is in the x.. .nif. I have read that in order to modify creatures (e.g. to add some mesh nodes) it is sufficient to do that only for the x.. .nif.

I thought that posting the programs on the more “available” place could provide you more productive feedback.

smile.gif
http://darkrise.ufrealms.net/games/morrowi...ls/kf_tools.exe

Basic 5-min GUI for those tools, in case anyone's overly terrified of commandlines (hope you don't mind LizTail, if so I'll take it down).
Just throw it in the same folder as the other EXEs. If people like this, I might clean it up more later, right now it works.
QUOTE(peachykeen @ May 20 2008, 03:21 PM) [snapback]12266830[/snapback]
http://darkrise.ufrealms.net/games/morrowi...ls/kf_tools.exe

Basic 5-min GUI for those tools, in case anyone's overly terrified of commandlines (hope you don't mind LizTail, if so I'll take it down).
Just throw it in the same folder as the other EXEs. If people like this, I might clean it up more later, right now it works.


Cool deal, thanks =)

I'm hoping that the one my friend makes will be less low level than splitting and merging specific files, but this is certainly easier to use than a command line tool.
Would you guys mind trying this new one out? I added it into the same ZIP file as before:

http://www.liztail.com/kf_split_merge.zip

The new one is called kf_setup.exe and it doesn't require any inputs so you should be able to run it just by double-clicking it. It should stay open when it's done until you hit enter.

It's supposed to do these steps:

1. Finds your Morrowind install location in the registry.
2. Reads the base anim fils from your BSA file (since you may not have ever extracted them before)
3. Copies the tail and toe animations from the beast animations to the non-beast animations.
4. Copies the tail and toe bones from the beast NIF files to the non-beast NIF files.
5. Copies all the modified animation files to your Data Files/Meshes folder.
6. Creates a new folder structure under Data Files/Animations where all the base player character KF files will be split to.

Note, it doesn't currently disable the beast shadows, so if you're using my Unique Shadow Pack mod, then you'll want to open the Xbase_animKnA.nif file in NifSkope and delete the shadow.

Please try it out and let me know if it works for you =) One way to test it is to change the dancing girls in Suran to Khajiit and/or Argonians. Before these changes, this wasn't possible. You can also now make the Khajjit and/or the Argonian non-beast without changing any of the art files. Here's are some small ESP files that do those two things:

http://www.liztail.com/test_mods.zip

Thanks!
Am not able to run kf_setup.exe. Here is the error message:

“The procedure entry point RegGetValueA could not be located in the dynamic link library ADVAPI32.dll”

I have several MW installations.

What could be you recommendations about the correct workflow for the following situation: I have several animation files created in Max as well as custom animations made by other modders, each file contains only one sequence. I would like to merge them. Should I run split_kf.exe on all of them first or I can just edit text keys of the kf files in NifScope (in case the have same text keys e.g. two of them are Idle9) and rename files in a regular way before copying them into the merging directory?

Thank you.

smile.gif
QUOTE(A1x2e3l @ May 21 2008, 12:33 AM) [snapback]12269002[/snapback]
Am not able to run kf_setup.exe. Here is the error message:

"The procedure entry point RegGetValueA could not be located in the dynamic link library ADVAPI32.dll"


Oops, I should have looked a the Microsoft documentation of the RegGetValue function closer:

QUOTE
Requirements
Client: Requires Windows Vista or Windows XP Professional x64 Edition.
Server: Requires Windows Server 2008 or Windows Server 2003 SP1.


I guess I was supposed to use RegQueryValue to make it work on normal Windows XP and below ^_^;; I had a feeling it used to require more than just one convenient function call to get the value out of the registry before...

I'll updated it to use RegQueryValue and will post a new version soon.

QUOTE
I have several MW installations.


If you have several Morrowind installations it will only notice the one that has is install path stored in the registry, which is most likely your most recent installation. For the others you would need to manually copy the results over.

QUOTE
What could be you recommendations about the correct workflow for the following situation: I have several animation files created in Max as well as custom animations made by other modders, each file contains only one sequence. I would like to merge them. Should I run split_kf.exe on all of them first or I can just edit text keys of the kf files in NifScope (in case the have same text keys e.g. two of them are Idle9) and rename files in a regular way before copying them into the merging directory?


As long as they only have a single sequence it should work for now. In the future I'm thinking of basing it on the sequence file name and adjusting the text keys if they're from a different sequence, so there might come a time when you have to re-name the file. Right now the file names are ignored other than ordering, though. I'd like to be able to get rid of those numbers too, but that will probably mean hard coding the order and sorting whatever I find to match, which will be error-prone and time consuming. I might do some tests to see if order really matters, and maybe if those ones that "run over" are a problem, I'll just treat the whole group of them as one sequence.

If they have multiple sequences it MIGHT work, but I've never tested it and may end up breaking in in the future if I do the above. The intended work flow was to split all multi-sequence files into single-sequence files beforing merging so you knew exactly what you were going to get.

EDIT:

Okay, I've got the new version up:

http://www.liztail.com/kf_split_merge.zip

Thanks for being a tester =)
QUOTE
As long as they only have a single sequence it should work for now. In the future I'm thinking of basing it on the sequence file name and adjusting the text keys if they're from a different sequence, so there might come a time when you have to re-name the file. Right now the file names are ignored other than ordering, though. I'd like to be able to get rid of those numbers too, but that will probably mean hard coding the order and sorting whatever I find to match, which will be error-prone and time consuming. I might do some tests to see if order really matters, and maybe if those ones that "run over" are a problem, I'll just treat the whole group of them as one sequence.

If they have multiple sequences it MIGHT work, but I've never tested it and may end up breaking in in the future if I do the above. The intended work flow was to split all multi-sequence files into single-sequence files beforing merging so you knew exactly what you were going to get.


Wouldn't you be able to run the split app on multi-sequence files (eg one that contains 4 idles) to get them into single sequence files, then name/tag those, and run merge?
QUOTE(peachykeen @ May 21 2008, 03:42 PM) [snapback]12271244[/snapback]
Wouldn't you be able to run the split app on multi-sequence files (eg one that contains 4 idles) to get them into single sequence files, then name/tag those, and run merge?


Yeah, that's what i was saying that I expected the workflow to be. Split all the multi-sequence files and then assemble just the single sequence files you want and run merge on them.
Great, now kf_setup.exe works (x86)!

I suspect that I have asked the question about workflow in a wrong way.
I would like to know whether it is possible to use merge_kf.exe with the kf files not processed by the split_kf.exe but as they are generated by Max or Blender? Or merge_kf.exe can work correctly only with kfs generated by split_kf.exe? You are saying that split_kf.exe makes some necessary modifications to the files. The process of merging sequences in Max with text keys is not very straightforward. It is easier to export them all as single sequences and than merge with you tool.

I have a wish/suggestion: is it possible to add in the future program release "safe" anim.nif and xanim.nif files for the main MW skeletons that will not contain redundant data? E.g. I am intending to merge two sequences: Idle sequence from original base_anim with my custom Idle9. I am puzzled to use for that my custom nifs (Max animation template files generating different node structure than have original animation nifs, different flags etc.), on the other hand original base_anim.nif is huge (2.75K).

Thank you.

smile.gif
QUOTE(A1x2e3l @ May 21 2008, 07:42 PM) [snapback]12272516[/snapback]
Great, now kf_setup.exe works (x86)!


Excelent! Did you test out the tail animations in the game at all? I didn't mention it before, but I was able to raise the tail 20 degrees in order to avoid the glitch seen in this movie from before where the tail intersects the leg:

http://www.liztail.com/upright_beast.wmv

Speaking of tail animations, I just uploaded yet another new copy of the zip file:

http://www.liztail.com/kf_split_merge.zip

This one contains a new version of split_kf.exe. This version will scan your source file for tail/toe animations and, if they are missing, ask you if you would like to copy the animations from the standard beast animations. This way you can add tail/toe animations to any existing animation set so they will be compatible with characters that have tails and toes.

Also, you can now use it just by double-clicking it in Windows Explorer if you want... if you don't enter stuff on the command line it will ask you questions along the way and you can type the answers and press enter. It will also wait for you to press enter before closing so it doesn't disappear from the screen if you don't invoke it from the command line. You can still use the command line, though, and if you do it will not force you to press enter at the end.

EDIT:

Just made yet another update... I think they're approaching their final forms now. In this update I applied the same system to merge_kf and kf_setup where if you don't enter the values on the command line it will ask you for them during the course of the program and will wait to close at the end. I also simplified merge_kf a bit in that instead of asking for a separate file name, it just uses the name of the folder that you passed in and adds ".kf" to the end.

Finally, kf_setup now ask if you have my Unique Shadow Pack mod installed and, if so, disables the shadows in the files it writes out. You can always run it again and switch back if you uninstall it later, or vice versa.

Please try it out and let me know if it works =) Your testing has been very valuable in ironing out bugs and usability problems.

QUOTE(A1x2e3l @ May 21 2008, 07:42 PM) [snapback]12272516[/snapback]
I suspect that I have asked the question about work flow in a wrong way.
I would like to know whether it is possible to use merge_kf.exe with the kf files not processed by the split_kf.exe but as they are generated by Max or Blender? Or merge_kf.exe can work correctly only with kfs generated by split_kf.exe? You are saying that split_kf.exe makes some necessary modifications to the files. The process of merging sequences in Max with text keys is not very straightforward. It is easier to export them all as single sequences and than merge with you tool.


I understood your question before, but I guess my answer didn't make sense. There shouldn't be any difference between the KF files that this tool generates and those generated in any other way. So as long as the KF file that you drag into the merge folder has only a single sequence in it, and has start and stop text keys that match the sequence you want to replace, it should work fine. The only time you need to split KF files is if they have multiple sequences in them. If part of that doesn't make sense, please point it out to me and I'll clarify it.

QUOTE
I have a wish/suggestion: is it possible to add in the future program release "safe" anim.nif and xanim.nif files for the main MW skeletons that will not contain redundant data? E.g. I am intending to merge two sequences: Idle sequence from original base_anim with my custom Idle9. I am puzzled to use for that my custom nifs (Max animation template files generating different node structure than have original animation nifs, different flags etc.), on the other hand original base_anim.nif is huge (2.75K).


Maybe I'm misunderstanding you, but it sounds like you're saying you want a set of sequences from the standard animations that are known to work? One of the things setup_kf.exe does is copy the animations out of the Morrowind.bsa file, so they're about as pristine as you could hope for. If you screw the files up, you can run setup_kf.exe again to fix them.

Again, these programs aren't intended to deal with scenarios where you will need to create a new NIF file. When changing the player animations, the only time you would need to alter the NIF files is if you were adding bones. Otherwise all you need is a new KF file. If you are adding sequences to an NPC, the x...nif file would be identical to the Player Character x...nif file, so you can just use that. As for the NIF without an X at the beginning, I'm really not sure what Morrowind uses that for. It may be that it's just used by the elder scrolls construction set as a convenient way to select a NIF/KF pair in the UI and it could be a blank file for all it cares, but I could be wrong. I've never really come up with a situation where it was necessary to mess with them.
I am sorry for asking many questions.

QUOTE
If you are adding sequences to an NPC, the x...nif file would be identical to the Player Character x...nif file, so you can just use that.


Xbase_anim.nif is different from xbase_anim.1st.nif (these is no shadow mesh but there is camera node, bones are different: fingers, toes). I do recall that the presence of camera node in NPC animations crushes MW.

Why do you prefer to copy Bip01 L/R Toe0 bones from beasts animations to the human base animations? Why not to use human first person animations as a source? In NifScope these bones (beasts and 1-st person Bip01 L/R Toe0) have different length, human 3-d and 1-st person skeletons are quite similar. May be, there is no difference because usually there are no keys for Bip01 L/R Toe0 bones.

QUOTE
This version will scan your source file for tail/toe animations and, if they are missing, ask you if you would like to copy the animations from the standard beast animations.


This is a very useful feature, but is it possible to have an option to add only toe bones without tail bones?

QUOTE
Again, these programs aren't intended to deal with scenarios where you will need to create a new NIF file.


In part that was indeed my intention. NifTools Max5 plugin does not import kf files even if the correct skeleton is present in the scene. It works only with the main animation nif. Original Idle sequence is necessary for creating transition animations, so I planed to create a sort of template from this kf.

My MW installations are screwed up, I have no good test saves and therefore at the moment I am not able to perform careful tests of your MW plugins. The movie is awesome! Very smooth, very natural tail movements in combination with human skeleton. Basically this is a real new humanized beast race with complete set of MW PC/NPC animations. I have seen several requests of something like that on the Forum.

smile.gif
EDIT: As I mentioned below, I've hijacked this thread enough so I created a new one to discuss these tools at the link below =)

http://www.bethsoft.com/bgsforums/index.php?showtopic=843470

QUOTE(A1x2e3l @ May 21 2008, 11:47 PM) [snapback]12273402[/snapback]
Xbase_anim.nif is different from xbase_anim.1st.nif (these is no shadow mesh but there is camera node, bones are different: fingers, toes). I do recall that the presence of camera node in NPC animations crushes MW.


Yes that's right, because the one marked "1st" is for the first person animations and those use a different skeleton. I didn't really think anyone would care about changing the first person animations since you can't really see much of your character in them, but I could be wrong.

QUOTE
Why do you prefer to copy Bip01 L/R Toe0 bones from beasts animations to the human base animations? Why not to use human first person animations as a source? In NifScope these bones (beasts and 1-st person Bip01 L/R Toe0) have different length, human 3-d and 1-st person skeletons are quite similar. May be, there is no difference because usually there are no keys for Bip01 L/R Toe0 bones.


Actually, I only copy the tail animations. For the toe bones I selected certain positions that compress the beast feet enough to make them not look ridiculously long, but not too so much that it looks really bad. This way you can use the same meshes whether you have your Argonians and Khajiit set as beasts or not.

The reason that I didn't copy them is that the animations don't make any sense if I do. The feet would be turned up toward the sky or something, and the movements wouldn't match the footfalls in the new animations.

The normal human bodies don't use the toes at all, so it doesn't matter that they're not animated, however the length of bones can be changed by animations so if you really want to stretch out certain bones to different positions you can do so, but I wouldn't recommend it as it will tend to look bad.

QUOTE
This is a very useful feature, but is it possible to have an option to add only toe bones without tail bones?


I'm hoping that we can all standardize on using a skeleton that includes toes and a tail for all animations. This way all animations will work for creatures with tails. This means that modders can pick and choose when they create a new race with a tail whether they want it to make it a beast or a non beast.

The program currently uses a very simple method to test whether there are toe or tail animations in the file... basically if there are any animations that reference "toe" or "tail," then it doesn't try to copy them. I might have to update this to be more thorough, but no matter what if you provide your own tail and toe animations which truly fit your sequence (which I hope you will!) then you don't have to worry about it being overwritten.

However, for now, you need to make sure you have keys for the tail and the toes (even if the keys just tell them to hold still) otherwise some of them will be missing in the final animation and that will cause problems.

QUOTE
In part that was indeed my intention. NifTools Max5 plugin does not import kf files even if the correct skeleton is present in the scene. It works only with the main animation nif. Original Idle sequence is necessary for creating transition animations, so I planed to create a sort of template from this kf.


Oh, are you saying you want a program that applies a Kf to a NIF file?

QUOTE
My MW installations are screwed up, I have no good test saves and therefore at the moment I am not able to perform careful tests of your MW plugins.


Ah, that's too bad =/

QUOTE
The movie is awesome! Very smooth, very natural tail movements in combination with human skeleton. Basically this is a real new humanized beast race with complete set of MW PC/NPC animations. I have seen several requests of something like that on the Forum.


Wow, thanks =) I thought you'd seen it before when I posted it on PsychoDog a few months ago. I just made a new movie now that's a lot better, but I think I've hijacked this thread enough so I'm going to make a thread and post it there.

EDIT: As I mentioned above, I've hijacked this thread enough so I created a new one to discuss these tools at the link below =)

http://www.bethsoft.com/bgsforums/index.php?showtopic=843470
Submit a Thread