Modding Tools

56 files

  1. [K1/TSL] Modder's Resource - Holocrons

    This pack contains two major elements. First, images for use as icon files,
    depicting one (blue) Jedi holocron and one Sith holocron.
     
    Second, it contains two placeable files and accompanying textures, for one
    (blue) Jedi holocron and one Sith holocron, on pedestals.
     
    There are versions of these models for KotOR I and KotOR II.
     
    N.B.: This is not a mod. Placing these files in your Override folder
    on their own will have no effect on your game whatsoever.
     
    Permissions
    You may use and modify these files however you wish in any mod that you wish, with
    three conditions:
     
    First, you must credit me in the Readme file or other mod descriptions
    (i.e., TSLPatcher info.rtf, or the file description online) as the original author
    of these files.
     
    Second, you must include a copy of this readme file with any mod released containing
    any or all of these resources.
     
    Third, that you may not reupload these files, unaltered and on their own, to
    any website without my expressed, written permission. This does not mean you
    need my permission to include them in a mod, or to upload modified versions,
    I just don't want this modder's resource mirrored all over the web
    without my knowledge.
     
    Known Bugs/Issues
    - The Sith holocron pedestal has some UV map issues.
    Attempts to fix this only broke the holocron model itself.
     
    Credits and Thanks
    - Thanks to Quanon, VarsityPuppet, and Marius Fett for their help with the models;
    - thanks also to Zhaboka, Sith Holocron, newbiemodder, Fallen Guardian, Warlord664, Quanon, Marius Fett, Canderis, DarthAnsem, SithSpecter, Slstoev, CptPriceless, kyrie, and Fair Strides 2 for their feedback and comments on the mod these were made for as it progressed;
    - to Fred Tetra for the truly awesome KotOR tool and his nwnsscomp conversion;
    - to Holowan Labs for remaining by far the best place to work on KotOR mods on the internet;
    - and to Obsidian, Bioware, and LucasArts, for making both KotOR games.

    228 downloads

       (2 reviews)

    0 comments

    Submitted

  2. 2DA Editor Alpha

    Just a little 2DA Editor I've been working on for a few months. Has a few neat features that the Kotor Tool one doesn't have like:
    - copying/pasting cells
    - search/filter
    - backup format in case of catastrophic file write failure
     
    Credit to @JCarter426 for an awesome logo 👍

    3,630 downloads

       (1 review)

    3 comments

    Updated

  3. Adding Geometry Tutorial

    This isn't really a tool, but it's not a mod, media, or skin either. With a lot of finagling and a nice hex editor, you can add geometry to heads for KOTOR and TSL characters. At least back in my day (my last mod was either in 2011 or 2013), this was a constant thorn in the side of models, so hopefully this tutorial is irrelevant by now. If that's the case, then I've uploaded it hear for historical significance.
     
    Hope all is well.
     
    Ben

    183 downloads

       (1 review)

    0 comments

    Submitted

  4. Bioware TGA to DDS Converter

    This is the orignal tool made by bioware to create a kotor-compatible dds, please see the .doc for instructions. (it wasn't mentioned there but the TGA must be square, and a power of 2 (256x256,512x512,1024x1024,2048x2048 etc.) in resolution)
    NOTE: this tool is one way only, tga>dds it doesn't do the reverse. FORUM DISCUSSION HERE

    1,016 downloads

       (4 reviews)

    0 comments

    Updated

  5. CSLU Toolkit (No Online Licensing)

    Previous versions of the CSLU Toolkit could not be installed without an active licensing server. This was unavailable for almost two years. This program has been modified by myself and the original authors to allow for an installation without CSLU's servers being active.
    This program is required to create .phn files used for new .lip files.
     
    Instructions
    ------------
    1. Copy "CSLU Toolkit" folder to the following destination: "C:\Program Files (x86)\"
    2. Open command prompt as administrator!
    3. Change directory to "C:\Program Files (x86)\CSLU Toolkit" (command is: "CD C:\Program Files (x86)\CSLU Toolkit")
    4. Run setup.bat (command is "setup.bat")
     

    288 downloads

       (0 reviews)

    0 comments

    Updated

  6. DLG Editor

    DLGEditor is a GUI based dialog viewer and editor for Star Wars: Knights of the
    Old Republic and Star Wars: Knights of the Old Republic II: The Sith Lords.
    The editor is divided into two panes. The upper pane contains the treeview
    portrayal of the dialog with NPCs speaking in red (Entries) and PC replying in
    blue (Replies). Upon highlighting the nodes of the tree, detail widgets appear
    in the lower pane containing node-specific information which can be edited.

    4,410 downloads

       (4 reviews)

    2 comments

    Updated

  7. DLL Files for Fair Stride's Tools

    These are the three DLL files my tools use, and rather than re-packaging them each time, I'm making them available here. To use them with my tools, you will have to have them in the same folder as the tool, OR follow these instructions:

    1,266 downloads

       (2 reviews)

    0 comments

    Updated

  8. End of Line Converter

    I recently discovered that KOTOR doesn't handle non-Windows EOLs. Issues can range from envmaps not working to the game crashing.
    This is a simple batch file that when dropped into your Override folder will convert the line endings on all of your .txi, .vis, and .lyt files.

    483 downloads

       (0 reviews)

    0 comments

    Submitted

  9. ERFEdit

    DISCLAIMER: I did not make ERFEdit originally. I did however receive the source code from Stoffe via PM at Lucas Forums, after telling her about a severe issue that needed to be fixed. I have fixed the issue and am now releasing the updated version of the tool.
     
    ERF/RIM Edit
    Version: v0.5
    Released: 2006-05-18
    Updated: 2007-03-11
    Updated_FS: 2017-03-19
     

    What is this?
    -------------
    This is a simple Packer/Unpacker/Browser for the ERF/MOD/SAV/HAK/RIM format files used by the bioware engine games Neverwinter Nights and Knights of the Old Republic. The resource type list is updated to handle some types of files used by the KotOR games that were not used by Neverwinter Nights.
     
    It is capable of creating new files or modify existing ones, as well as extract any resources found within the file. A simple search feature makes it easier to locate resources in the list within large ERF format files.
     
    The Description field is currently not shown or editable since it is not used with the KotOR games.
     

    User Interface shortcuts
    ------------------------
    You may drag and drop files into the list to add them instead of using the "Insert" button, or you may drag selected files from the list to the Desktop or a Windows Explorer window to extract them rather than use the "Extract" button. Selected files in the list can be deleted with the hotkeys Backspace and DEL in addition to using the Remove button.
     
    When dragging many or large files from the ERF/RIM file to the desktop (or a Windows Explorer window), keep the mouse button pressed until the progress bar has reached 100%, then drag the files to where you want them and let go. Hopefully I'll be able to fix this quirky behavior in the future.
     

    IMPORTANT!
    ----------
    New files/resources added to an ERF file are not actually added until you Save the file. Do not move, rename or delete any files you have added before you save the open ERF/RIM file, or the resource will not be added upon save.
     
    Resources in the list with an asterisk (*) following the ResRef are newly added and not yet saved into the file. These files cannot be extracted until the ERF file has been saved.

    5,771 downloads

       (2 reviews)

    0 comments

    Updated

  10. FindRefs GUI Utility

    From the thread on Lucasforums:
     
    FindRefs v4.4 6/23/2007
    A file search and extraction tool for KoTOR and TSL resources
     
    Icon by svösh!

    335 downloads

       (0 reviews)

    0 comments

    Updated

  11. GFF-Compare Utility

    From its thread on Lucasforums:
     
    This utility will compare two GFF files and output the differences found between them.
     
    There are two forms of syntax for this tool.
     
    Syntax 1: no parameters (or launched directly via Windows Explorer)
     
    This will call up a pair of Open File dialogs where you specify the two GFF files to compare. Then a Save As dialog will ask you where to save the output report.
     

    Syntax 2: gffcompare.exe "file1" "file2"
     
    This will compare file1 to file2 and send the output to STDOUT (which you can pipe or redirect).

    187 downloads

       (0 reviews)

    0 comments

    Updated

  12. GITEdit

    Warning:
    You will need three dlls, which can be found here. These will have to be in the same folder as JRLEditor, OR you can follow the instructions in the DLL link. This will work for all of my tools.
     
    Description:
    ====================================================================================
    This tool is called GITEdit and was created using Perl/TK. It is designed for Knights of
    the Old Republic and it's sequel, Knights of the Old Republic 2: The Sith Lords.
     
    This tool is designed for easily editing the .git file used by these games to
    keep track of a level's objects. The .git file keeps lists of variouse objects which
    should be spawned every time the module is entered, without conditions.
     
    With GITEdit, you can change the following:
     
    -Cameras
    -Creatures
    -Doors
    -Encounters
    -Placeables
    -Sounds
    -Stores
    -Waypoints
     
    For the Encounters and Triggers, you can also:
     
    -Edit the shape of the object's "pressure plate"/"activation zone"
    -Edit the number of points that make up the shape
    -Edit the number of spawn points(Encounters only)
     
    How To Use GITEdit:
    ====================================================================================
    To begin using GITEdit, you first have to open a .git file.
     
    You can browse for one by using the File Tree in the lefthand-pane, or by using the button.
     
    In regards to the File Tree, you can browse for a .git file from either game,
    regardless of whether it's in a .mod or .rim or in the override folder.
     
    Additionally, you can use the two buttons located directly under the tree to add or remove
    custom paths to the File Tree. Upon adding a path, GITEdit will scan that path for .mods,
    .rims, and .git files and add them to the tree.
     
    When you open the window to add a Custom Path, you can add an identifying label for use in
    the File Tree and then the path itself, which you can use the "..." button to select.
     
    When you open a .git file, information about the file's size, save time, and contents
    will be added to the File Info box. Also, the contents of each type of object will be
    added to their respective sections in the pane on the lower-righthand side.
     
    Upon selecting an item, an interface appropriate to the type is created.
     
     
    Credits:
    ====================================================================================
    Varsity Puppet, Bead-V, ZM90 ~-~ Beta-Testing
    UltimateBear, VP ~-~ Advice on layout
    Vriff ~-~ Help with radians...

    482 downloads

       (1 review)

    0 comments

    Updated

  13. GLIntercept: Freecam in Kotor

    Ever want to have freecam in Kotor? Now you can.
     
    This program is a free and open-source OpenGL function call interceptor providing a replacement wrapper (opengl32.dll) that exports all OpenGL entry points. When an OpenGL call is made, the GLIntercept wrapper processes it before passing the call onto the real OpenGL system.
     
    In plain English this means that using this program you can enable free-cam and wire-frame in KOTOR or KOTOR 2.
     
    This upload includes several preset camera speeds for ease of installation.
     
    A full tutorial on how to use this program will be available at https://www.youtube.com/c/xuul
     
    =====Installation=======
     
    1) Install GLIntercept via GLIntercept_1_3_3.exe
    2) Go to the folder where GLIntercept is installed
    3) Copy the OpenGL32.dll to the Kotor Directory
    4) Copy gliConfig_FreeCam.ini to the Kotor Directory
    5) Rename "gliConfig_FreeCam.ini" to "gliConfig.ini"
    6) Open a Camera Speed Preset folder
    7) Copy the config to "[install Directory]\GLIntercept_1_3_3\Plugins\GLFreeCam"
     
    =====Controls=======
     
    Press CTRL+SHIFT+C when in game to toggle freecam
    Press CTRL+SHIFT+W when in game to toggle wireframe
     
    O to reset Camera tilt
    P to reset Camera position
     
    If using a preset use the arrow keys to move the camera.
     
    =====Limitations=======
     
    You can only "see" areas that are in the frontward line of site of current PC character.
     
    =====Disclaimer=======
     
    Presets and instructions compiled by Xuul.
     
    www.youtube.com/c/Xuul
     
    GLIntercept from version 1.0+ uses the MIT License :
     
    Copyright © 2014 Damian Trebilco
     
    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
     
    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
     
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

    1,372 downloads

       (4 reviews)

    0 comments

    Updated

  14. Holocron Toolset

    This modding toolset is a work in progress and I carry no responsibility to any damage done to your game files or lost work that may occur. Some antiviruses will flag a false positive and prevent you from opening the application. If this happens you will need to configure your antivirus to allow the program to run.
    Holocron Toolset is a collection of modding tools packaged in a single application aimed at streamlining modding development for KotOR/TSL, drawing inspiration from Kotor Tool and the NWN Aurora Toolset. There are editors available for nearly every file type used by the game. Also included with it is a 3D module editor and a "Map Builder" which the user can use to create new maps by rearranging existing models already used in the game.
    Discord for suggestions + bug reports: https://discord.com/invite/3ME278a9tQ
    If you are running Windows 7 or 8 and get a missing DLL error when opening the program you will need to download the Visual C++ Redist from Microsoft.
    Toolset source
    File parsing source
     

    1,666 downloads

       (7 reviews)

    19 comments

    Updated

  15. HoloPatcher

    HoloPatcher is replacement for the old TSLPatcher tool. HoloPatcher offers an alternative that makes installing mods faster and is backwards compatible with any previous mods using TSLPatcher.
    For more inforrmation see:
    Installing mods with HoloPatcher Information for mod developers HoloPatcher is open sourc and can be found on GitHub.
     

    4,488 downloads

       (3 reviews)

    7 comments

    Updated

  16. JdNoa's AniCam (Beta 3)

    Part of the...

    AniCam
    Author: JdNoa - [contact info in read-me]
    Notes on dlg fields compiled from observations by Tupac Amaru, Dashus, and JdNoa.
    Tupac Amaru did most of the testing for this.  Thanks!
    Thanks also to tk102 for updating DlgEditor for us & Darth333 for passing it along quickly.  It made testing *much* less painful. 
    Thanks to several people for their notes/code about the mdl format: Torlack for notes on binary mdl and for NWNMdlComp, sorcerer for notes on ascii mdl, and cchargin for MDLOps.

    ---------------
    Version
    ---------------
    Beta 3 - Dec 1 2005
    History: beta 3 should fix the bug where cubic interpolation treats angles as numbers and so interpolates the wrong way across the 360 degree mark.
    ---------------
    Description.
    ---------------
    AniCam is an internal tool used by TSLRP (The Sith Lords Restoration Project).  It is being released to the public "as is".  There is no warranty, implicit or explicit, of any kind.
    AniCam is an animated camera editor for KotOR 2.
    Animated cameras are just models in a specific format.  AniCam lets you open & edit existing camera models or create your own.  You can then use the animated camera model in a .dlg.

    ---------------
    Installation
    ---------------
    Requirements:
        JRE 1.5 or newer.  (Developed with 1.5.0.04).
        AniCam will not run with JRE 1.4.
    Simply extract this zip to your preferred install location and run the jar file, AniCam.jar.

    ---------------
    Uninstallation
    ---------------
    Delete the files that came in the .zip, plus the configuration file anicam.conf (if it was created).

    ---------------
    1. How to use AniCam:
    ---------------
    --- 1a. Basics:
    Fill in your desired camera name and the length in seconds of the camera shot.
    Add entries for your camera.  An entry needs the time in seconds, position as x,y,z, and orientation as h,p,r.  (heading, pitch, roll).
    To add an entry, select "insert row" from the Edit menu or type ctrl-i.
    Orientation is done in degrees.  Straight ahead is (0,90,0).  Left is (90,90,0).  Right is (-90,90,0).  And so on.
    If you're getting position from WhereAmI, keep in mind that the Z location given is lower than what you see (I think it's the location of your feet).  You probably want to add 3 or 4 to get a shot at eye level.
    When you have all of your entries, select save from the file menu.  The files cameraname.mdl and cameraname.mdx (which is an empty file) will be created.  These can go in your override folder.
    To use the new model, set the camera model field in a dialog, then in the dialog entry/entries that will have the camera shot, set the CameraID to -1, use CameraAngle 4, and set CameraAnimation to a useful number (probably 1200 or 1000: see part 2 for details).
    An example:
    Entry  Time    x       y       z        h     p      r
    1          0.0    -70      20    3.5     0    90    0
    2          3.5    -70      30    3.5   70    90    0
    3          4.5    -70   31.5    3.5   50    45    0
    4          6.5    -72   31.5    3.0   30     0     0
    with animation length 7.5.
    This will (1) start looking straight ahead,
    (1)->(2) move along the y axis and rotate left,
    (2)->(3) rotate right and down while moving a little more along the y axis,
    (3)->(4) rotate right and point straight down while moving a little along the x axis,
    then (4) hold position for 1 second.

    -- 1b. Interpolation:
    If interpolation is selected, then when you save, extra intermediate entries will be generated to smooth out changes in position and orientation.  So, if your entries have the camera going straight forward, and then moving left, instead of an abrupt transition from forward to left, the camera will move in a curve.
    If interpolation is not selected, what you entered is what you get.  Sudden changes in direction will be abrupt.

    -- 1c. Importing:
    You can import from a binary model, an ascii model, or xml.
    For both binary and ascii models, I'm only looking for the data found in the standard animated camera models.  This means that there is a single node, called camerahook, with animations called CUT###W (where ### is a number, usually 001), which has positions and orientations.  The import routines can't handle anything else - no mesh nodes, no emitters, etc.
    (Note that, if you're looking at the original camera models, importing 003EBOcam.mdl will fail because they misspelled "camerahook" - the camera won't work in-game, either.)
    The XML import is *very* limited and has pretty much no error checking.  It was set up to import data from Excel.  If you enter your time, position, and orientation in Excel - like on the main screen for AniCam, but without the "entry" field - and then save as XML, you should be able to import into AniCam.

    ---------------
    2. Indices, Multiple Animations, and your Dialog
    ---------------
    -- 2a. Multiple Animations and their Indices
    One camera model can have multiple animations.  As a .dlg file can only have one associated camera model, this lets you do multiple animated camera shots in one dialog.  (An example: kreiatch.dlg in 301NAR uses 2 of the 3 animations from 301narcam).
    Each animation has a name of the form CUT###W, where ### is a 3-digit number.  The number should be 001 or greater.  If there is only one animation, usually the single animation is called CUT001W.  This is not required (101percam uses CUT002W).
    When you add an animation to your camera model, the ### is what you're putting in the "New Index" box - so if you enter 5 and click New Animation, you'll get a new animation called CUT005W.

    -- 2b. Some general notes on using animated shots
    1. Once you start an animated camera shot running, it *keeps* running, in real-time, even if you've switched to static shots.  If you do 'start animation'->static shot->'continue animation', the second animated shot will probably be at a different position/orientation if the user clicked to skip one of the earlier nodes in your dialog, or if they had to choose a response.
    2. Only one animation will run at a time.  If you 'start animation' with CUT001W, then 'start animation' with CUT002W, then 'start animation' CUT001W again, the final call will start back at the beginning of CUT001W's camera shot... it won't pick up where it left off the first time.  And if you do 'start animation' CUT001W -> 'start animation' cut002W -> 'continue animation' cut001W, the 'continue animation' will continue with cut002w, not cut001w.  Once you start a given animation running, it's the only one you can use until you start another one.

    -- 2c. Your .dlg file:
    Useful fields are Camera Model in your dlg header, and CameraID, CameraAngle, CameraAnimation, Delay, and WaitFlags in your entries.

    -- 2c.1 Camera Model
    In the dialog header ("General Properties" in DLGEditor), set the Camera Model to your new camera's name.  

    -- 2c.2 CameraID and CameraAngle
    Every node that is animated uses CameraID -1 and CameraAngle 4.
    (Although all the Obsidian .dlg's use CameraAngle 4, other CameraAngle values will also work.)

    -- 2c.3 CameraAnimation
    You also need a CameraAnimation field in each entry using an animated camera shot.
    CameraAnimation is where you specify which animation to use if you have multiple animations.
    'start animation' is 1200, 1201, etc.
    To start CUT001W running, use CameraAnimation 1200.  To start CUT002W, CameraAnimation 1201.  And so on.
    'continue animation' is 1000.  Or 1001, 1002, but...
    ...in the official .dlg's, at the very least, 1000, 1001, 1002, and 1401 are used - but testing doesn't show any difference in using them.  If you start with 1200, then call 1001, it's not going to jump to the other animation.  If anybody sees a difference between these, please let me know!

    -- 2c.3a Start/Continue and the end of the animation
    Your animated shot is 20 seconds long, but you gave the user a choice of responses in between animated shots, and they took 30 seconds to pick a line.  What do animated .dlg entries do after the end of the animation?
    If the entry is set to 'continue animation', it will hold the last position/orientation from the animation.
    If the entry is set to 'start animation', it will re-start the animation.  You could probably do some looping with this.
    If you reach a 'start animation' entry and the current animation hasn't finished, the behaviour depends on which animation you specify.  If it's the same one that's already running, it won't restart - it'll continue, acting like a 'continue animation' entry.

    -- 2c.4 WaitFlags
    If you set WaitFlags to 1 and use 'start animation', the entire camera shot (or the remaining portion) will be used in one entry.  This won't work if you use 'continue animation'.
    If you leave WaitFlags at 0, the camera shot will run for as long as the entry does, so you can either have VO or set the Delay field.
    (WaitFlags = 3 is used in kreiatch.dlg, but I've seen no difference between WaitFlags=3 and WaitFlags=0 in my testing).
    Setting WaitFlags doesn't block the user from skipping the entry.

    -- 2c.5 Delay
    If WaitFlags is not 1, the animated shot in your entry will last as long as the VO lasts, or for the length of your Delay field if it's set.  If there's no VO, like the long animated shot of the ruined Dantooine enclave, then you'll want to set Delay to specify how long your camera shot lasts.  Delay is set in seconds.  Note that if you set Delay=0, it seems to override your VO length, so it may skip lines.  If you're not using Delay it should be -1, not 0.

    -- 2c.6 CamVidEffect doesn't work
    CamVidEffect will *not* be applied to animated camera shots, but you can use a script to turn video effects on and off.  Check out the first two nodes in intro.dlg in 001EBO: they call a_video_effect to turn T3M4's freelook on and off.  (Notice that the developers tried to use CamVidEffect!)  The a_video_effect script simply calls EnableVideoEffect(VIDEO_EFFECT_FREELOOK_T3M4) or DisableVideoEffect().  Don't forget to disable your video effect, or it will stay on forever.

    ---------------
    3. Some examples from the original files:
    ---------------
    These are a few places where camera models are used in different ways:
    kreia_kr.dlg in 701KOR has a camera shot that spans several entries.  Under "{Intro to 701KOR...", it starts at "{Animated camera begins}" and ends at "{Angry at end...".
    kreiatch.dlg in 301NAR has an animated camera that plays intermittently.  It has animated angles followed by static angles followed by animated angles.  It also uses two different animations, CUT001W and CUT003W.
    enc_ruin.dlg in 605DAN consists of one long animated shot.

    43 downloads

       (0 reviews)

    0 comments

    Submitted

  17. JRL Merger by Stoffe

    Author: Stoffe
    (Original lucasforums post)
    I've put together a small utility that saves some time while combining the global.jrl files of different mods that use this file but don't come with a mod installer.

    It will currently take two global.jrl (Quest Journal) files and merge together any changes to existing Category fields in them, along with any new Category fields that have been added in either file. It will not handle any fields having been deleted from the standard global.jrl file, but I can't see any reason why anyone would want to do that. 

    It will also check the resulting merged file and warn you if multiple Categories have the same tag (which could happen if both mods use similar tags for new journal entries).

    You can get it here if you want it. Be warned that this is a test/beta version for now, it worked fine with a number of different modded global.jrl files I tested it with, but there may still be problems I haven't been able to spot yet. If you run into any problems using it please let me know so I can attempt to fix them.

    It will need an unaltered copy of global.jrl in addition to the two modded files that should be merged, to be used to compare against. This file can be extracted from the dialogs.bif file with KotorTool.
     
     

    417 downloads

       (0 reviews)

    0 comments

    Submitted

  18. JRLEdit - Journal Editing Tool

    Warning:
    You will need three dlls, which can be found here. These will have to be in the same folder as JRLEditor, OR you can follow the instructions in the DLL link. This will work for all of my tools.
     
    Warning Done.
     
    Well, I'm back with another modding tool!
     
    This time, it's a graphical editor for the Quest Journal in KotOR 1 and 2. It came about as a result of my seeing a 2005 request for one when browsing tk102's old threads at LucasForums...
     
    I'd like to thank a few people up front:
     
    ZM90: Letting me code the tool while working on K1R.
    Varsity Puppet: Critique and banter concerning the tool.
    HarIII: Critique and banter concerning the tool.
    Malkior: The AMAZING icon he made for the tool!
     
    JRLEdit allows you to quickly and easily edit the .jrl files used by the KotOR games. This file controls the Player's quests, and so is often modded with large projects.
     
    With JRLEdit, you have the quests in an organized list, and can delete certain parts with the click of a mouse, or open up the interface when you click on a quest. The interface allows right-click editing of most fields, and will parse TLK String References automatically with the current game's dialog.tlk file.
     
    The only difference in saving is that files are a few KB bigger, due to the program adding in a local string to every StrRef section...

    663 downloads

       (2 reviews)

    0 comments

    Updated

  19. K-GFF

    From the original thread on Lucasforums:
     
    K-GFF (GFF Editing Utility) v1.3.0 (Jan 8, 2008)
    Yet another GFF Editor...
     
    This one features some extra support for KotOR/TSL namely in the form of VECTOR and ORIENTATION fields. These field types, as you may recall, were not present when GFFEditor.exe was published on Bioware's web site. Consequently certain GFF files (eg.: .git, .ifo) would become corrupted by editing. K-GFF supports these fields, hence you will no longer need to use CamEdit if you edit a module's .git file. Support for StrRef fields (Field Type: 18) has also been added for Jade Empire modding as of v1.1.9.
     
    Another enhnacement over GFFEditor is the support for multiple CEXOLOCSTRING substring editing. It is now feasible for instance to publish a .dlg file with localized strings that is readable in all languages.
     
    Other little features include: rudimentary support for BINARY fields (you can import and export these fields to files to perform hex editing), Cut/Copy/Paste of nodes, optional TLK file integration so you can translate StringRefs if you choose.

    3,837 downloads

       (1 review)

    1 comment

    Updated

  20. K2Console - A Console For KOTOR 2

    DESCRIPTION
    This is a little tool that mimics the visible console from K1, in TSL. It's written in Python (I've attached the source code below).
    IMPORTANT NOTES
     - The tool does not work in fullscreen mode (for now). I'd like to fix this in the future, but for now it only works in windowed mode.
     - The tool doesn't connect to TSL at all - it's completely separate. This means that (for example) if you open the console in TSL with tilde, and then alt-tab out of TSL and press tilde again, K2Console will detect this but TSL itself won't (meaning K2Console and TSL will be out of sync).
     - If you get out of sync and/or want to start the program again, you can type "xxxxx" (five x's in a row) into the console while it's open, which will close the program. Then just run the file "k2console.exe" and it'll start up again. No need to restart TSL (but make sure the TSL console is closed when you start K2Console, or you'll still be out of sync).
     - This program works by reading your keyboard inputs and storing them to memory, which is also one way a keylogger might work - so your anti-virus might identify it as such. This code does not connect to the internet at all (you can verify this for yourself if you like). I haven't included the source with the program package to avoid cluttering your TSL installation, but I included it as a separate download below.
    INSTALLATION
    Unzip all three files into the same folder as swkotor2.exe (i.e. C:\SteamLibrary\steamapps\common\Knights of the Old Republic II\, or wherever your TSL installation is located).
    UNINSTALLATION
    Delete the three files "k2console.exe", "console.bat", and "steam_console.bat".
    INITIALIZATION
    If you use Steam: Instead of starting your game through Steam, you can start it by running the file "steam_console.bat", located in your TSL install folder.
    Otherwise: Start the game by running "console.bat", again located in your TSL install folder.
    USAGE
     - Whenever you press ` to open the console in TSL, the mimic console should pop up too. I tried my best to exactly match the behavior of the TSL console (e.g. when it keeps text vs clears it), but if you find any discrepancies please let me know so I can fix them.
     - If I did my job, you shouldn't really be able to tell that the console's not built into TSL, so just use it as normal (with the ability to see what you wrote!)
     - To close the program (not TSL, just the console), type "xxxxx" (5 x's in a row) into the open console (this won't work if the console's not visible). Alternatively, you can close the command line that opens when you run the .bat file.
    INCLUSION IN OTHER MODS
    I'm not sure why you'd want to include this in other mods, but if you want to, you're welcome to do so with appropriate attribution.
    CREDITS
    Thanks to Thor110 for the idea for this tool, and for helping out with testing and ideas (as well as taking the screenshot for me).
    k2console.py

    515 downloads

       (0 reviews)

    1 comment

    Updated

  21. KAurora

    Created by MagnusII, and uploaded with permission.
     
    Welcome to the KAuroraEditor. This tool will allow you to perform some operations on the resource files used by the Kotor games.
     
    Please do not disassemble, reverse engineer, copy, distribute etc. the program. The source code will be released with a later version along with the necessary license.
     
    ---------------------------------------------------------------------
    Disclaimer
     
    WARNING: this program comes with no warranty whatsoever. Use it at your own risk.
     
    This is an Alpha. It will have several bugs and problems. It has been preliminary tested on a few walkmeshes and models from Kotor I. I've used Gmax 1.2 and NWMax 0.7 to work with the exported ascii walkmeshes. Notice that the NWMax 0.7 AABB tree building algorithm is bugged and can enter into an infinite loop; I had to comment out the code to be able to work on some of the more complex walkmeshes. The program does not need the AABB data from NWMax anyway; it rebuilds its own AABB tree.
     
    ---------------------------------------------------------------------
    Installation
     
    You must have Microsoft .NET Framework 2.0 installed.
     
    You must have DirectX 9.0 SDK Update April 2005 or later installed. The redist will be enough.
    Note that if you have installed the latest DirectX update without having already installed the .NET Framework, some of the necessary libraries may be missing. If that is the case, install the Framework and then install a newer update. If you're already at the latest level, install the whole SDK.
     
    Once you have the prerequisites, just run the executable. Nothing else is required.
     
    ---------------------------------------------------------------------
    Using the program
     
    At present, the program has three main functions: it will allow you to extract most of the resources packed in the game files, to export and import the walkmesh (.WOK) files, and to load,render, and import the model (.MDL) files with the option of rendering the textures and the lightmaps.
     
    When you run the program, a window with a tree structure will appear, having the two main nodes "Kotor I" and "Kotor II".
    You can add the games' resources to the main nodes by simply selecting one of them, and then clicking on one of the menu items under "File". A window will appear; just select the appropriate file or directory and the relative tree will be built under the chosen node.
    To export a resource, simply double-click on its node and another window will appear. Click on the "Save As..." button to export the resource.
     
    ---------------------------------------------------------------------
    Walkmeshes
     
    The Walkmesh menu lets you load and save a Kotor walkmesh file, and it also gives the possibility of visually editing the room adjacency values.
    To load a walkmesh from a node, you must first select a node with the appropriate resource (i.e. a .WOK file). Once it is selected, simply click on the "Load From Selected Node" menu item and the walkmesh will be loaded in memory. You can also load a walkmesh from an ascii or binary file, without the need to build the tree first. Also, if you load a model file with a walkmesh in it, the walkmesh will be autoloaded.
    Once a walkmesh is loaded in memory, you can export it either in ascii or binary format by selecting the appropriate menu items. You can also clear the memory; the export items will be disabled.
     
    The "Render" option will open a DirectX window with a top-view rendering of the walkmesh, along with a drawing of the first perimetric line in the walkmesh. Edges hilighted in red are those with a room adjacency value different from "-1"; this means they are those edges which, once crossed, will bring you into another room. The room to which they lead is expressed as a zero-based index of the room list which you can find into the .ARE file of the area to which the walkmesh belongs.
     
    Some walkmesh files have several perimeters in them. If that is the case, hitting the up and down arrow keys will let you cycle through all the perimetric lines belonging to the walkmesh.
    Once you can see the perimeter you want, you can double-click on the edges [best results by trying to hit the edge center]; a window will appear, detailing the edge number along with its current adjacency value. You can change the value by choosing "Apply"; if the value is anything else than "-1", the edge will be hilighted in red.
     
    The "Refactor" option is mostly needed when you need to export a binary .WOK of a room having a displacement in the .lyt file, and you didn't load the walkmesh directly from the .WOK. Simply enter the coordinates you find in the .lyt file and hit refactor; the walkmesh will be translated to its new position.
    The initial coordinates you find when you open the refactor window represent the position of the walkmesh node.
     
    You don't need to refactor if:
     
    A) you loaded the walkmesh directly from the .WOK file, or from a file exported using the .WOK as the original source (the walkmesh is already expressed in absolute coordinates in the .WOK)
    you loaded a .mdl file, it had a walkmesh in it, and the position of the model in its .lyt file is (0, 0, 0). The walkmesh gets auto-translated to its absolute position based on the rest of the model nodes
     
    You *DO* need to refactor if:
    A) you loaded a .mdl file which had a walkmesh in it, and the model is translated according to the .lyt file.
     
     
     
    ---------------------------------------------------------------------
    Models
     
    At the moment, many of the model export and import functions are incomplete. The ascii export is disabled. They will be added in a future release.
    The binary export and ascii import are currently limited to models containing nodes of type: dummy, trimesh, walkmesh, and light. Lights will be imported in binaries without crashing the game, but I'm not sure they work properly. Only the first walkmesh in a model will be used for .WOK generation; second and subsequent ones will be ignored (and you shouldn't have them in the first place, anyway, as the game only uses 1 walkmesh/room).
     
    Select either Kotor I or II model format before loading the node.
     
    To load a model from a node, simply select the node in the tree. To load it from a binary file, you must have the respective .mdx in the same directory. Export is pretty obvious. Just one thing: if you reuse an existing file, the game overwrites the existing one WITHOUT DELETING IT first. So if the new file is shorter than the old one, your new file will have spurious extra bytes at the end. Bottom line: either change the name, or delete the old one before re-exporting.
     
    Select wether you want to visualize textures, lightmaps, or both before rendering the model. REMEMBER TO LOAD THE ERF FILES IN THE TEXTUREPACK DIRECTORY if you want to render textures, and the chitin.key if you want lightmaps; otherwise the program won't be able to find them.
     
    You can somewhat navigate the model with the arrow keys and the "u" and "d" keys. This will move the camera in fixed increments. It is not possible to rotate the camera at the moment. If nothing is shown on the screen, try to hit "u" a few times to rise the camera higher and get an increased field of view. The program tries to center the initial camera placement, but sometimes this works suboptimally and the model is off center.
     
    Right now only trimesh type nodes are rendered. This means no animations, no skinmeshes, no danglymeshes, no sabers, no lights, no emitters and no references. Sorry. On the plus side, area models do look cool in the rendering window.
     
     
     
    ---------------------------------------------------------------------
    Layouts
     
    Load a .lyt file from a node. You can now render all the rooms in the lyt at once. Selecting which one to render will be added in a future release (will be useful f.e. to keep the skybox from being included, since skyboxes are huge compared to everything else and they mess up the image proportions).
     
     
     
    ---------------------------------------------------------------------
    So, how do I export, modify, and import a walkmesh anyway?
     
    A simple procedure:
     
    - load the chitin.key file. All the walkmesh resources are in "models.bif"
    - select the one you want to change and load it. Take a note of which edges are red, and which values they have
    - export to ascii
    - load the ascii model using GMax with NWMax
    - modify it as needed, then export it back into ascii format
    - load the modified ascii with the editor. You'll see that no edge is hilighted anymore, as the adjacency info has been lost
    - use the render window to select the edges you took note of in the second step, and give them their old values back
    - export to binary, *using the same name as the original resource*, and put it into the override directory
     
    ---------------------------------------------------------------------
    What if I'm creating an area from scratch and I need a walkmesh?
     
    - create the area in GMax, including the walkmesh. Try to keep the walkmesh object as child of the root node (this is the default, so you shouldn't have problems on this)
    - export everything to an ascii file using NWMax scripts
    - import the ascii in the editor
    - choose refactor, insert the .lyt displacement coordinates, hit the button
    - manually insert edges adjacency if you need them (I trust you know which edges lead to which rooms in the area you just made....)
    - export to a binary .WOK file as above
     
    ---------------------------------------------------------------------
    I want to create an area!
     
    Do everything as above, and also binary export the model to produce the mdl and mdx files. Note that if your area is new (i.e. you're not "overwriting" an existing area and recycling its other files) you will also need at a minimum:
    - the .lyt file (just look at another one, figuring it out is pretty easy)
    - the .vis file (as above)
    - you'll need to build a .MOD file containing the .ARE, .GIT and .IFO and put it INTO THE MODULES directory (NOT the override one....). Of course the values in these files should be changed to reflect your new area (e.g. the room struct should contain a list of your new models...)
    - put the value "16777215" in the sun diffuse and sun ambient fields in the .ARE file. This will give you a nice white sun. Otherwise, without lights and lightmaps, you'll find yourself in the "absolute pitch black night which doesn't render textures"
    - when you apply a texture to the mesh, use only UV mapping types which do not change the number of verts (i.e. planar). If the number of tverts is different from the number of verts (you can check it pretty easily by looking at the ascii file exported from NWMax), your texture will be messed up. This is because having tverts verts needs additional processing which will be added in a future release

    663 downloads

       (1 review)

    0 comments

    Updated

  22. Knights of the Old Republic Character Generator

    A program to generate a character at random to play with in Kotor 1 and Kotor 2
     
    Also available in Browser https://animal31.itch.io/kotorgenerator

    1,813 downloads

       (3 reviews)

    0 comments

    Updated

  23. knsscomp

    The knsscomp application is intended to be a cross-platform alternative to the various versions of nwnnsscomp that support compiling scripts for KotOR.
    If you are using Windows, I would recommend sticking with nwnnsscomp as that is the far more tested and stable solution for compiling script files. That is unless you wish to aid in the development, then continually using knsscomp will help find out bugs and make it stabler program overall.
    If you do encounter an issue with a compiled (such as the script not working the way intended in-game) and you have access to nwnnsscomp, then it is recommended to see if it works correctly if compiled with that program instead. If you believe the issue is with knsscomp itself, send the script file to Cortisol on Deadlystream or Discord and he will investigate.
    This compiler has the include scripts and nwscript data embedded within the program and so it is not necessary to bundle them in the app folder. You can, however, include nwscript with the knsscomp as a way of the program automatically determining what game version.
    The optimize flag currently does nothing and is there as a placeholder for future versions to use.
     

    28 downloads

       (0 reviews)

    1 comment

    Updated

  24. Kotor AutoTranslate Tool

    Translate an entire mod or KOTOR install to 80 languages using Google Translate!
    This is a very powerful tool that can modify TLK strings and CExoLocStrings in GFFs in bulk quickly. Simply follow the prompts, point it to the GFF/TLK/Kotor directory/whatever and have it automatically translated to the language of your choice!
    This tool can also create those bitmap 'font packs' that users have been using to play the game in non-released languages (Many thanks to Drazgar and DarthParametric for providing the insight into the TXI files). This means the in game text will show the correct characters when playing the game.
    How to use:
    Simply run the executable. It'll ask you many things. There are 3 actions you can do with this:
    Set all dialog unskippable       sets all dialog found in dlgs, at the chosen path, to unskippable. Includes every node. Not recommended lol
    Translate                                     Will translate All CExoLocStrings (localized strings) and TLK entries at the path to the language(s) of your choice
    Create Fonts                               Will create fonts of the chosen languages to your current directory in a folder named after the language. Just drag and drop these files to your Override folder once it completes.
    If you point PATH1 to a KOTOR install, it will ONLY patch the Override folder, the Modules folder, the rims folder (if exists), and the dialog.tlk file. This was a design choice to improve how long the patcher takes to finish. This includes any subfolders within the aforementioned folder names.
    The patched files will be in the same directory as the original files with the appended language suffixed to the end of the file. For example, 'dialog_de.tlk'. You will need to rename them as their original filenames to activate them.
    Supported filetypes/formats:
    TalkTable files (TLK) Any GFF file (DLG, UTC, etc) TGA/TXI (non-translateable obviously) Any capsule (ERF, MOD, etc)  
    DBCS languages such as Japanese/Korean/Chinese are not currently supported.
    This program is in beta. Please report any bugs you encounter.
     
    Source code:
    https://github.com/NickHugi/PyKotor/tree/master/Tools/BatchPatcher
     
    Credit:
    @Cortisol for creating the PyKotor library
    @DarthParametric for extensive testing and feature recommendations.
    @Drazgar for providing a ton of knowledge in regard to the TXI/TGA font packs
    The project would not be possible without these awesome modders.
    K1-translated dialog files:
    dialog_es.tlkdialog_sq.tlk dialog_af.tlk dialog_ar.tlk dialog_ay.tlkdialog_cs.tlkdialog_corsican.tlkdialog_chichewa.tlkdialog_catalan.tlkdialog_bulgarian.tlkdialog_belarusian.tlkdialog_basque.tlkdialog_azerbaijani.tlkdialog_aymara.tlkdialog_arabic.tlkdialog_albanian.tlkdialog_afrikaans.tlkdialog_da.tlk

    306 downloads

       (1 review)

    0 comments

    Updated

  25. KOTOR Dialog Editor

    This is a visual dialog editor for KOTOR and TSL. It's currently in alpha, so if you're planning to use it for your mods just be aware that there might be (i.e. will be) bugs.
    COMPATIBILITY
    I am unaware of any compatibility issues with the DLGs created by this editor, but that doesn't mean there aren't any because this is an early alpha release. Please let me know if you experience any issues.
    INSTALLATION STEPS
    1. Download the ZIP file, and unzip it into a folder (it doesn't create one on its own - I hate it when zips do that ).
    2. Copy your "dialog.tlk" into the folder alongside the file "app.exe" - I included the "dialog.tlk" file for KOTOR (as "kotor.tlk"), and for TSL (as "tsl.tlk"), but if you're using any mods which edit "dialog.tlk" for the game you're working on (e.g. using TSLRCM), you'll need to replace it with your own copy. You can find the "dialog.tlk" file in the same folder as the base executable for your KOTOR/TSL installation. If it's for KOTOR 1, rename the copy of "dialog.tlk" you put into your app folder to "kotor.tlk". If it's for TSL, rename your "dialog.tlk" to "tsl.tlk". Don't change the name of dialog.tlk inside your actual KOTOR/TSL installation, as that will break the game. Only change the name of the version you copied into the KotOR Dialog Editor install directory (alongside "app.exe").
    34 Run "app.exe"
    UNINSTALLATION
    Delete all the downloaded files.
    USAGE INSTRUCTIONS
    General Usage
     - Create a new dialog file (for KOTOR 1) by pressing the "New" button, or open an existing DLG file using "Open"
     - Save dialog files using the "Save" button (there's no auto-save, nor does ctrl-s work - I'll make it work eventually)
     - Once you open a dialog file, you'll see some panels:
         - The top-left panel contains the "actions" list, which is a set of actions you can currently take.
         - The bottom-left panel contains "link" information when you select a response which is linked to the current response.
         - The top-middle panel contains NPC dialog (entries)
         - The bottom-middle panel contains player dialog (replies)
         - The right panel contains metadata for the selected response (strref, text, script, etc.)
    Some Important Terminology
    To understand what the actions do, you'll need to know the following terminology (some of which I made up, so please read this even if you're a pro):
     - Response: A line of dialog, spoken either by an NPC or the player (I sometimes call this a "node" too)
     - Entry: A line of NPC dialog
     - Reply: A line of player dialog
     - Start: A possible entry point for the dialog (always points to an entry, never a reply)
     - Link: Responses are linked to one another through "links"
     - Metadata: The general dialog data (things like the script that should run when the dialog ends, etc,.)
     - Selected response: The response which is highlighted in orange - this is preserved when navigating (until you select something else)
     - Current response: The response you last navigated into.
     - Copied response: The response you last selected "Copy Selected Node" on.
    Actions:
    The panel in the top-left corner contains a list of actions you can perform to edit your dialog. I'll try to describe the actions as well as I can here, but honestly the best way to learn the software is just to try it out:
     - Back To Start: Go back to the start of the dialog you're currently in
     - New Response: Create a new response (either an entry or a reply, depending on context)
     - Unlink Response: Removes the link between the selected response and the current response
     - Copy Selected: Sets the selected response as the copied response
     - Paste Into Start: If you have an entry as your copied response, and have selected a start response, it makes the start response point to the copied response
     - Paste As Link (Link): Adds a link from the current response to the copied response
     - Move Selected Up/Down: Moves the selected response up or down (respectively) by one level in the dialog evaluation order (for player dialog, this changes the order of the dialog lines they can choose from; for NPCs, the first line in the evaluation order whose "Active" script is either blank or returns TRUE is selected as the NPC's line)
     - Step Back/Forward: Move back/forwards in your dialog history (so you can easily go in/out of replies without restarting the dialog)
    FAQ
    I did x and it crashed/broke my DLG/set my PC on fire
    Yeah, this is alpha software and I need some people to test it out. Please let me know what broke the software so I can fix it.
    I'm clicking responses but nothing's happening
    You need to select responses for both the player (the bottom screen) and the NPCs they're talking to (the top screen). If this info doesn't fix your problem, let me know so I can look into it.
    I can navigate through the dialog, but how do I edit things?
    You left click on dialog lines to navigate through them, or right click on them to "select" them. Once a line is selected, you can edit it in the window to the right, edit the link between it and the current dialog node on the bottom-left panel, or copy it to another node by navigating to that node and pressing "Paste Into Current (Link)".
    The navigation seems to work, but I can't see the actual dialog text
    Make sure you have the correct "dialog.tlk" file in the same folder as "app.exe". If this doesn't solve the problem, please let me know so I can look into it.
    Cool app. Ugly, though...
    Yeah, I'm working on it, and I'm open to suggestions for making the UI cleaner/better/easier to use.
    DLGEdit's faster to use/better in some other way
    This isn't meant to be a replacement for DLGEdit - DLGEdit's power comes from the ease at which you can change an existing DLG into exactly what you want. Although this tool can do that too, it's designed for easily/naturally building DLGs from scratch rather than doing minor edits in existing DLGs, while having to actually run the dialog in KOTOR/TSL as little as possible (to avoid the time it takes to load the games and get to the conversation).
    FUTURE FEATURES
     - Flow chart view
     - Animation selection
     - More testing, bug fixes, etc.
    KNOWN ISSUES
     - If you create a link from node A to node B, and node A already has a link to node B, the dialog editor doesn't know which one you want to select when you right click and does weird things (e.g. always selecting the bottom-most copy, even when you right click on another copy). Will fix this asap.
    INCLUSION IN OTHER MODS
    Anyone who wants to use this in their mod is free to do so, with appropriate attribution.
    CREDITS
    This mod is created by me (lachjames). Thanks to Thor110 for helping me test it out.
    Thanks to the Xoreos team for allowing us to include xoreos-tools with this mod. We use the gff2xml and xml2gff tools from xoreos-tools to read and write the DLG files. Xoreos-tools is licensed under the terms of the GNU General Public License v3; more information can be found here.

    856 downloads

       (0 reviews)

    0 comments

    Updated