seedhartha 116 Posted April 1, 2021 View File 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 Submitter seedhartha Submitted 04/01/2021 Category Modding Tools Quote Share this post Link to post Share on other sites
seedhartha 116 Posted June 13, 2023 Command-line reone-tools have been converted to a GUI application. Hopefully will be useful to some. 1 1 Quote Share this post Link to post Share on other sites
seedhartha 116 Posted June 25, 2023 Released version 0.2 of the toolkit, most significant improvement being in NCS decompilation. Decompilation now happens in four steps: Compiled script is parsed into assembly-like list of instructions Instruction list is converted into equivalent language-agnostic expression tree Expression tree is optimized for readibility, making a heavy use of inlining Optimized expression tree is converted to pseudo-NWScript code Decompiler tries to convert instructions into expressions in the most straightforward manner and does not rely on specific instruction patterns produced by the Bioware compiler. Downside is that it doesn't yet know how to detect loops and structures, hence the output is only a pseudo-code and cannot be compiled without some manual refactoring. Known issues: Decompiler hangs on some large scripts, in particular combat-related Comparison between version 0.1 and version 0.2 of the decompiler: 1 Quote Share this post Link to post Share on other sites
seedhartha 116 Posted November 22, 2023 reone toolkit version 0.3 has just received a new tool. LIP Composer is a complete replacement of CSLU Toolkit and LipSynchEditor, enabling modders to create LIP files from text and audio files. And it does a better job, too. From my experiments, LipSynchEditor and derivatives incorrectly translate phonemes to LIP shapes. Most noticeably, shape 0 is being interpreted as phoneme EE, while if you look at the animation, it is clearly supposed to be rest position. LIP Composer algorithm is the following: Analyze the audio file and find continuous spans of silence, controlled by parameters min silence duration and max silence amplitude Split text into word groups, ignoring punctuation. By default, whole text is considered a single group. User can create groups by wrapping multiple words in parentheses. Match word groups to non-silent sound spans, indicated by white lines on the waveform. Number of word groups must be equal to the number of sound spans. Within each word group, convert words into phonemes using open-source CMU Pronouncing Dictionary, and evenly spread phonemes across the corresponding sound span. For every word that is not present in the CMU dictionary, user can add it's phonemes in the Pronounciation tab. Finally, convert phonemes to LIP keyframes, also creating rest keyframes for each span of silence. From my testing, resulting LIP files are almost undistinguishable from original ones. 1 Quote Share this post Link to post Share on other sites
Salk 368 Posted November 22, 2023 Thanks for this new release, seedhartha! Quote Share this post Link to post Share on other sites
seedhartha 116 Posted December 23, 2023 Starting with version 1.0 of the toolkit, it is now possible to visually edit 2DA, GFF, TLK, LIP, SSF, NCS and plaintext files. After opening a resource in resource explorer and making your changes, click "File" → "Save copy as..." and choose destination directory, e.g. Override, to save the modified resource. As for future plans, focus is mostly on raw resource extraction, preview and editing. Visual template editing (e.g. UTC), dialog and module editors are out of scope for this project, even though I am toying with some ideas for high-level tools. Quote Share this post Link to post Share on other sites