Modding Tools

55 files

  1. Lightweight GUI Patcher

    A very simple CLI-based tool that'll take a folder of GUIs made for one resolution and patch them to work for another resolution. Please report any bugs.
    Simply input the path to the GUI file (or folder of GUI files) and the output location, your desired resolution, and let it work.
    Credit:
    Cortisol for PyKotor (90% of the code)
    DarthParametric for testing and brainstorming the idea

    7 downloads

       (0 reviews)

    0 comments

    Updated

  2. 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'.
    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/k_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_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

    71 downloads

       (0 reviews)

    0 comments

    Updated

  3. KotOR II Switch modding framework

    For full details, usage instructions, and bug reports — please use the GitHub project associated with this file.
                                       
    This project is a group of tools to make modding the Nintendo Switch version of Star Wars: Knights of the Old Republic II (aka. KotOR II) easier, less confusing, and less cumbersome.
    With these tools, we can now finally enjoy mods like The Sith Lords: Restored Content Mod (and others) on Nintendo Switch!
    These scripts are by no means necessary, but they will help prevent common issues that can occur, especially when dealing with Aspyr's odd file structure in their port, the port's built-in .tpc override files, and the localized folder structure on the Nintendo Switch.
    Based on and inspired by jacqylfrost's work! Appreciate your insight as I worked through this.
    NOTE: these modding tools will ONLY work for modded Nintendo Switches.

    127 downloads

       (0 reviews)

    0 comments

    Updated

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

    808 downloads

       (3 reviews)

    7 comments

    Updated

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

    23 downloads

       (0 reviews)

    1 comment

    Updated

  6. SaberMaker for KotOR and TSL

    This is a simple Python utility that lets you create new lightsaber textures for KotOR and TSL. Note that (especially in KotOR) creating a new lightsaber colour requires more steps than this - a future project will make this a one-click process for users, but for now I'm releasing this as a standalone tool for mod developers.
    Installation
    You should have Python 3 installed. There are no other dependencies. Just download and unzip the zip archive from this page, and you should be good to go!
    I'll be releasing a Windows .exe version at some point. If you're not comfortable using the Python script, either wait for that or ask me (or one of the many helpful people on DeadlyStream) to make your lightsaber textures for you.
    Usage
    Run the script editor.py using Python, with a command like
    "python editor.py".
    This will open up the editor. You can choose the glow and core colours for the saber texture, and then save it using one of the bottom two buttons. The texture will then be saved in the current directory.
    Bugs
    There might be some bugs, but it's a pretty simple script and it seems to work fine.
    FAQ
    The lightsaber looks dark in-game!
    For a bright lightsaber, you should select a colour with both Saturation and Brightness parameters set to 100% (in the second tab in the colour picker). Then you can use the Hue slider to choose a colour.
    Can I use this for my mod?
    Sure, feel free to use the textures for your own mods! I'd appreciate it if you credit this tool for helping create the lightsaber textures.
    Can I redistribute this program in its entirety (with or without attribution)?
    Please don't redistribute this program elsewhere on the internet. I will keep it here, so you can point people to it.
    How do I take this texture and put it straight in the game (not as part of a mod)?
    I'm working (along with others on DeadlyStream) to make an "end-user version" of this tool, as part of a larger modding project. Stay tuned!
    The lightsaber core looks weird!
    You should probably leave the "Core" colour to its default value (pure white) to get lightsabers that look like the ones from the base game. But if you want to experiment, the option to change the core colour is there!

    123 downloads

       (0 reviews)

    0 comments

    Updated

  7. 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,229 downloads

       (6 reviews)

    18 comments

    Updated

  8. reone toolkit

    toolkit is a GUI application that can be used to preview, extract, edit and create KotOR and TSL resources. Part of reone engine project.
    ## Features
    Extract BIF, RIM and ERF archives Create RIM, ERF or MOD archive from directory Preview and export almost every resource type, including 3D models, images and audio files Export TPC as TGA / TXI Export encoded WAV as regular WAV / MP3 Visually edit 2DA, GFF, TLK, LIP, SSF, NCS and plaintext files Decompile NCS to NSS-like pseudocode Compose LIP files from text and audio files https://github.com/seedhartha/reone/wiki/Tooling

    292 downloads

       (1 review)

    0 comments

    Updated

  9. 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,051 downloads

       (2 reviews)

    0 comments

    Updated

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

    742 downloads

       (0 reviews)

    0 comments

    Updated

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

    452 downloads

       (0 reviews)

    1 comment

    Updated

  12. SithCodec

    Introduction
    The audio files of Star Wars: Knights of the Old Republic and Star Wars: Knights of the Old Republic II – The Sith Lords (KOTOR) contain extra headers of what seem to be superfluous data that obfuscate access to the original audio outside of the video games. Most audio software will refuse to open the files, or interpret the extra bytes as audio data, leading to glitches. It has also been observed anecdotally that files lacking an appropriate header may fail to playback in certain releases of the games.
    SithCodec is an application that can automatically detect and remove an extraneous header from a KOTOR audio file, or alternatively prepend a KOTOR header to a standard audio file and allow for the introduction of new audio content to these games.
    Running SithCodec
    SithCodec requires Windows (32-bit or 64-bit). Make sure to extract SithCodec to a folder where you have read & write permission. The code is not signed (because code signing costs an extortionate amount of money) so your firewall may warn you about running an unrecognized application. Commands
    Commands in SithCodec are executed by combining keywords into certain command sequences that the application recognizes. Input may be passed as command-line arguments when SithCodec is launched, or entered manually through a command- line interface if the application is launched without any command-line arguments.
    Keywords may be entered in short form (dash followed by a single letter) or long form (double dash followed by a full word).
    SithCodec keywords are not case sensitive, but—depending on your operating system—other data that you input may be, such as the names of files.
    Help Screen
    Entering -h or --help will display the help screen, showing a list of all keywords and their function.
    -d, --decode decode audio -e, --encode encode audio -f, --format set output audio format -m, --music streammusic format -s, --sfx streamsounds format -v, --vo streamwaves/streamvoice format -a, --all all files -l, --list list files & formats -i, --in input path -o, --out output path -h, --help display this menu -c, --commands display list of commands -x, --examples display example commands -q, --quit exit application Commands Screen
    Entering -c or --commands will display a screen with the list of all valid commands.
    -d -i=[input path] -d -i=[input path] -o=[output path] -d -a -d -a -i=[input path] -d -a -o=[output path] -d -a -i=[input path] -o=[output path] -e -f -[format] -i=[input path] -e -f -[format] -i=[input path] -o=[output path] -e -a -f -[format] -e -a -f -[format] -i=[input path] -e -a -f -[format] -o=[output path] -e -a -f -[format] -i=[input path] -o=[output path] -l -l -i=[input path] -l -o=[output path] -l -i=[input path] -o=[output path] Examples Screen
    Entering -x or --examples will display some example commands.
    Encode all files in SFX format from the input path, to the output path:
    -e --all -f --sfx- -i=in_folder -o=out_folder  Decode a file, outputting to a new file:
    -d -i=oldfile.old -o=newfile.new Decode a file without specifying output, possibly overwriting the original:
    -d -i=file.wav List all files & formats in a given directory, printing to the console:
    -l -i=my_folder List all files & formats in the current directory, printing to a file:
    -l -o=file.txt Batch Files
    SithCodec comes with batch files that are set up with commands for some common operations.
    decode.bat
    This file will decode all files located in a folder called "in" (no matter what their format) and save the new files in a folder called "decoded".
    encode_music.bat
    This file will encode all files located in a folder called "in" and save the new files in a folder called "music".
    encode_sfx.bat
    This file will encode all files located in a folder called "in" and save the new files in a folder called "sfx".
    encode_vo.bat
    This file will encode all files located in a folder called "in" and save the new files in a folder called "vo".
    Copyright
    SithCodec is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
    SithCodec is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
    You should have received a copy of the GNU General Public License along with SithCodec. If not, see https://www.gnu.org/licenses/.
    All trademarks (including logos and icons) are used for identification purposes only and are the property of their respective owners.
    Star Wars and related items are trademarks and/or copyrights of Lucasfilm Ltd. SithCodec is not affiliated with or endorsed by Lucasfilm Ltd., their subsidiaries, associates, or employees, or any Star Wars license holder.
    Donations
    If you enjoy my mods and would like to show your support in a monetary manner, you may do so via PayPal with this donation link.
    For various legal and ethical reasons, this is entirely optional and is not a requirement to downloading or using any of my mods. I also do not create specific mods for hire.
    I make mods as a hobby and will most likely do so regardless of any donations or lack thereof, but modding does take up a lot of my time and every bit helps.

    653 downloads

       (6 reviews)

    0 comments

    Updated

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

    41 downloads

       (0 reviews)

    0 comments

    Submitted

  14. Quanon's Modeling Tutorial (Part 3)

    Part of the...

    From Sith Holocron: Only Part 3 of this tutorial was found at JumpStationZ.  Hopefully, there's enough in here to be helpful to somebody.

    94 downloads

       (1 review)

    0 comments

    Updated

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

    385 downloads

       (0 reviews)

    0 comments

    Submitted

  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,564 downloads

       (3 reviews)

    3 comments

    Updated

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

    482 downloads

       (0 reviews)

    0 comments

    Submitted

  18. 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")
     

    277 downloads

       (0 reviews)

    0 comments

    Updated

  19. Odyssey++

    Overview
    Odyssey++ is a set of user-defined languages for Notepad++. Based on Fancy Colors – NWScript support in text editors, Odyssey++ has been updated for the Odyssey Engine games Star Wars: Knights of the Old Republic and Star Wars: Knights of the Old Republic II – The Sith Lords. It seeks to replicate the basic features you’d expect from an integrated development environment, such as syntax highlighting and autocompletion, to make scripting for these games more convenient. When you write scripts using Odyssey++, the program will color-code everything you type and make suggestions based on terms specific to the NWScript language.
    Features
    Syntax Highlighting – Words are color-coded based on their role in the NWScript language. Data types, operators, functions, constants, labels, strings, and comments are assigned different colors. This makes it clearer how the parts of your code interact, making it clearer what your code is actually doing, and also helps you make sure you typed things correctly. Code Folding – Text contained within { braces } can be folded and unfolded again. This lets you hide clutter when reading your code and helps keep track of whether you’ve closed everything you’ve opened. { Autocompletion – As you type, you’ll get suggestions for functions, constants, and other terms in the NWScript language. If you choose one of these suggestions by hitting TAB or ENTER, the program will finish typing it for you. This will save you a few precious keystrokes and ensure you don’t misspell things. Parameter Hints – When you type a NWScript function, a window will pop up showing all of the function’s parameters, their default values, and a description of the function from the developer comments in nwscript.nss. File Association – Whenever you open or save a .nss file, Notepad++ will switch to one of Odyssey++’s user-defined languages. Games Supported
    Star Wars: Knights of the Old Republic
    Star Wars: Knights of the Old Republic II – The Sith Lords

    315 downloads

       (1 review)

    0 comments

    Updated

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

       (1 review)

    3 comments

    Updated

  21. 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,571 downloads

       (3 reviews)

    0 comments

    Updated

  22. 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,286 downloads

       (5 reviews)

    0 comments

    Submitted

  23. 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,049 downloads

       (10 reviews)

    0 comments

    Updated

  24. KotOR Stuff

    KotOR Stuff provides several tiny command-line tools that each perform a small task. With scripting, these tools could be used to simplify batch processing or support other tools that perform more complex tasks.
     
    Currently three tools are included:
    bif - Extract assets from KeyTable/BIF repositories erf - Extract assets from ERF/MOD/SAV and HAK repositories tpc - Convert TPC files to PNG or PNG files to TPC. Use command line options to select which side of a cubemap, what frame of a cycle animation or which mip map to convert. Can also list TXI attributes if any are present.

    309 downloads

       (2 reviews)

    0 comments

    Updated

  25. 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,283 downloads

       (5 reviews)

    1 comment

    Updated