Jump to content

Trying to add new animation to the 2580 file


swipergod

Recommended Posts

So I decided to try to do a bit more investigating on this topic since not being able to add jacket or tassel animation without goofing up hair animations is a bummer. I'm basically stuck at the moment, but figured I'd share what I did in case there's someone who can crack the code.

@pozzum created a great tool that is the first step towards figuring this out here

There is a good tutorial on how to read some of the content in 2580, but I don't know who to credit for it. :( 

So I tried this out with Jericho for a mod that @Just Not is working on. Basic dilemma; Trying to mod Jerciho to have different hair and jacket. Specifically Enzo's 2k17 jacket and Chad Gabel's hair. So I grabbed both 2580 files and decompressed them and opened them in the muscle reader tool. There you can see the breakdown of the various parts. There's different part 5s which indicate different animations for hair, props, jackets, etc.

The first one is the hair. So that I just need hair and a jacket (Enzo has other stuff in his container), I decided to use Jericho 00's container. What I found was that you can inject a new part 5, no problem, but that alone doesn't trigger the motion since its a header (I think). The actual hair motion was in part 25. Here's where the problem comes in. As soon as you replace 25, the game will crash when you try to load the character. This is because there is a relationship between all animation parts and part 1. You must replace part one with the new animation's part one file in order to get the animation active, but then you have a problem because there are other parts in the Jericho container. Part 23 (no idea what this is) and part 27 (the jacket's animation). Now these parts don't have their part 1, so the game continues to crash until all parts are replaced with the new animation's parts.

Now, it might be possible to replace a jacket and hair for another jacket and hair, but that makes this incredibly limited as no very many wrestlers have both and so you don't have a big selection of hair to choose from. My immediate thought is that changing either id markers or something in part 1 would enable this to work for any hair and other entrance pieces. You tell the part 1 to look for a new part 27 for example.

I didn't explore the part 1 file because I was pretty tired after doing all the back and forth testing in game. Hopefully this makes sense to someone who is willing to give it a go.

  • Like 2
Link to comment
Share on other sites

  • 4 months later...

So in working with @matt2282p I was able to dive in a little bit further. Sadly I don't yet have the answer. But we're inching a bit closer. Here's some new info to help anyone who would be exploring this. Please note that for some of these I'm making the best educated guess possible, but I'm not able to read some of the files. Perhaps someone like @squaredcirclefan might be able to explore more.

1. The basics are the 2580 file contains one or several of Part 5s if there is something to reference. For example, Stunning Steve's in ring attire has no hair moving hair or clothes so there's no part 5s. The part 25 is a reference for all the motions in the file and probably some link into the game engine.  Part 27 is usually hair motions and Part 23 is jacket motions. I have no idea what Part 1 is. Part 0 is the container info (size and number of parts).

1. No matter what, you must always have the correct size of the file. If you are off by one, then your game will crash. @pozzum 's tool doesn't always give the right number when you inject, so sometimes you have to do it manually.

2. It isn't likely that you can do mix and matching with older and newer games. Matt and I were working with Kairi, using Dana Brook's hair from 2k19 and Asuka's 2k17 robe. You can't have both rendering animations or it will crash. When we switched to the 2k17 robe that's in the 2k19 CAW suit, it worked. I can also confirm this to be the case when I was trying this same trick with @J N 's Jericho from WM 20. We used Enzo's shirt from 2k17 and Chad's hair from 2k18 and the game crashes when you try to add both.

3. Part 5s do more than just indicate a reference, I believe they also tell the animation what area to animate. I'm not sure if it's 5 or 1 honestly, but now that I don't have crashing from mixed games, I can confirm that if you switch out the 25 file that it won't crash, but the animation will focus on the area that Part 5 tells it. So for example, with Kairi, I switched the 25 of Asuka's robe for the 25 of Dana's Hair and the game used the hair animation to animate the robe.

4. I was successful in adding a Part 27 to the Asuka robe file. I couldn't add Dana's Part 5 without modifying the 25 file. Either way, the hair isn't triggering. Switching the Part 1 didn't do anything. I deleted the other Part 5's that weren't Dana's, but that just caused the game to crash. I believe this is because of all the part 36 that are exclusive to Asuka's robe that no longer had a reference. Replacing the first Part 5 with Dana's caused a crash, replacing with the second did do anything.

I'm a bit tired, so I'm gonna call it for today. The last thing that I could try is using Dana's as a base and trying to insert the robe's Part 5 or use a container that has all required parts. The answer is really close I think.

 

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

Thank you for posting this!  A while ago I was similarly trying to get Randy Savage '91 2K16 ring attire (animated hair & outfit tassels) to work with animated British Bulldog 2K16 tassel boots for some half-done future attires.  I kinda sidelined it because I wasn't having much success, but here's what I discovered:

The obvious: If I use the Savage 2580, the hair/outfit animates but not the new boots.  If I use the Bulldog 2580, the boots animate but not the hair/outfit.  So, both files will work and animate their related attire objects on the Randy Savage base character.

Savage's 2580 is comprised of:
(3) Part 5 (the first relates to hair)
(1) Part 27
(1) Part 1
(1) Part 23
(1) Part 25

Bulldog's 2580 is comprised of:
(3) Part 5 (the third Part 5 entry relates to the boot tassels)
(3) Part 27 (the third Part 27 entry relates to the boot tassels)
(1) Part 1
(1) Part 23
(1) Part 25

According to @hovathagod32's tutorial, I need to extract/replace the correct Part 5 and also Part 23.  However, I found that in some cases (like this one), there are even more interrelated parts.  I kept trying to inject pieces of the Bulldog 2580 into the Savage 2580, and discovered that I could in fact get the boot tassels working by injecting the first Part 5, the first Part 27, Part 1, Part 23, AND Part 25.  If I only swap some of these, I get different results ranging from the game freezing, to the outfit being invisible, to the boots being warped but kinda animating).  Unfortunately, injecting over all of these parts then overwrites necessary components and stops the hair/outfit from animating.  But it does show that the two files are merge-able.

Since each of these parts is comprised of many sub-parts, theoretically there's a combination of sub-parts that will allow the two to co-exist.  So in order for it to work, I think we need to be able to inject, or perhaps in same cases add/remove, specific sub-parts.  I'm not sure that the current version of the Physics_File_Editor/Muscle Reader is designed to do that.  Because when I try, it seems to mess up the file structure.  Though I could easily be doing something wrong.  And I don't understand the hex file well enough to attempt that manually.

I need to be in a specific mindset to even attempt hex-related stuff, but if I do any more experimenting I'll report back with any new findings.

  • Like 1
Link to comment
Share on other sites

  • 9 months later...

@hovathagod32 @BlindedByTheGrace Ok, a bit of an update on this as I learn a bit more and understand the hex stuff better. I went back in. So some of my original assumptions were wrong. I still haven't solved anything. Just trying to paint a clearer picture.

First, the 23 seems to be an index file. Files that just have hair motions have a S_hair value and a dummy value indicating no other motion. The other file I looked at had S_jacket and M_jacket files. Then I looked at one with both and it had an S_hair and S_jacket and M_jacket reference. There was no dummy file.

ASSUMPTION 1: Use the hair as the base. I assumed to add parts I needed to insert them and change the ID value that comes before each part to the ID value of the 2580 file. The ID value is a number that's sprinkled throughout the file like B0 8B 26 01. Note that I only added parts that weren't already there. like if C_15 was missing.

ASSUMPTION 2: The order doesn't matter. I couldn't find anywhere in the file that would indicate that one file should come before another. I could be totally wrong about this because the object files have a bunch of bones and stuff associated to them in 3ds max. My attempt didn't work, so I'll have to explore this more by comparing more wrestlers.

ASSUMPTION 3: You must always change the length of the file and the number of parts. If you add more then you need to increase the value and track the new length.

esc_sPfuwxFqZ0ToG4S2rZb6lBXXEh3RuSItygYd

Second, the 25 file seems to be where all the bones and movement vertexes are listed. If you open the hair file in 3ds max, you'll find the same list of bones in there.

ASSUMPTION 3: I'm pretty sure this could be a part of the reason why my attempt crashed. I didn't duplicate parts since I'm replicating the ID. You may have to replicate. I will explore more with a wrestler (like Bret who has jacket and hair motion) 

Third, the 27 file only seems to be for the hair. As mentioned, this didn't appear in characters who are bald. This is a good reason to start with the hair model you want to use since it's already in the file.

Fourth, the 5s are linked to each referenced part in 23. S_Hair = a 5 file. S_Jacket = a 5 file. M_Jacket = a 5 file, etc. 

ASSUMPTION 4: You have to port in the missing 5 files. This means that you'll have to change the part count at the very top of the 2580 file in addition to the length.

The big mystery for me was the 1 file. I have no idea what this is and didn't touch it. So that could have caused my crash. Alternatively, the missing bones that I took out of the 25 file could have also caused the crash. Or I'm just doing this all wrong.

The next step is to try to put this knowledge to use by finding a container that already has hair and jacket motions and doing all the edits that I did here and seeing if the file will work. This could mean that you can just swap out the 5s, edit the missing references and swap the 27 file and bones per item and see if it works. I might have time to do this later in the week. That would be a small work around, but wouldn't work for files with other things like a 36 file etc.

*Small edit: I checked Bret's file and there's no bone redundancy. Seems like I'm on the right path. I just wasn't supposed to delete the dummy in 23. So the crash must be due to the 01 file... I'll try swapping data with his file and see if I can get things working

 

Edited by swipergod
  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...