DrMcCoy

Members
  • Content Count

    78
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by DrMcCoy


  1. So, that little viewing window (the inner part that changes while that border texture is tiled and doesn't change) must have it's size hardcoded into the game...

    Yeah, the GUIs in the KotOR games (and Jade Empire too) are very hardcoded. There are GUI files (which are GFF), which contain information about the layout, but they're more used as guidelines.

     

    The game executable knows about the layout of all the GUIs, and instantiates the classes for the elements. It then looks into the GUI files and only picks certain fields out of them, and applies them to the elements. Which fields are read from the GUI files also changes depending on the GUI and the elements, so it's very likely that the sizes of certain elements are hardcoded.

     

    Finding that out was actually pretty disappointing. It's just so...hacky.


  2. There's also this thing here on the Neverwinter Vault: http://neverwintervault.org/project/nwn1/other/tool/tlkedit2-2datlkgfferf-editor, which can edit KotOR's GFFs.

     

    NWN, NWN2, KotOR, KotOR2 and Jade Empire all use basically the same GFF format (*). As does The Witcher, but it bumps the version number by 0.1 and encodes all LocStrings as UTF-8.

     

    (*) Except that list of field types grew a bit over time. I *think* NWN didn't have 16 (Orientation) and 17 (Vector) and Jade Empire adds 18 (StrRef).


  3. You can then export the actual differences, but it would be a bunch of manual work to then merge all that into an append TLK for TSL Patcher.

    Or alternatively, if you (or anybody else reading) are proficient in C++, consider extending the xoreos tools with an xml2tlk program.

    We're a very small team (so small that it's still mostly just me :P), and are always looking for more devs to join in the fun.

     

    Anybody interested just poke me in #xoreos on Freenode IRC or write to the mailing list, and read over the Developer Central page on our wiki. :D

     

    </shamelessplug>