Modding Tools

55 files

  1. KotOR SaveGame Editor

    KotOR Savegame Editor is a Perl/Tk application used in the editing of
    Star Wars: Knights of the Old Republic savegame files.
     
    The following fields are currently editable:
    - Savegame name
    - Player name
    - NPC Name
    - Appearance (player and party)
    - Portrait (player and party)
    - Attributes
    - Skill Ranks
    - Equipment (player and party)***
    - Feats (add/remove)**
    - Powers (add/remove)**
    - Cheats Used flag
    - Hit Points (current and max*)
    - Force Points (current and max*)
    - Experience Points (player and party)
    - Good/Evil rating
    - Credits
    - Time played
    - Class (see notes below)**
    - Levels
    - Current Party
    - NPCs
    - Global Booleans
    - Global Numerics
    - Gender
    - Min1HP
    - Inventory**
    - Influence (TSL only)
    - Chemicals (TSL only)
    - Components (TSL only)
    - Quests
     
    *=Note: Max Hit Points and Max Force Points, while editable appear to be calculated
    at the time the savegame is loaded. Therefore while these fields are editable, the
    game will change the values back to what it calculates as correct. It is therefore
    better to change your Wis/Cha and Con to affect your MFP and MHP.
     
    ** Not supported on Xbox Saves, will cause "Damaged Savegame" message.
     
    *** See special section for detailed instructions
     
    -----------------
    Credits
    -----------------
    tk102 for originally creating the KSE.
    Pazuzu156 for reporting the issue with the Cloud saves, as well as helping fix it and setting up a mirror for and creating the auto-updater.
    Chev Chelios for much discussion of how Steam worked, as well as creating the INI-Generation tool, KPF.
    -----------------
    Before Using KSE
    -----------------

    ---------------
    Intro to KSE
    ---------------

    -------------
    Using KSE
    -------------

    ---------------------------------------------
    Override Folder: Subdirectories NOT supported
    ---------------------------------------------

    -----------------------------
    Notes About Feats and Powers
    -----------------------------

    -------------------------
    Reminder: No Safety Net!
    -------------------------

    -----------------------------------------------
    Notes regarding Class-changing/Adding/Removing
    -----------------------------------------------

    --------------------------------
    Notes regarding changing levels
    --------------------------------

    -------------------------------
    Notes about changing equipment
    -------------------------------

    ===============
    Known Bugs
    ===============
    No saves found (You have Steam KotOR 2 and use cloud saves)
    -----------------------------------------------------------
    Go to your KotOR 2 folder and make a folder called "saves".
    Inventory Hiccup
    ------------------
    If an item is added to your inventory and it has the same Tag as another item, KSE
    will generate an error.
     
    Getting Stuck During Vision Sequence (KotOR1)
    ----------------------------------------------
    Symptom: After leaving the Endar Spire or Leaving Taris, you run into a sequence
    where you should be seeing a "dream" cutscene but instead you're locked up in a
    room with a "CutStart" object that doesn't do anything.
     
    Cause: You have NOT placed the modified .dlg files into your override directory
    and you have changed your character to a Jedi/Minion/Droid class or you have
    changed your Gender to something other than Male or Female.
     
    Fix: Download the KSE Fixed Cutscene Files (available from http://www.pcgamemods.com/8800 )
    and place the .dlg files into your Override folder.
    ==============================================
     
    After changing appearance to look like (an NPC), the real NPC has no head!
    ---------------------------------------------------------------
    Symptom: You change appearance to look like one of your party NPCs and all is well
    until you attempt to enter a new area with that NPC. Then the NPC loses its head!
     
    Cause: SW:KotOR doesn't like two unique characters appearing together.
     
    Fix: From T7Nowhere's post on Holowan Labs--

    ===============================================================
     
    Equipment Section
    ------------------
    Due to an unknown bug, the Equipment branch might become unusable.
     
    The only fix is to restart KSE.
    ==================
    Please report bugs to zxcvbnm6012@yahoo.com
     
    11/7/13 - In addition, please report bugs to tristongoucher@gmail.com Thank you. - Fair Strides.

    237,293 downloads

       (23 reviews)

    14 comments

    Updated

  2. KOTOR TOOL

    THIS PROGRAM IS MADE BY FRED TETRA I TAKE NO CREDIT FOR THIS PROGRAM,
    i also have some of the map files from the site if any one has more pm or email me, ill upload them here.
    here is the original readme for this program.
     
    Kotor Tool v1.0.2210.16738 (2006-1-19 12:38)
     
     
    About this program...
     
    I originally wrote this tool so I could experiment with 2DA files and scripts.
    Through feature suggestions, it has grown quite a bit into what many tell me
    is a pretty handy utility.
     
    Thanks to all of those who have taken the time to make those suggestions and put
    up with the occasional bug that creeps in at 2:00 in the morning!
     
    -----------------------------------------------------------------------------------------------
     
    Requirements...
     
    I should (and will!) mention in the readme file that you need to have
    the Microsoft .NET Framework 1.1 installed.
     
    You can get it at:
    http://download.microsoft.com/download/a/a/c/aac39226-8825-44ce-90e3-bf8203e74006/dotnetfx.exe
     
    -----------------------------------------------------------------------------------------------
     
    Contact info...
     
    fredtetra@hotmail.com
     
    -----------------------------------------------------------------------------------------------
     
    Quick start instructions...
     
    Unzip the kotor_tool.exe, ImageTools.dll files and the Maps folder to a directory.
     
    The first time you run the program, it will attempt to
    detect where you have installed KotOR and configure
    some of the directory paths it needs to work. It will
    then bring up the path management screen so you can verify them.
     
     
    To work with BIF files:
    Expand the BIFs item on the tree view.
    You can:
     
    - Select any *.bif file from the tree view, then click
    Extact to extract every file in it to a directory
     
    - Select any file in a bif, then click Extact to extract
    it to a directory
     
    - Select any file in a bif, then click Hex View to see
    it in Hex/ANSI/Unicode
     
    - Double-click on any 2da file to bring up the editor for it.
    You can then edit the values and write the file to a directory.
    (Most likely the override folder in yout KotOR folder)
    Clicking on the column header in the editor grid will sort it
    based on the values in that column. Repeated clicking will
    change the sort direction.
     
    - You can also open the 2da v2.b file editor from the File menu
    for editing. NOTE: You do not have to open the chitin.key file first.
     
    - 2DA editing features:
    * Add line to end, delete any line, right click
    to insert new line. Be careful with those last two!
     
    * You can renumber the row labels from the right-click menu
     
    * Undo all changes
     
    * Reset sort to "as opened" mode (press F5 or use menu
     
    * Import and export your 2da files in XML format
     
    - Double click on any nss/vis/txi file to bring up the editor for it.
    You can then edit the text and write the file to a directory.
     
    - To extract a .mdl (Model) file, double click on it; the model will be
    extracted and converted, along with any required TGA-format textures.
    NOTE: You must have CChargin's Extract0-5 program installed in the
    same directory as Kotor Tool.
     
    To work with RIM files:
    Expand the RIMs item on the tree view.
     
    - Select any *.rim file from the tree view, then click
    Extact to extract every file in it to a directory
     
    - Select any file in a rim, then click Extact to extract
    it to a directory
     
    - Double-click on almost any file in a rim to launch the GFFEditor,
    assuming you have installed it in the kotor_tool directory
     
    - Control-Double-click on almost any file in a rim to launch text editor
    with a syntax-colored version of the GFF file's contents
     
    - Shift-Double-click on almost any file in a rim to launch text editor
    with a plain-text version of the GFF file's contents.
     
     
    To work with ERF files:
    Expand the ERFs item on the tree view.
     
    - Select any file in a rim, then click Extact to extract
    it to a directory
     
    - Double-click on almost any file in a rim to launch the editor for it.
     
    - TPC files now can be viewed with the built-in image viewer. You can also
    save the files in TGA format from the viewer.
     
    - If you like using the keyboard to navigate the treeview, you can use the
    spacebar to open the Image Viewer with a TPC file selected.
     
    - If the Image Viewer is open, moving up and down the list of TPC files
    with the arrow keys will show each image in turn. Note: some files cannot
    yet be viewed.
     
    - To view tpc files in an external app, hold down the Shift key while
    double-clicking. You need tpc2tga and an image viewer. (see below)
     
    - Some tpc files have a format that is not yet understood. Attempting
    to view one of these files may either show a strange image or
    crash the program.
     
    Notes:
    * You can specify whether or not you want to automatically convert extracted .tpc files to TGA format
    from the Tools | Options... menu. This is only used with the external tpc2tga program.
     
    * If you also want to be able to view the .tpc files using an external program
    you must install a TGA file viewer and specify the path to it in the Path Manager.
    You can download a free TGA viewer at http://www.creabit.com/viewer/
     
    * You can specify whether or not you want the BIF tree built at
    program startup or not from the Tools | Options... menu.
    If you leave the checkbox unchecked, the BIF portion of the
    tree view will only be built when you attempt to expand it.
     
    Want to unlock all of the movies and music in KotOR II:TSL?
    In your swkotor2.ini, set the following:
     
    [Game Options]
    UnlockedPlanetSongs=1023
     
    [Movies Shown]
    Movie10=0
    Movie 9=0
    Movie 8=0
    Movie 7=31
    Movie 6=255
    Movie 5=255
    Movie 4=255
    Movie 3=255
    Movie 2=255
    Movie 1=255
    Movie 0=255

    49,894 downloads

       (12 reviews)

    2 comments

    Submitted

  3. TSL Patcher, TLKEd, and Accessories

    Inside this download, you will find several VERY useful tools. Almost all of these were made by stoffe originally and the only alteration I made was to make sure TSL Patcher did NOT check for the presence of the dialog.tlk file to verify the path you're installing the mod to. This was done to allow installing mods to the Workshop folders.

    Of note in this package are three files:
    1. ReadMe, really.pdf - A read-me file that really should be read if you want to understand how to do something with the TSL Patcher.
    2. nwnnsscomp.exe - A modified script compiler that TSL Patcher uses to substitute tokens (such as .2da row pieces) in source scripts (.nss files) and then compile the scripts.
    3. nwscript.nss - As far as I'm aware, the nwscript.nss file from KotOR 2, required by nwnnsscomp.exe to compile scripts.

    Below are the original release thread descriptions for stoffe's work and I honestly don't think I could put it better than she already did years ago.

    TLK Ed:




    TSL Patcher (along with ChangeEdit):




    A few quick "how to" examples:
    Insert new branches into DLG files.
    ( http://web.archive.org/web/20150911133933/http://www.lucasforums.com/showpost.php?p=2135535&postcount=177 )
     
    Install a New Player Appearance mod.
    ( http://web.archive.org/web/20150929073207/http://www.lucasforums.com/showpost.php?p=2168405&postcount=201 )

    Troubleshooting:
    Q: I get a RichEdit line insertion error when trying to install mods. What's wrong?


    A: It seems a few people have odd versions of the RichEdit DLL files installed in their system that doesn't play nice with the colored text box component TSLPatcher uses. To work around this you could try to replace the RichEd DLL files with versions that should work. Extract the two DLL files from this archive and put them in your Windows\Windows32 folder. Move existing files with those names to a safe location first so you can restore them if this causes other problems! Do not overwrite them!

    Alternatively, if you don't want to mess with your DLL files, you could force TSLPatcher to use a plain text box for status messages rather than the colored/formatted one. To do this, use Notepad to open the changes.ini file found inside the tslpatchdata folder that came with the mod you wish to install. Under the [settings] section, change the value of the key PlaintextLog from 0 to 1. Q: I'm not seeing any Install Mod button, and the text field in the TSLPatcher window seems to extend behind the window boundraries.


    A: This odd problem some people experience seems to be tied to what screen resolution and pixel density is being used in your monitor settings, but I have been unable to replicate it or figure out exactly what's going on. As a workaround you can "click" on the Install button by using it's quick keyboard command. Pressing the [ALT] keys on your keyboard should start the installation process. Q: When trying to install a mod it complains that it's not a valid installation location. What's wrong?


    A: Make sure you are selecting the folder the game is installed in, not the override folder, when the TSLPatcher asks you where to install the mod. Q: When trying to install a mod it complains that access was denied to the dialog.tlk file.


    A: Make sure that your dialog.tlk file is not write protected. This file is found in the same folder as the swkotor.exe binary. To check if it's write protected and undo it, right-click on the file, pick Properties in the context menu and uncheck the write protected checkbox.

    Original update history (ordered newest change first):


     

    9,309 downloads

       (5 reviews)

    1 comment

    Updated

  4. 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,311 downloads

       (2 reviews)

    0 comments

    Updated

  5. 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,104 downloads

       (4 reviews)

    2 comments

    Updated

  6. 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,537 downloads

       (1 review)

    1 comment

    Updated

  7. MDLOps

    -----------------------------------------------------------------
    -->--
    -----------------------------------------------------------------
     
    -------------------------
    -->--
    -------------------------

     
     
    -----------------
    -->--
    -----------------
    This script is released under the GPL, see the included
    GPL.txt.
     
    ----------------
    -->--
    ----------------
    MUCH MUCH MUCH thanks to Torlack for his NWN MDL info!
    Without his info this script could not exist!
     
    Thanks to my testers:
    T7nowhere
    Svosh
    Seprithro
    ChAiNz.2da
     
    Thanks to all at Holowan Laboratories for your input
    and support
     
    file browser dialog added by tk102
     
    AABB, animations, lights and emitters, and speed-up by JDNoa
     
    Calculations of vertex and face normals by VP and Fair Strides

    1.0 version by ndix UR, thanks to bead-v for inspiring many of the added
    features, figuring out a number of critical format algorithms, and sharing
    the journey
     
    -----------------------
    -->--
    -----------------------

    This is a Perl script for converting
    Star Wars Knights of the Old Republic (kotor 1 for short)
    AND Star Wars Knights of the Old Republic, The Sith Lords (kotor 2 for short)
    binary models to ascii and back again.
     
    Binary models are converted to an ascii format compatible
    with NeverWinter Nights.

    It can also do some other operations on models,
    like renaming textures and replacing meshes.
     
    ------------------
    -->--
    ------------------
    -Automatic detection of binary model version
    -Automatic detection of model type
    -node types supported:
    -trimesh
    -danglymesh
    -lightsaber
    -skin
    -emitter
    -light
    -reference
    -dummy
    -model properties supported:
    -diffuse
    -ambient
    -shadow
    -render
    -alpha
    -self illumination
    -many, many more
    -supports compile/decompile pwk/dwk/wok walkmesh files
    along with their associated models
    -when reading in a binary model a text file is created
    that lists all the textures the model uses.
    -replacer function lets you replace 1 tri-mesh in a binary
    model with another tri-mesh from an ascii model
    -renamer function lets you rename textures in a binary
    model

    read the tutorials "KotOR_Tutorial.txt" and "Quick_tutorial.txt"
    for an explanation of how to get your models into kotor
     
    ----------------------------
    -->--
    ----------------------------

     
     
    -------------------
    -->--
    -------------------

     
     
    -------------------------------------------
    -->--
    -------------------------------------------

     
     
    --------------------------------------
    -->--
    --------------------------------------

     
     
    ----------------------------------
    -->--
    ----------------------------------
    This script may only be hosted from sites that do not claim
    ownership of files they host. In other words, any site that
    claims "All files submitted to this site become property of
    the site owner" can not host this script.
     
    You are free to host this script from your website as long
    as the distribution contains only the files listed below.
     
    You are free to submit this script to any public download
    site as long as the distribution contains all the files
    listed below.
     
    GPL.txt
    icon.bmp
    KotOR Tutorial.txt
    mdlops.exe
    mdlops.pl
    MDLOpsM.pm
    Quick_tutorial.txt
    readme_mdlops_1-0.txt
    replacer_tutorial.txt
     
    I also ask that if you do host or submit this script to a
    site send me an e-mail to let me know. My e-mail address
    is at the top of this file.

    3,449 downloads

       (5 reviews)

    0 comments

    Updated

  8. 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,226 downloads

       (1 review)

    3 comments

    Updated

  9. KotOR Scripting Tool - 2021

    About Kotor Scripting Tool
     
    Kotor Scripting Tool is my attempt at a scripting interface for nwnnsscomp.exe.
    I originally designed this tool to aid me in my scripting efforts back in the day. My desire was to create a scripting tool with some of the creature comforts that today's coders have come to expect. The core features that were important for me were the ability to have NWScript function name Auto Completion and Syntax Highlighting. If anyone is interested in helping to extend its functionality be sure to check out the link to the GItHub repo below.
    Anyways that's enough rambling for now!
    Happy Modding!
     
    Features include:
    Compile .nss Scripts
    Syntax highlighting
    AutoComplete Suggestions (Beta)
    Tabbed Text Editor
    Advanced Find & Replace
    Browsable nwscript function list
    Browsable nwscript constants list
     
    Zip Archive
    Download and extract the zip file. Once extracted navigate to the directory and run Kotor Scripting Tool.exe
     
    This program was compiled in C# with version 4.0 of the .NET Framework if you do not already have it downloaded you will need to download it [here].
     
    The source code has been released on my GitHub account https://github.com/KobaltBlu/KotOR-Scripting-Tool.
     

    3,028 downloads

       (6 reviews)

    2 comments

    Updated

  10. KotORBlender

    KotORBlender 1.01 for Blender
     

    2,241 downloads

       (4 reviews)

    0 comments

    Updated

  11. KotorBlender (for Blender 3.3+)

    This add-on is a fork of KotorBlender, upgraded to support newer versions of Blender. KotorBlender is in turn based on NeverBlender, forked from version 1.23a.
    ## Features
    - Import & export MDL models, including walkmeshes
    - Import & export LYT files
    - Import & export PTH files
    ## Installation
    1. Clone this repository or download the latest release of KotorBlender from Deadly Stream
    2. If you have cloned the repository, create a ZIP archive containing the **io_scene_kotor** directory
    3. From Edit → Preferences → Add-ons in Blender, install the add-on from the ZIP archive and enable it by ticking a box next to "Import-Export: KotorBlender"
    4. Alternatively, if you want to contribute to KotorBlender, you may want to create a symbolic link to the local repository in the Blender add-ons directory, typically located at `C:/Users/{user}/AppData/Roaming/Blender Foundation/Blender/{version}/scripts/addons`.
      1. `mklink /D io_scene_kotor {repo}/io_scene_kotor`
     
    ## Usage
    ### Data Preparation
    Extract models, textures, walkmeshes, LYT and PTH files into a working directory, using a tool of your choice, e.g. reone toolkit. Recommended directory structure:
    - *data* — extract all BIF archives here without subdirectories
    - *texturepacks*
      - *swpc_tex_tpa* — extract swpc_tex_tpa ERF archive here
    If you plan to edit textures, batch-convert TPC to TGA / TXI files using **reone toolkit**, although TPC textures are also supported by KotorBlender.
    ### Model Import and Export
    1. Import via File → Import → KotOR Model (.mdl)
    2. Select top-level MDL root object to be exported
    3. Export via File → Export → KotOR Model (.mdl)
    ### Editing Animations
    To edit list of model animations and corresponding events, select MDL root object and navigate to Object → KotOR Animations. KotorBlender supports both object and armature-based edits. To create an armature from objects, navigate to KotOR Animations → Armature and press Rebuild Armature and Apply Object Keyframes. Before exporting a model, make sure to copy armature keyframes back to objects by pressing Unapply Object Keyframes.
    ### Lightmapping
    1. Select objects for which you want lightmaps to be recreated, or unselect all objects to recreate all lightmaps
    2. Press KotOR → Lightmaps → Bake (auto)
    UV mapping:
    1. Select objects having the same lightmap texture and enter Edit mode
    2. For every object, ensure that `UVMap_lm` UV layer is active
    3. Select all faces and unwrap UVs via UV → Lightmap Pack, increase Margin to avoid face overlapping
    Fine-tuning:
    1. Increase lightmap image size via UV Editing → Image → Resize
    2. Tweak ambient color via Scene → World → Surface → Color
    3. Manually toggle rendering of objects in Outliner and press KotOR → Lightmaps → Bake (manual)
    4. In Scene → Render, set Device to GPU Compute to improve performance, set Render Engine to Cycles if not already
    5. In Scene → Render → Sampling → Render increase Max Samples to improve quality

    ### Minimap Rendering
    1. Press KotOR → Minimap → Render (auto)
    2. Open "Render Result" image in Image Editor and save it as "lbl_map{modulename}.tga"
    3. Open "MinimapCoords" text in Text Editor and copy-paste generated properties into module .ARE file using any GFF editor
    Fine-tuning:
    1. Tweak background color via Scene → World → Surface → Color
    2. Manually toggle rendering of objects in Outliner and press KotOR → Minimap → Render (manual)
    ### Connecting Rooms
    1. Select a room walkmesh
    2. Enter Edit mode and select two vertices adjacent to another room
    3. Determine 0-based index of the other room into the LYT file
    4. Enter Vertex Paint mode and set brush color to (0.0, G, 0.0), where G = (200 + room index) / 255
    5. Ensure that brush blending mode is set to Mix, and brush strength is set to 1.0
    6. Paint over the selected vertices
    ### Editing Paths
    1. Extract PTH file from the module's RIM file, e.g. "modules/danm13_s.rim" (Kotor Tool, reone toolkit, etc.)
    2. Import PTH into Blender via File → Import → KotOR Path (.pth)
    3. Create/move path points, or modify path connections via Object Properties
    4. Export PTH via File → Export → KotOR Path (.pth)
    ## Compatibility
    Known to work with Blender versions ranging from 3.3 to 4.0.
    ## License
    GPL 3.0 or later

    2,066 downloads

       (2 reviews)

    0 comments

    Updated

  12. MDLedit

    MDLedit is a (de)compiler for KOTOR and KOTOR2 model files.
     
    Which version should I download?
    There are two packages on the download page. They differ in whether the program uses Visual Styles or not. The difference is purely visual, they are completely equivalent in terms of functionality. The version in the mdledit_v0.0.0xp.zip package will work on Windows XP or newer as well as on MacOS through Wine, but it will look like crap. The version in the mdledit_v0.0.0.zip package will look better, but will only work on Windows Vista and up.
     
    How do I set it up?
    Open the .zip archive, extract the .exe and run it. If you want MDLedit to keep track of your option between sessions, create a blank mdledit.ini file in the same folder as your .exe.
     
    How do I use it?
    The program comes with a help documentation window accessible from the About menu, read that to learn how to use it. If something is not mentioned there please let me know in the relevant thread (link to be added) and I will explain the functionality and add the explanation to the help window for the next version.
     
    MDLedit was designed to be used with KOTORmax and the new version of KotORBlender by ndix UR. Using the ascii model files that it produces with NWmax will cause data to be ignored in the best case and a crash in the worst.
     
    The program crashed/froze/reported a weird error!
    Describe your issue in the relevant thread and I will look into it. Attaching a .zip archive with the files that MDLedit was processing when the problem appeared is also very welcome.
     
    Thanks
    A big thank you goes out to ndix UR, without whom MDLedit would have maybe half the functionality it has now.
    I would also like to thank the testers, who also made a lot of great suggestions that made MDLedit that much better:
    – DarthParametric
    – JCarter426
    – Quanon
    – VarsityPuppet
    – FairStrides
     
    The program was built on the knowledge about the MDL format, which is the result of the work of many modders, including CChargin, Magnusll, JdNoa, ndix UR, DarthSapiens, VarsityPuppet, FairStrides, and others! Thank you for your efforts!
     
    Lastly I'd like to thank the KOTOR modding community, which makes taking the time to make such a tool worth it.

    2,062 downloads

       (10 reviews)

    0 comments

    Updated

  13. Knights of the Old Republic Character Generator

    A program to generate a character at random to play with in Kotor 1 and Kotor 2

    1,765 downloads

       (3 reviews)

    0 comments

    Updated

  14. KotOR Toolset

    You see before you the culmination of eight months of effort, or there about.
     
    This is a PUBLIC BETA of a new KotOR Toolset, whose central focus is as a level-editor. This means that the tool's main job is to edit levels, and to go along with this, I've built editors for most of the games' file types: UTC, UTD, UTE, UTM, UTP, UTS, UTT, UTW, ARE, IFO, GIT, and NSS.
     
    The Toolset cannot do the following things yet: UTI files, DLG files, anything beyond extracting models, no texture support whatsoever (no viewing, no extracting, nothing), and no support for walkmeshes of any kind (.wok, .dwk, and .pwk).
     
    This Toolset should be intuitive and easy to use, or at least that is my sincere hope. I've taken great pains to label mostly everything in layman's terms and also to explain things whenever I can. Most people wouldn't know the amount of effort and time I've put into this project, but it's all I can do to hope that people find it useful, easy to use, and most of all, helpful to new modders.
     
    The documentation is rather sparse at the moment, but I hope that I (or any volunteers...) can expand on things later on, as well as continuing development.
     
    Lastly, this is a PUBLIC BETA!!! I am expecting bugs and errors, so please by all means report them.
     
    Credits:
    Bioware -- For their NWN documentation PDFs on most of the file formats, which I referenced heavily (and ripped off some screencaps of in the read-me. )
     
    tk102 -- For creating the programming libraries I've used to create this Toolset. Otherwise, I'd have been lost in a lot of backtracking...
     
    Sithspecter, LiliArch, 90SK, Malkior, Dastardly, Logan23, Rece, and Canderis -- Support, advice, and more than a few talks asking for opinions on how something looked, or how best to design this or that piece. Also, most of them helped out in a Private Beta earlier this month.
     
    Sithspecter -- Icons used in the Area View. He just couldn't stand those colored circles I'd been using...
     
    Logan23 -- Initial testing and advice from the perspective of a heavy user.
     
    If there's anyone I forgot, please mention it and I will correct this issue.
     
    Permissions:
    You are allowed to use this program for any use, so long as it isn't illegal and is not for profit. In addition, if you were to produce a mod using this tool, I'd greatly appreciate a mention in the read-me.
     
    You ARE NOT allowed to re-upload this program anywhere without my express permission. If I want it up somewhere, I will upload it there myself, thank you very much.

    1,647 downloads

       (10 reviews)

    0 comments

    Submitted

  15. tga2tpc

    tga2tpc
    Author: ndix UR
    Release: Sep 2020
    Version: 4.0.0
    Convert TGA images to TPC format for use in KotOR and TSL.
    TPC files contain the information from a TXI file (so the TXI file is no longer needed when a TPC file is used), and can be uncompressed or compressed with either DXT1 or DXT5.
    Advanced features like animation and cubemap layering are initiated by the presence of specific TXI directives like cube 1 and proceduretype cycle.
    For some reason, the game really wants normal maps to be in TPC format. This will let you create and use full 32-bit color normal maps without having to make them into simple height maps by using indexed color.
    The tool is free, open source, and cross-platform. Code is available at https://github.com/ndixUR/tga2tpc
    The app is written in javascript, built on Electron using three.js, jquery, bootstrap. It includes a ported version of the AMD/GPUOpen Compressonator image compression library.
    ============================================================
    How do I set it up?
    Windows: unzip the package, run tga2tpc.exe
    Mac: unzip the package, move tga2tpc.app to /Applications, run it
    * This is not a signed application, so you have to do whatever is required to run non-MAS applications on your MacOS version.
    ============================================================
    How do I use it?
    Drag files in and hit start. There shouldn't be much more to it than that. Using power-of-2 sized textures is always required for optimal quality, TXI information is optional, and the settings are pretty much self-explanatory. The nature of TPC alpha blending is not necessarily intuitive so you may need to seek information to use it properly.
    Compressor settings:
    Super Fast - the lowest quality setting, uses the pre-4.0.0 image compressor that includes the 'compression failure' error for long conversion queues Fast - Bare bones setting Normal - Runs two profiles and selects the best result, adaptive color weighting Slow - Deeper refinement of the color palette for each 4x4 pixel block Ultra - 3D refinement of the color palette for each 4x4 pixel block How Automatic encoding mode selects encoding for each texture in the queue:
    24bpp TGA = DXT1 32bpp TGA = DXT5 8bpp TGA = 8bpp uncompressed isbumpmap1 or compresstexture 0 in TXI data = 24 or 32bpp uncompressed ============================================================
    Features
    Create cubemaps Create animated textures Automatic compression selection based on trends from the vanilla game High quality DXT1/5 compression engine using custom ported version of AMD/GPUOpen Compressonator Multi-core image compression on systems with 4 or more cores Horizontal/Vertical flip, for those pesky wrongly oriented TGA files Bicubic downsampling for mipmaps (precomputed lower detail versions of the texture, part of the TPC format) Control texture alpha blending setting (part of TPC format), can be loaded from TXI file comments of the form: "# alphablending 0.67"
    Known Issues
    Cannot create uncompressed animated textures. Super Fast compressor has a memory leak issue, leading to errors for long conversion queues Using 4:1 and wider size ratios for individual frames of animated textures seem to crash the game. 2:1 is fine, 1:4 is fine, etc. Only for converting from TGA to TPC. For TPC to TGA, use Kotor Tool, xoreos-tools, tpcview, etc. Progress bar doesn't update as often as you might want. The package size is large. This is the cost of easy cross-platform GUI support. All electron applications are large like this. You are likely to have problems trying to read TGAs from folders containing markup entities/encoded characters (like ') ============================================================
    Thanks
    DarthParametric for inciting the creation of this tool, and doing the testing.
    DrMcCoy and all the contributors to xoreos, whose TPC decoding implementation provided the basis for the TPC library herein.
    bead-v for moral support.

    1,578 downloads

       (3 reviews)

    0 comments

    Updated

  16. tpcview

    View and export Odyssey Engine proprietary texture formats.
    A lightweight, somewhat quick viewer for textures in TPC format, or the proprietary header DDS format used in Aurora and its descendants.
    Also provides a capability to export to TGA, which is useful when you find images that won't convert via any other tool.
    The viewer aspect is a bit of an afterthought, as for the longest time this was just where I tested my TPC=>TGA conversion code. However, over time, I found myself wanting a simple viewer that could preview a lot of images at once, so this happened.
    The application is cross-platform, available for macOS and Windows.
    The app is written in javascript, built on Electron using three.js.
    ============================================================
    How do I set it up?
    Windows: Download the '-installer' file, unzip the 7z package, run tgaview Setup <version>.exe
    Mac: unzip the package, move tpcview.app to /Applications, run it
    * This is not a signed application, so you have to do whatever is required to run non-MAS applications on your MacOS version.
    The application provides file associations for TPC & DDS files. Hopefully the DDS association will not override any you may already have for non-proprietary DDS files.
    ============================================================
    How do I use it?
    Viewing
    Drag files in. They should show up. The files you drag in fill the window in a list that generally resembles the file input order. They all show at once, so there's a moderate memory requirement around loading many files at once. For example, loading the 5210 TPC files from TSL takes 2.25G memory on my machine, your mileage will vary.
    Mouse over images to get info about them in the window's title bar. Click images to toggle scaling the image to fit the window and viewing the information about them in the info panel at the bottom of the window.
    Double click the background of the window to clear all loaded images.
    Exporting
    Use modifier keys while dragging in order to get Export as TGA functionality. A description of the export activity you are requesting shows up in the info panel at the bottom while you are dragging. Export will occur while the file is being loaded. You cannot export already open images without dragging them in again.
    Files are exported into same directory as original TPC files being dragged, THEY WILL OVERWRITE EXISTING TGA FILES WITHOUT WARNING.
    When a TPC file is exported to TGA, a TXI file will also be generated if the original TPC file contained such information.
    When adding alpha blending value to TXI output, only non-1.0 values will be added (as 1.0 is considered default).
    ============================================================
    Features
    View TPC format 32bpp, 24bpp, and 8bpp compressed and uncompressed images View Aurora proprietary DDS format 32bpp and 24bpp compressed images Export to TGA Export TXI files containing the texture extension information from TPC files Export all detail levels (mipmaps) present in original image file (can help debugging image compressors) Add an alpha blending value from the TPC header into exported TXI file outputs, i.e. '# alphablending 0.67' File association for TPC and DDS formats with provided file type icons

    1,573 downloads

       (3 reviews)

    3 comments

    Updated

  17. KOTORmax

    KOTORmax is a plugin for 3ds Max and Gmax that allows importing and exporting of ascii model files for KOTOR and KOTOR2. KOTORmax is directly extended from NWmax by Joco.
     
    How do I set it up?
    Open the .zip archive, the instructions are in the readme file.
     
    How do I use it?
    Check for tutorials in the Tutorials Section. A lot of the basic functionality is exactly the same as with NWmax, so most of the tutorials should help you with using KOTORmax. As for the new functionality, it is now up to the community to create new tutorials for it.
     
    KOTORmax was designed to be used with MDLedit and the new version of MDLOps by ndix UR. Using the ascii model files that it produces with an older version of MDLOps will cause data to be ignored in the best case and a crash in the worst.
     
    What's different from NWmax?
    – Support for all known properties of the Odyssey MDL Format. All NWN functionality that is irrelevant for the KOTOR games removed.
    – Ambient texture (lightmap) import/export. Experimentally also vertex colors as well as texture0 and texture1 UV coordinate import/export.
    – Support for bezier animation controllers.
    – Lightsaber mesh object.
    – New Anim Editor, Key Ops, Constraint Editor, Visibility Editor, Roomlink Editor and improved Anim Mapper.
    – LYT and VIS file Import and Export.
    – Game smoothing preview.
    – Sanity check now adapated to KOTOR models.
    ... and much more!
     

    Max crashed/froze/reported a weird error!
    Describe your issue in the relevant thread (link to be added) and I will look into it. Please explain in detail exactly what you were doing when the error occurred. Also include any relevant files in your post.
     
    Thanks
    A big thank you goes out to ndix UR, without whom KOTORmax wouldn't even exist. A big thanks also to Joco for allowing me to build on NWmax and release it as KOTORmax.
    I would also like to thank the testers, both for their patience when I was dealing with very persistent bugs and for all the suggestions that helped make KOTORmax what it is now:
    – DarthParametric
    – JCarter426
    – Quanon
    – VarsityPuppet
     
    Lastly I'd like to thank the KOTOR modding community, which makes taking the time to make such a tool worth it.

    1,292 downloads

       (5 reviews)

    0 comments

    Submitted

  18. 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,284 downloads

       (4 reviews)

    0 comments

    Updated

  19. 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,240 downloads

       (6 reviews)

    18 comments

    Updated

  20. 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,192 downloads

       (2 reviews)

    0 comments

    Updated

  21. TLK->Text Converter(Vice-Versa)

    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.
     
    This simple set of commandline tools will allow you to convert a .tlk file to .txt, with some simple formatting, and back again, with ease.
     
    It will allow you to simply edit a dialog.tlk file with Notepad(or any other text program), which opens up options for copy-and-paste, replace, and finding certain info quickly.
     
    The tool has been confirmed to work with languages other than English, so no worries.

    1,038 downloads

       (1 review)

    0 comments

    Updated

  22. KOTOR Font Tool (NWN Font Maker)

    I take no credit/responsibility for this tool. you will need to generate and rename files for a complete font-set.
     
    link to original nwn page
     
    originally made by Richard O'Doherty-Gregg
     
    Original Readme:
    I felt that uploading this here is appropriate, seeing as the original nwvault is down (where this file was originally uploaded)

    1,004 downloads

       (1 review)

    0 comments

    Updated

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

    971 downloads

       (4 reviews)

    0 comments

    Updated

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

    922 downloads

       (3 reviews)

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

    747 downloads

       (0 reviews)

    0 comments

    Updated