Jump to content


JKHub Staff
  • Posts

  • Joined

  • Last visited

Posts posted by AshuraDX

  1. I did not mean to offend you, It was harshly phrased - harsher than intended to be fair.

    You used to be quite interested in getting feedback and learning new skills.

    Here's what a possible application of the feedback I gave can look like:


    This took about 20 Minutes, not counting the time I spent setting up the model in 3ds max and naming materials.

    All I did is bake a world space normal map and an ambient occlusion map then combine the maps with the diffuse textures to get this result. with a bit of polish and individual tweaking of the different texture maps you could get a more polished result. This was a quick and dirty job.

    Here are the touched up textures with the model_lit.skin variant.


  2. 19 hours ago, darthgoose said:

    Only the head of the model doesn't get dismembered. It stays when I set "NPC to Dismember Head" to true. 

    Here's the contents of the model_default.skin file:



    I don't see a mesh named hips/hips_off (<- used in the base JKA Single Player Models) not torso/torso_off.

    That might be the cause of the problem.

  3. 19 hours ago, darthgoose said:

    Hi Jeff,

    I encountered a model animation bug. Whenever I set Jaina's NPC model to dismember head, the head is intact. Is this a .skin file bug or am I missing something?

    That usually indicates an issue with either the hierarchy or the naming. Does the head get duplicated or just not dismembered at all?

    Hierarchy issues tend to cause all sorts of weird glitches, wrong names usually just prevent things from working. 

    The model should have these mesh names:

    hips, r_leg, l_leg, torso, r_arm, r_hand, l_arm, l_hand, head

    If any of these are missing that can lead to issues.

  4. Soo, sorry for the late reply. I've been super busy these past weeks.

    Stance mods usually modify the _humanoid.gla. 

    If you wanted to merge two stance or other animation Mods there are two ways to do so.

    1. This is the method that always can be done, is easier on paper but can lead to a big mess really quickly. To merge animations from two gla files you will have to pick one of the two files as your "Host" file. Let's call this file "A". Then you will need to slice the animation frames you want from the other gla file "B" and store them in a new file named "C". This can be done with blender or the old Jedi Academy Animation Program "Dragon". You can get the range of frames you need to slice from the animations.cfg file associated with file "B". Once you have your frames extracted, you will need to use glamerge.exe (included with Dragon) to merge File "A" with File "C" and then edit the animations.cfg file to point the animation you want to replace towards the newly merged frames which will be attached at the end of the existing frames in file "A". This process is prone to errors and the files get messier and messier the more you merge to them. That concludes method 1.

    2. This is my preferred method, but it requires you to have the animation sequence you want to add into your game to exist as a .xsi file. Which you can then add to the animation sourcefiles. This will also handle the creation of the animation.cfg file for you. And you can avoid waste by excluding the original animation frames when you replace them with your own, new, animations.

    The Tutorial I wrote on working with my CAT Animation Rig for 3ds max goes into a bit more detail about this method. @WC3Tutorial also recorded a video tutorial for this.

    matiasfett likes this
  5. Generally editing the textures is required to yield the best result, but you can also change the colour in a shader:

    This is a hologram shader that works using only basegame textures, it could be adapted to work for force ghosts too - you'd just have to take out the noise and scanline effects 😉

  6. On 8/21/2021 at 5:06 AM, matiasfett said:


    Dude, how can I activate a unique humanoid on a skin that I want?

    The quick answer is:

    Get hxd, a free hexeditor, and open the glm file you want to use a different gla with.

    Near the top of the file in ascii view you should see a filepath pointing to a gla file. Overwrite that path, Warning: do not delete any characters as that will break the file. Just overwrite them with your new gla path.

    Save the file and test your edit in singleplayer, the model will from now on no longer work in multiplayer.

    Psyk0Sith likes this
  7. Hi,

    First of all:

    Never directly change files in the assets*.pk3 files.

    Copy the files you want to change to a new pk3 file and make your changes there. Then name your new pk3 file so that it is loaded after the original. Files are loaded alphabetically, so naming your file "my_tweaks.pk3" or anything that does not start with an "a" will get you there.

    However, if you did in fact replace and overwrite those files in the original pk3 it should load the changes ingame. Did you actually place your modified pk3 in the base folder?

    Iirc, by default, any files taken from the original .pk3 file are set as read only, did you change the access permissions?

    lionsoul likes this
  8. Tutorial: Export & Compile Animations for Jedi Knight Jedi Academy


    This Tutorial will teach you how to export animations made with the Jedi Knight CAT Rig for 3DS MAX and compile them for use in Jedi Knight Jedi Academy. With a minor change, this Tutorial will also work for Jedi Knight Jedi Outcast.



    The Jedi Knight CAT Rig *.max file

    The core to this tutorial, without this the remaining part of this tutorial might not make much sense to you.


    The dotXSI Exporter for your version of 3DS MAX

    This is the plugin you need to export your animation as a *.xsi file which we will then run through the animation compiler to create our game-ready-animation.

    Version Downloads:


    The JKA SDK Repack

    This file contains all of the required tools and source files we need to do this.

    A Texteditor

    Any Texteditor will do as long as it has a find & replace function. I would recommend Notepad++, but the regular Notepad or even the default Windows Texteditor will work just fine.

    Setup & Preparation

    After you have downloaded the required files from JKHub, follow these Steps:

    1. Install the dotXSI Export Plugin for your version of 3ds max following the provided readMe file
    2. Unzip the JKA SDKRepack to a Working directory of your choice, e.g. "E:/JKA-SDK-Repack/".

      To avoid Problems it's best to avoid having any spaces in the path.

      This will give you this directory structure:
      • JKA-SDK-Repack
        • assets
        • codemp
        • Tools
        • Original SDK readme.txt
        • Read Me !.txt
    3. Add the following branch to your Working directory:
      • JKA-SDK-Repack
        • assets
        • base
          • models
            • players
              • _humanoid
                • source
        • ...
    4. Start the Program called Assimilate.exe from the Tools folder, once it opened click Edit > Preferences... on the main-menubar.

      Here, we'll need to set up some paths. Replace .../JKA-SDK-Repack with the path to your working directory and follow from there.

      Enum file: .../JKA-SDK-Repack/codemp/game/anims.h
      Compiler: .../JKA-SDK-Repack/Tools/carcass.exe
      Quake Dir: .../JKA-SDK-Repack/base/

      Make sure to keep the Trailing "/" on the Quake Dir path!

    5. Copy all files from "/assets/models/players/_humanoid/*" to "/base/models/players/_humanoid/source/*"
    6. Open the _humanoid.car file from ".../_humanoid/source/" in your Texteditor and run the following find & replace.

      Make sure that the file is not write protected when you try to do this

      Find: "/_humanoid/" => Replace: "/humanoid/source/"
    7. If done correctly, the last line of the _humanoid.car file should look like this:
      $aseanimconvertmdx_noask models/players/_humanoid/source/root -makeskel models/players/_humanoid/source/_humanoid -origin 0 0 24

      Now we need to change the part that's highlighted green back to models/players/_humanoid/_humanoid and save the file. This file will function as our source and backup file from now on.
      Whenever we open this file in Assimilate.exe, it will read the source files and generate a fresh and completely vanilla _humanoid.gla for us.

    Exporting your animation

    Now that we are done with the setup part, it's time to export our animation. It's time to jump into 3ds max

    Animating a CAT Rig is outside the scope of this tutorial. If you want to learn how to do that, there will be a link to a fantastic Youtube channel at the end of this Tutorial.

    First, we have to configure our Timeline, if we haven't done so already. We only want to export the actual animation, so we want to set our timeline to range from Frame 1 to our last keyframe of our animation.

    Setting up the timeline

    Then, we use the Animation Export Selection Set to select everything we need to export.
    Clicking the set will most likely issue a Warning, that hidden/frozen objects are about to be selected. This warning can be safely ignored, so press NO to continue.

    The relevant Objects for Animation Export are sensitive to changes and as such are frozen, hidden and mostly secured by constraints by default to prevent any sort of accidental change to them.

    Selecting the Jedi Knight Skeleton

    With our Jedi Knight Skeleton selected via the Animation Export Selection Set, we can Export our animation. To do this click File > Export > Export Selected... and export your Animation to your _humanoid folder as a Softimage dotXSI 3.0 (*.xsi) file.

    Name your file appropiately, for this Tutorial I saved my file as ".../JKA-SDK-Repack/base/models/players/_humanoid/both_tutorial.xsi".

    When exporting an animation, your main concern is for 3 Settings in the Export Dialog:

    • Animation is checked
    • File Type is set to ASCII
    • Scene Root Name is set to model_root

    These should be the default settings, but it's better to be safe than sorry.

    Export Settings

    If everything went correctly, we should now have succesfully exported our animation.

    Compiling the animation from .xsi to .gla

    We are almost done. The last step we need to do is setup our gla compile. Remember the .../source/_humanoid.car file we edited earlier? It is time to copy that file from /_humanoid/source/ to /_humanoid/ and open it in our Texteditor.

    I would also suggest renaming it to prevent any accidental overwriting of our source .car file. For this Tutorial I named my file Tutorial.car

    What we need to do now, is to add our new .xsi animation to this .car file, to do this we must insert a line with the following pattern into the .car file:

    $aseanimgrab [filename] -loop [loopframe]

    In my case, my Animation filename is models/players/_humanoid/both_tutorial.xsi and since my animation is not meant to loop, I am going to set the loopframe to -1. If your animation should loop, set the loopframe to the frame that the animation should return to after being completed. (usually frame 0).

    Our new line should now look something like this:

    $aseanimgrab models/players/_humanoid/both_tutorial.xsi -loop -1

    Last thing left to do before we can compile, is to insert it into the right location in the .car file.

    The "right" location, is right above the line

    $aseanimgrab models/players/_humanoid/source/root.xsi -loop -1
    Which should be the third to last line in our .car file

    Now all we need to do is to copy & paste our new line right above the root.xsi line, like so:

    $aseanimgrab models/players/_humanoid/both_tutorial.xsi -loop -1
    $aseanimgrab models/players/_humanoid/source/root.xsi -loop -1
    $aseanimconvertmdx_noask models/players/_humanoid/source/root -makeskel models/players/_humanoid/_humanoid -origin 0 0 24
    ...and save our .car file.

    With our .car file being finished, it's time to open it in Assimilate.exe.

    Once open it will take a short while to load in all of the animation files. Once it has completed that, we can press the big B Button on the main Toolbar to build our gla.

    Shortly after you clicked it, a CMD/DOS Window will open and rush through a lot of lines detailing its work. If all goes well it will finish and you will be greated by an Info dialog telling you that "Everything seemed to go ok".

    Ideally, you will have a freshly compiled GLA File including your new Animation at Hand. If not there will be some troubleshooting required. A link to a list of common Assimilate/Carcass Errors and how to fix them will be at the End of this Tutorial.

    Testing your animation

    The moment we've been waiting for is finally here. Now would be a good time to unpack your favourite character model from its pk3 file to your JKA-SDK-Repack base folder and opening it in Modview.
    Somewhere at the bottom of the Sequence List you should find your new animation. Double click it to play and view it for the first time in Modview.

    Viewing the Animation in Modview

    Thank you

    Thank you for reading this, I hope you learned something new from my rambling. I would also like to thank Miloš Černý for his invaluable Tutorial videos on building CAT Rigs without which I would not have started this project, as well as WC3Tutorial for his rigorous Testing and Feedback on how this Rig and its earlier iterations performed.

    If you run into any problems, don't be shy to reach out to me on JKHub or the JK Community Discord.

    JKHub Profile JK Community
    ooeJack likes this
  9. UKpbLTD.jpg

    This is something that I've been working on since like 2017. But I finally got around to rebuilding this thing for the third time - this time properly and with all bones for Jedi Academy, Jedi Outcast and even Soldier of Fortune 2.
    Most of you are probably like "What the Hell is this?", so let me explain:

    What is CAT and what can I do with it?

    CAT Is a very versatile Rigging and Animation System for 3ds Max. It allows you to quickly and comfortably make high quality Animations, after setting up a Rig that is equally quick to build. This Video (and this Channel in General) explain what CAT is and what it can do really well:

    This rig comes in a 3ds max scene with the original Jedi Knight Game bones constrained to it. This means that when you move any part of the rig, the bones of the character move accordingly. It is also organized in layers and comes with a couple of useful premade selection sets to streamline animating and exporting your animations to the game.

    How do I use it?

    To export animations and get them ingame you will need the Jedi Academy SDK Repack and the dotXSI Exporter for your version of 3ds max. (I linked the exporter for 3ds max 2021 underneath - check the authors other uploads for alternate versions)

    When CAN I use it?

    The file has already been uploaded and approved here on JKHub and I hope to get a tutorial written up and recorded until next weekend. WC3Tutorial from the JKCommunity Discord, who has been Alpha-Testing the initial Version of the Rig heavily, might beat me to recording a tutorial - if that happens I'll link it here. I'd be happy to hear any questions you might have upfront that might help make the tutorial better and easier to understand.

    If you fancy messing around with this rig before the tutorial is up - don't be shy to reach out to WC3Tutorial or me on the JK Community Discord #modding channel.

    Some more pictures

    eBJTc45.jpg BJndLje.jpg
    fDmi7Tn.jpg 2Zfunop.jpg
    ZelZel, ooeJack, Psyk0Sith and 7 others like this
  • Create New...