Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Leisure Suit Larry Magna Cum Laude .WKA file

Featured Replies

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.

  • 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.Screenshot(24).thumb.png.60309767d41005e6b3368099b2ad9785.png

It's in a plain text so idk if there's a way to turn it into an armature in Blender

  • 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.

  • 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

  • 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

 

LarryGirl.png

Edited by shak-otay

  • 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

 

LarryGirl.png

Nice. Could you make a script to automatically convert akc to smd?

  • 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

  • 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:

WKA curve.png

edit: and some (compressed?) blocks, maybe scale/trans/rot?

WKA-blocks.thumb.png.25bd28b11d615ef2b3503e651eac5d6e.png

Edited by shak-otay

  • Author
On 3/4/2026 at 5:05 PM, shak-otay said:

edit: and some (compressed?) blocks, maybe scale/trans/rot?

WKA-blocks.thumb.png.25bd28b11d615ef2b3503e651eac5d6e.png

You still looking into it?

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.