![]() ![]() After all these manipulations we have our motions in the game, TPP will gladly load them along with others and since player2_resident_motions loads motions that play game-wide, our animations will be playable everywhere (including title screen and intro/outro helicopter sequences, cinematic cutscenes are not included). Great, now pack back that xml file into fox2 script with FoxTool and pack fpkd back using whatever packer you use. Hashes and values are mostly irrelevant (aside from mtar path), it just worked after copypasting so I guess it's ok. Assets/tpp/motion/mtar/player2/mgoplayer_resident.mtar It clearly adds player_online.mtar, so why don't we add MGO motions in the same way, but to singleplayer file? Player2_resident_motion.fox2 file sits in chunk0, player2_resident_motion.fpk d. As you can see, it contains descriptions of what should be loaded into the memory, we are interested in tag. Unpack the file, use FoxTool to make a proper xml file out of it, open with your text editor. Main file of our interest is Assets\tpp\level_asset\chara\player\game_object\player2_online_motion.fox2. Let's take a look at o50050_area.fpkd which exists in 00.dat. Since "FOB victory" motion was available only while playing online missions, there had to be a way to make the game load them the same way it does for FOB missions. Game still has no idea that we added new animations. Now it's time to combine them, just copypaste mgoplayer_resident.mtar into player2_resident_motion_fpk\Assets\tpp\motion\mtar\player2\ directory. Using the same logic we find the file \Assets\tpp\pack\player\motion\player2_resident_motion.fpk in chunk0. Now we need to bring that file back into TPP. We can see the contents of that fpk in a link above (fpk_paths.txt) by just looking for mgo_player_resident - there is a mgoplayer_resident.mtar file which is definitely what we need. File /Assets/mgo/pack/player/motion/mgo_player_resident_motion.fpk is the answer - it loads on the game start, has "player" and "motion" in name, has a nice size (over 18 megabytes). After looking through gorillion of lines with 'mtar' in them you make a smart move and start thinking about how and where motions can be. I recommend you to clone that repository and use something like grep to wade through lua code and files fast, GitHub search doesn't work on big files and has issues in general. List of files in fpk archives in chunk0 is stored in /tpp/mgo/inf/chunk0/fpks/fpk_patches.txt. I did that before and compiled list of all files in a handy repository. Since animations have *.mtar extension, the only smart move would be to unpack all MGO files and run a search for them. They are unavailable in single player and exist only in MGO. I decided to work on DLC motions from MGO. I tried to play a "FOB victory" motion (when you get into the FOB core) in a singleplayer, but to my surprise it failed to play and "mission successful" motion (wiping forehead) played flawlessly. Since there is no unpacker for *.mtar archives and there is not a single person who wants to research the format, the only way of having fun with them is reusing motions. Anyway, every object has animations and animations are somewhat compatible between each other which is pretty cool - see this for example. Up to this date there is no unpacker since no one is interested in motions :(. Animations have `*.gani` extension and don't exist outside *.mtar archives. Player animations are stored in *.mtar files which are actually archives with different motions archived inside.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |