February 28Feb 28 Been interested at modding this game ever since I discovered the JAM unpacker file in this site. Now i'm wondering if anyone could make a tool to extract the .WKA file which from what I learned are the animation file for the game.
March 2Mar 2 Author 17 hours ago, shak-otay said: Before we don't have a skeleton nothing will happen. There is a file called .akc which is i think where the model's skeleton are stored if that is what you're talking about. It's in a plain text so idk if there's a way to turn it into an armature in Blender
March 2Mar 2 Supporter 34 minutes ago, Yortfield said: It's in a plain text so idk if there's a way to turn it into an armature in Blender Should be possible - but not from a screenshot.
March 2Mar 2 Author 10 minutes ago, shak-otay said: Should be possible - but not from a screenshot. Here's the akc file. Let me know if you found a way convert it to an armature akc sample.7z
March 2Mar 2 Supporter Thanks! Will take some time. (Reminds me of my forgotten or unwritten ASCII parser code snippets.) Orientation values are a quat, afaics, but what is this matrix? Hopefully it can be applied without a hassle. LocalDrawingTransform -0.000000 0.999048 -0.043618 0.000000 0.000000 -0.043618 -0.999048 0.000000 -1.000000 -0.000000 0.000000 0.000000 -0.883083 0.052678 -0.130029 1.000000 edit: the parser is working so far, the easy part: Quote "ROOTR" Position -0.000000 0.002164 0.982005 Orientation 0.002368 0.002368 0.707102 0.707103 LocalDrawingTransform 1.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 1.000000 "PELVISR" Position 0.005879 -0.000000 -0.000039 Orientation 0.499999 0.500000 0.500000 0.500001 par "ROOTR" LocalDrawingTransform 0.000000 1.000000 -0.000001 0.000000 -0.000001 0.000001 1.000000 0.000000 1.000000 0.000000 0.000001 0.000000 0.000039 -0.005879 0.000000 1.000000 "SPINER" Position 0.096827 -0.006912 0.000000 Orientation 0.000002 0.000001 -0.053380 0.998574 par "PELVISR" LocalDrawingTransform 0.106609 0.994301 0.000003 0.000000 0.000000 -0.000003 1.000000 0.000000 0.994301 -0.106609 -0.000000 0.000000 -0.096126 0.011346 0.000000 1.000000 "SPINE1R" Position 0.109913 -0.000061 -0.000000 Orientation -0.000000 -0.000000 0.032711 0.999465 par "SPINER" LocalDrawingTransform 0.041367 0.999144 0.000003 0.000000 0.000000 -0.000003 1.000000 0.000000 0.999144 -0.041367 -0.000000 0.000000 -0.206344 -0.002090 -0.000000 1.000000 "SPINE2R" Position 0.076945 -0.000134 -0.000000 Orientation -0.000000 -0.000000 0.101168 0.994869 par "SPINE1R" LocalDrawingTransform -0.160606 0.987019 0.000003 0.000000 0.000000 -0.000003 1.000000 0.000000 0.987019 0.160606 0.000000 0.000000 -0.277097 -0.058941 -0.000000 1.000000 "NECKR" Position 0.171883 -0.000044 -0.000000 Orientation -0.000000 0.000000 -0.160743 0.986996 par "SPINE2R" LocalDrawingTransform 0.160879 0.986974 0.000003 0.000000 0.000000 -0.000003 1.000000 0.000000 0.986974 -0.160879 -0.000000 0.000000 -0.444466 0.086610 0.000000 1.000000 ... ... edit: done. (Copy the following lines into a .smd text file: ) version 1 nodes 0 "ROOTR" -1 1 "PELVISR" 0 2 "SPINER" 1 3 "SPINE1R" 2 4 "SPINE2R" 3 5 "NECKR" 4 6 "HEADR" 5 7 "JAWR" 6 8 "EYEBROWR" 6 9 "LEYELIDR" 6 10 "REYELIDR" 6 11 "REYER" 6 12 "LEYER" 6 13 "LCLAVICR" 5 14 "LUPARMR" 13 15 "L4ARMR" 14 16 "LHANDR" 15 17 "LFING0R" 16 18 "LFING01R" 17 19 "LFING1R" 16 20 "LFING11R" 19 21 "LFING2R" 16 22 "LFING21R" 21 23 "RCLAVICR" 5 24 "RUPARMR" 23 25 "R4ARMR" 24 26 "RHANDR" 25 27 "RFING0R" 26 28 "RFING01R" 27 29 "RFING1R" 26 30 "RFING11R" 29 31 "RFING2R" 26 32 "RFING21R" 31 33 "RBREASTR" 4 34 "LBREASTR" 4 35 "LTHIGHR" 2 36 "LCALFR" 35 37 "LFOOTR" 36 38 "LTOE0R" 37 39 "RTHIGHR" 2 40 "RCALFR" 39 41 "RFOOTR" 40 42 "RTOE0R" 41 end skeleton time 0 0 -0.000000 0.002164 0.982005 0.006698 0.000000 1.570795 1 0.005879 -0.000000 -0.000039 1.570794 0.000002 1.570796 2 0.096827 -0.006912 0.000000 0.000004 0.000002 -0.106811 3 0.109913 -0.000061 -0.000000 -0.000000 -0.000000 0.065434 4 0.076945 -0.000134 -0.000000 -0.000000 -0.000000 0.202683 5 0.171883 -0.000044 -0.000000 -0.000000 -0.000000 -0.322887 6 0.058620 -0.000000 0.000000 0.000000 -0.000000 0.065590 7 0.061718 0.031405 0.000000 -0.000003 0.000002 -1.963160 8 0.147274 0.023521 0.000412 -0.008382 -0.000278 -1.526826 9 0.118328 0.078315 0.049960 -0.266198 0.000000 0.977407 10 0.118328 0.078316 -0.048369 -0.000000 -0.000000 0.052510 11 0.114542 0.070875 -0.039256 0.000000 -0.000000 0.000000 12 0.114542 0.070875 0.039256 0.000000 -0.000000 0.000000 13 -0.013340 -0.016466 0.029466 -0.922879 -1.145993 -2.264650 14 0.103251 0.000000 -0.000000 -0.200820 -0.377249 0.044269 15 0.243783 -0.000000 -0.000000 0.000000 0.000000 0.207764 16 0.261753 0.000000 -0.000000 1.569996 0.095995 -0.000077 17 0.057600 0.007142 -0.034670 -1.219516 -0.262946 0.310644 18 0.027926 -0.000000 -0.000000 0.000000 0.000000 -0.130899 19 0.085561 -0.003678 -0.018531 0.057441 -0.125088 -0.238755 20 0.038983 -0.000000 -0.000000 0.000000 -0.000000 -0.287980 21 0.090451 0.000232 0.012349 0.122084 0.023461 -0.225919 22 0.035924 0.000000 0.000000 -0.000000 -0.000000 -0.200713 23 -0.013340 -0.016466 -0.029466 0.922873 1.145993 -2.264648 24 0.103251 0.000000 0.000000 0.200820 0.377249 0.044269 25 0.243783 -0.000000 -0.000000 0.000000 -0.000000 0.207764 26 0.261753 0.000000 0.000000 -1.569996 -0.095995 -0.000077 27 0.057600 0.007142 0.034670 1.219516 0.262946 0.310644 28 0.027926 0.000000 0.000000 0.000000 0.000000 -0.130899 29 0.085561 -0.003678 0.018531 -0.057441 0.125088 -0.238755 30 0.038983 -0.000000 0.000000 0.000000 -0.000000 -0.287980 31 0.090451 0.000232 -0.012349 -0.122084 -0.023461 -0.225919 32 0.035924 0.000000 -0.000000 0.000000 -0.000000 -0.200713 33 0.045332 0.029823 -0.051874 0.242222 0.032927 -1.716442 34 0.045332 0.029823 0.051661 -0.241249 -0.039041 -1.714933 35 -0.095539 0.017195 0.073208 3.125194 0.060834 3.084762 36 0.436832 -0.000000 0.000000 0.000000 -0.000000 0.042613 37 0.450412 -0.000000 0.000000 0.027975 0.065070 -0.090825 38 0.098754 0.126638 0.000000 -0.000000 -0.000000 -1.570796 39 -0.095539 0.017195 -0.073208 -3.125200 -0.060834 3.084763 40 0.436832 0.000000 0.000000 0.000000 -0.000000 0.042613 41 0.450412 0.000000 -0.000000 -0.027975 -0.065070 -0.090825 42 0.098754 0.126638 -0.000000 0.000000 -0.000000 -1.570796 Edited March 3Mar 3 by shak-otay
March 4Mar 4 Author On 3/2/2026 at 5:47 PM, shak-otay said: Thanks! Will take some time. (Reminds me of my forgotten or unwritten ASCII parser code snippets.) Orientation values are a quat, afaics, but what is this matrix? Hopefully it can be applied without a hassle. LocalDrawingTransform -0.000000 0.999048 -0.043618 0.000000 0.000000 -0.043618 -0.999048 0.000000 -1.000000 -0.000000 0.000000 0.000000 -0.883083 0.052678 -0.130029 1.000000 edit: the parser is working so far, the easy part: edit: done. (Copy the following lines into a .smd text file: ) version 1 nodes 0 "ROOTR" -1 1 "PELVISR" 0 2 "SPINER" 1 3 "SPINE1R" 2 4 "SPINE2R" 3 5 "NECKR" 4 6 "HEADR" 5 7 "JAWR" 6 8 "EYEBROWR" 6 9 "LEYELIDR" 6 10 "REYELIDR" 6 11 "REYER" 6 12 "LEYER" 6 13 "LCLAVICR" 5 14 "LUPARMR" 13 15 "L4ARMR" 14 16 "LHANDR" 15 17 "LFING0R" 16 18 "LFING01R" 17 19 "LFING1R" 16 20 "LFING11R" 19 21 "LFING2R" 16 22 "LFING21R" 21 23 "RCLAVICR" 5 24 "RUPARMR" 23 25 "R4ARMR" 24 26 "RHANDR" 25 27 "RFING0R" 26 28 "RFING01R" 27 29 "RFING1R" 26 30 "RFING11R" 29 31 "RFING2R" 26 32 "RFING21R" 31 33 "RBREASTR" 4 34 "LBREASTR" 4 35 "LTHIGHR" 2 36 "LCALFR" 35 37 "LFOOTR" 36 38 "LTOE0R" 37 39 "RTHIGHR" 2 40 "RCALFR" 39 41 "RFOOTR" 40 42 "RTOE0R" 41 end skeleton time 0 0 -0.000000 0.002164 0.982005 0.006698 0.000000 1.570795 1 0.005879 -0.000000 -0.000039 1.570794 0.000002 1.570796 2 0.096827 -0.006912 0.000000 0.000004 0.000002 -0.106811 3 0.109913 -0.000061 -0.000000 -0.000000 -0.000000 0.065434 4 0.076945 -0.000134 -0.000000 -0.000000 -0.000000 0.202683 5 0.171883 -0.000044 -0.000000 -0.000000 -0.000000 -0.322887 6 0.058620 -0.000000 0.000000 0.000000 -0.000000 0.065590 7 0.061718 0.031405 0.000000 -0.000003 0.000002 -1.963160 8 0.147274 0.023521 0.000412 -0.008382 -0.000278 -1.526826 9 0.118328 0.078315 0.049960 -0.266198 0.000000 0.977407 10 0.118328 0.078316 -0.048369 -0.000000 -0.000000 0.052510 11 0.114542 0.070875 -0.039256 0.000000 -0.000000 0.000000 12 0.114542 0.070875 0.039256 0.000000 -0.000000 0.000000 13 -0.013340 -0.016466 0.029466 -0.922879 -1.145993 -2.264650 14 0.103251 0.000000 -0.000000 -0.200820 -0.377249 0.044269 15 0.243783 -0.000000 -0.000000 0.000000 0.000000 0.207764 16 0.261753 0.000000 -0.000000 1.569996 0.095995 -0.000077 17 0.057600 0.007142 -0.034670 -1.219516 -0.262946 0.310644 18 0.027926 -0.000000 -0.000000 0.000000 0.000000 -0.130899 19 0.085561 -0.003678 -0.018531 0.057441 -0.125088 -0.238755 20 0.038983 -0.000000 -0.000000 0.000000 -0.000000 -0.287980 21 0.090451 0.000232 0.012349 0.122084 0.023461 -0.225919 22 0.035924 0.000000 0.000000 -0.000000 -0.000000 -0.200713 23 -0.013340 -0.016466 -0.029466 0.922873 1.145993 -2.264648 24 0.103251 0.000000 0.000000 0.200820 0.377249 0.044269 25 0.243783 -0.000000 -0.000000 0.000000 -0.000000 0.207764 26 0.261753 0.000000 0.000000 -1.569996 -0.095995 -0.000077 27 0.057600 0.007142 0.034670 1.219516 0.262946 0.310644 28 0.027926 0.000000 0.000000 0.000000 0.000000 -0.130899 29 0.085561 -0.003678 0.018531 -0.057441 0.125088 -0.238755 30 0.038983 -0.000000 0.000000 0.000000 -0.000000 -0.287980 31 0.090451 0.000232 -0.012349 -0.122084 -0.023461 -0.225919 32 0.035924 0.000000 -0.000000 0.000000 -0.000000 -0.200713 33 0.045332 0.029823 -0.051874 0.242222 0.032927 -1.716442 34 0.045332 0.029823 0.051661 -0.241249 -0.039041 -1.714933 35 -0.095539 0.017195 0.073208 3.125194 0.060834 3.084762 36 0.436832 -0.000000 0.000000 0.000000 -0.000000 0.042613 37 0.450412 -0.000000 0.000000 0.027975 0.065070 -0.090825 38 0.098754 0.126638 0.000000 -0.000000 -0.000000 -1.570796 39 -0.095539 0.017195 -0.073208 -3.125200 -0.060834 3.084763 40 0.436832 0.000000 0.000000 0.000000 -0.000000 0.042613 41 0.450412 0.000000 -0.000000 -0.027975 -0.065070 -0.090825 42 0.098754 0.126638 -0.000000 0.000000 -0.000000 -1.570796 Nice. Could you make a script to automatically convert akc to smd?
March 4Mar 4 Supporter I don't write scripts, usually. It's a tool. But it's not user friendly. This smd example should do to tackle *.WKA files.
March 4Mar 4 Author 56 minutes ago, shak-otay said: I don't write scripts, usually. It's a tool. But it's not user friendly. This smd example should do to tackle *.WKA files. If you want to work with WKA file first then here. Hopefully someone else made a script so other WKA file could be tested on wka sample.7z
March 4Mar 4 Supporter 26 minutes ago, Yortfield said: If you want to work with WKA file first then here. Not really, but thanks! Quote Hopefully someone else made a script so other WKA file could be tested on I hope so, too. But sadly the WKA format is not clear to me. Don't see a relation to the skeleton's bones. All we have is curves: edit: and some (compressed?) blocks, maybe scale/trans/rot? Edited March 4Mar 4 by shak-otay
March 7Mar 7 Author On 3/4/2026 at 5:05 PM, shak-otay said: edit: and some (compressed?) blocks, maybe scale/trans/rot? You still looking into it?
March 7Mar 7 Supporter Guess it needs to be debugged and I don't have the time for that. Plus I can't see any reference to the bones in the wka file.
Create an account or sign in to comment