![]() Checking through a dozen other files for comparison, this looks like the only "flag" that can be checked against. I think this is a rather solid correlation right now, with a small possibility of being wrong. Looking through a bunch of files, the ones with keyframe value change after count has what seems like a bunch of random byte values, whereas the ones that do not have those 20 bytes all zeroed out, as well as a small part of the 55 bytes further up in the file zeroed out too. This byte is also always the same for each track in the file.Įdit2: Okay, if there is a flag, what I pointed out is almost certainly not it.Įdit3: Confirmed because of Valkyrja transmog 3's idle animation having 361 frames, the 6th and 7th byte are 2 bytes frame count rather than one.Īn update to my findings, it's starting to look like there IS a correlation between the 20 bytes unknown after anim_track_count, and whether the keyframe value is modified after counting. I don't know yet if the first nibble has much relevance, as it's mostly C and in one example 4. ![]() With a couple files I've looked at that have been a pain in the neck in that regard, it looks like in the PLM$ area with the track info, the 1st byte's 2nd nibble is 0 for unaffected keyframe counts, and 8 for keyframe counts that subtract 1 to get the final result. I don't know.Įdit: In regards to the existence of a flag that may add or subtract from the keyframe count, that might be true. It's difficult to say if the newer models add 1 to the final number, the older ones subtract 1, or if there's a flag somewhere that tells the game to add or subtract. ,, ,, , 5,, ,, ,, ,, ,, 7, - 0xD0ģ, 4, 5, 5,, ,, 6,, ,, ,, ,, 7, - 0圎0Ĥ, 5,, ,, 6,, 7, 5,, , 7, 6, 7, 7, 8, - 0xF0Unfortunately I'm starting to find that some of these values are likely incorrect, and with this being such a tedious and very error-prone process where any mistake, if not caught early, will undo a ton of work, I need to know if there is a quicker way to get this array filled out with 100% accuracy.Īlso, some of the values seem like they work for newer models, but not work for older ones, such as 0x1F as 5 works for newer ones, but 0x1F as 4 works for older ones. ![]() The values of dynamic bytes are plugged into a 256 length array that outputs values 0 through 8, and these values are added together to get the final value for that bone's quaternion, position, or scale.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |