TlkEdit-EE icon indicating copy to clipboard operation
TlkEdit-EE copied to clipboard

Future direction of TlkEdit

Open calgacus opened this issue 4 years ago • 1 comments

@Mingun Are you familiar with Nivs Tools, I'm wondering if it may be time to write a new tool that uses these tools under the covers - maybe even just a VSCode extension. Or if maybe we can use them under TlkEdit and simplify the TlkEdit code base by removing much of the file IO.
Niv's tools can extract, read and transform game files to basic txt and csv files which we could then manipulate and then Nivs tools could again be called to repack the content into game file formats.
What do you think? Are there any features you want to add to TlkEdit that we could not add to such an application?

calgacus avatar Oct 07 '19 20:10 calgacus

Yeah, I found this project, I haven 't worked tight with it yet. I have no plans to learn yet another language, now I have interests in other languages :).

I was already thinking about developing plugin for my favorite IDE NetBeans, however I do not think that for such kind of tasks it is necessary to use external tools. Reading files is the simplest part, so I do not think, that we will get much benefits if we stop supporting that code. Actually, I hope to extract all file parsing code to the separate library, that will not depend on GUI, however this is future task. However, it will be useful to support reading the formats that Nivs Tools uses

My planes:

  • Improve support for spell checking -- untie spell check language from NwnLanguage. By that way supporting Russian language is became possible. I already known, how to do that
  • Eliminate local dependencies
    • At least we can switch to swingx-0.9.3 right now without breaking changes, version 0.9.4 remove some classes, that useв by TlkEdit
    • May be switch to language-tool, because I fail to find sources for currently used jmyspell jar.
  • Improve 2DA editor
    • Popup editor for StrRef's
    • Combobox for ResRef's
    • Share implementation with NearInfinity. For that reason I plan to extract 2DA to separate library
    • Add more 2DA schemas, not only for spells.2da and baseitems.2da
    • Add masters to add new spells, items, itemproperties and so on
  • Improve TLK editor
    • Add ability to determine category of each string -- it is used as name/description/for creature/for item/etc. This is useful for search when you know where string is appear in the game and give some context to translator
    • Share implementation with NearInfinity. For that reason I plan to extract TLK to separate library
    • Add ability to compact TLK file -- delete holes in StrRef's
    • Add ability to organize TLK file according to the map: for example, strings 0-100 -- descriptions of spells, strings 101-200 -- descriptions of items and so on
    • Add ability to check consistency of descriptions. For example, official Russian localization of NWN uses slight different templates for spell/feat descriptions in main game and expansions packs. With previous feature we will be able check each string category against some template
  • Use 2DA and TLK libraries in plugin for NetBeans
  • Finish the resources browser (there are beginnings for this already present in the codebase)
  • I plan to leave the utility a small single executable file -- it 's much more convenient for people that are not programmers. This is not quite the case now, but all dependencies can be easily packed into a single jar

Mingun avatar Oct 08 '19 20:10 Mingun