Skip to content

NearInfinity: Attributes marked as "Unknown"

ljboljbo Member Posts: 177
There are many entries marked as "Unknown" in NearInfinity (I'm using version 1.33 beta 20). For example, opening the form for the "Seeking Sword" (SW1HSEEK.ITM), I see one of the "Global Effects" is "Modify Attacks per Round (1)". Clicking "View/Edit", I get another form featuring 4 "Unknown" attributes, and those Unknowns seem to be those containing the information about the modified attacks per round. Is it because NearInfinity is not fully compatible with BG:EE? Or have I missed a step when installing/launching NearInfinity?
«1

Comments

  • CuvCuv Member, Developer Posts: 2,535
    edited January 2013
    I believe @Wisp has what you are looking for

    Sorry, I thought I found the correct one.... use the one from the thread linked below.
    Post edited by Cuv on
  • WispWisp Member Posts: 1,102
    You are using a NI version that pre-dates BGEE. There is a version available in this thread that is better able to handle BGEE, even if there are a few rough spots left.
  • CuvCuv Member, Developer Posts: 2,535
    Thanks @Wisp!
  • ljboljbo Member Posts: 177
    Thanks mates! So NearInfinity is on GitHub, good! Easier to stay up-to-date and if I get motivated, I could even contribute patches as you did @Wisp iiuc.
  • IgnatiusIgnatius Member Posts: 624
    I have just started using NearInfinity w1.1.0 (which is supposed to be the latest according to the link provided by @Wisp), and I find it very hard for a newbee. Lost of Unknown fields indeed, very important and very difficult to understand what exactly is behind.

    I was trying to customize a splint mail armor, so I made a copy of ICHAN04.ITM and started editing it.

    Dear God.

    It took me a while to understand the AC bonuses. The basic bonus and then the modifiers vs the different type of weaponry (slashing, etc...). That's all in the unknown fields.

    Even editing the name and description was not so easy. NI would sometimes not let me create new name StringRef #, so I had to override some that I deemed useless in the game.

    And then I was trying to play around and associated with the armor, both a spell effect while equipped and a spell ability via quick slot. I still have not managed. I started creating "new ability" and it completely messed up my effects fields, I had to start all over again. So I have abandonned the idea of having a special spell cast ability associated with the armor for now. But even "spell while equipped", I cannnot figure out how to make it work. For instance "Chant while equipped", I can see the Chant selection (131) in the effect list, I set probability 1 to 100, the timing mode to Instant while equipped (2) and all other fields untouched - it does not work.

    If anyone can provide a few tips. I am quite sure I have to fiddle with some of the Unknown fields but have no clue how.
  • WispWisp Member Posts: 1,102
    @Ignatius
    NI is very poorly suited for editing file structures (adding and removing bytes/abilities/effects/etc). I also would not stare myself blind on a field just because it is labelled "unknown" in NI. Given that modding the Infinity engine is an exercise in reverse engineering, "unknown" generally means that no use has been found for the field, which today mostly means the field is not used by the engine. There are some exceptions, where NI can sometimes label e.g., the parameter fields of an effect "unknown" but that does mostly does not happen.

    If you want to make items with a GUI program, I would suggest DLTCEP. For adding a description, you should use WeiDU (DLTCEP can probably write to the TLK as well, but WeiDU is much more suited for the job, especially since a new patch overwrites any local changes you have made). I'll be covering how to do this with WeiDU in a forth-coming sequel to this.
  • ljboljbo Member Posts: 177
    @ignatius yep! That last version still does not decode the fields I was interested in. Trial and error got me somewhere too but I feel the same as you: lots of stumbling blocks.
  • IgnatiusIgnatius Member Posts: 624
    @Wisp: thanks for the tips. There are however I am quite sure, a lot of unknown fields which are useful. For instance all AC bonuses are granted via those fields. Same from what I can see, for to hit and damage rolls bonus.

    It is all much more complex and time consuming than I had originally assumed, even when creating a simple single item. I might just leave it to people for whom all this is so naturally easier.
  • WispWisp Member Posts: 1,102
    Ignatius said:

    @Wisp: thanks for the tips. There are however I am quite sure, a lot of unknown fields which are useful. For instance all AC bonuses are granted via those fields. Same from what I can see, for to hit and damage rolls bonus.

    Sounds like something broke NI's ability to recognise BGEE, in that case. In the case of unidentified games, NI will fall back on not labelling fields etc.
  • ErgErg Member Posts: 1,756
    edited January 2013
    Wisp said:

    Ignatius said:

    @Wisp: thanks for the tips. There are however I am quite sure, a lot of unknown fields which are useful. For instance all AC bonuses are granted via those fields. Same from what I can see, for to hit and damage rolls bonus.

    Sounds like something broke NI's ability to recognise BGEE, in that case. In the case of unidentified games, NI will fall back on not labelling fields etc.
    I've found a post from @Deucetipher in another thread containing an helpful tip.

    In short, if you make a copy of "Baldur.exe" in the 00766 folder and rename it "bgconfig.exe", NI will be able somehow to get more labels.

    For example, before doing that the proficiencies were shown as hexadecimal codes instead of meaningful names.
  • IgnatiusIgnatius Member Posts: 624
    Erg said:


    In short, if you make a copy of "Baldur.exe" in the 00766 folder and rename it "bgconfig.exe", NI will be able somehow to get more labels.

    would you then need to remove that "bgconfig.exe" from >00766 when playing the game, or can it stay there?
  • ErgErg Member Posts: 1,756
    Wisp said:

    The (really) old version used bgconfig.exe, which was removed by the devs. Fred changed it to one of the movie files, which was removed by the devs. I changed it to one of the other movie files (which won't be removed by the devs), but I forgot about it and never published it.

    However, github has done away with file uploads, so I'll settle for attaching a new build here.

    @Wisp

    Thanks for this updated version!
  • IgnatiusIgnatius Member Posts: 624
    edited January 2013
    @Wisp: thanks! the AC bonus types now display properly. Other fields still labelled as unknwon but those might be the useless ones...
  • ljboljbo Member Posts: 177
    @Wisp Great! Your version shows what I wanted to see. Thanks!
  • DeucetipherDeucetipher Member Posts: 521
    Nice! That's way better :).
  • CamDawgCamDawg Member, Developer Posts: 3,438
    Wisp said:

    The (really) old version used bgconfig.exe, which was removed by the devs. Fred changed it to one of the movie files, which was removed by the devs. I changed it to one of the other movie files (which won't be removed by the devs), but I forgot about it and never published it.

    However, github has done away with file uploads, so I'll settle for attaching a new build here.

    What does it use for BG2 detection?
  • IgnatiusIgnatius Member Posts: 624
    This naming thing in NI is driving me nuts.

    I create an item. I edit its "Identified Name" field. For this I need a StringRef#. Not wanting to erase an already used StringRef#, I create a new one (#32048 in this case). All is properly saved and set in NI, so I then CLUA the item in game -> blank Item Name. However, I tested using an existing StringRef# (I tried with #32030) and the Identified Name displays properly in-game.

    It seems that the game does not recognizes newly created StringRef# under NI. In which files are they stored?
  • ErgErg Member Posts: 1,756
    edited January 2013
    Ignatius said:

    This naming thing in NI is driving me nuts.

    I create an item. I edit its "Identified Name" field. For this I need a StringRef#. Not wanting to erase an already used StringRef#, I create a new one (#32048 in this case). All is properly saved and set in NI, so I then CLUA the item in game -> blank Item Name. However, I tested using an existing StringRef# (I tried with #32030) and the Identified Name displays properly in-game.

    It seems that the game does not recognizes newly created StringRef# under NI. In which files are they stored?

    @Ignatius

    Adding custom names/descriptions in game requires modification of the dialog.tlk file. For that, as indicated in a previous post of @Wisp in this thread, it is better to use DLTCEP or even better WEIDU. Check his post above for the links.
  • WispWisp Member Posts: 1,102
    @CamDawg
    BG2 is detected by the presence of baldur.exe and bgconfig.exe, while BGEE is detected by baldur.exe and "movies/deathand.wbm".
  • Sam_Sam_ Member Posts: 172
    edited January 2013
    @Wisp
    Wisp said:

    github has done away with file uploads, so I'll settle for attaching a new build here.

    You don't make it easy on me, do you :p . Thread updated at SHS.
  • IgnatiusIgnatius Member Posts: 624
    Erg said:


    Adding custom names/descriptions in game requires modification of the dialog.tlk file. For that, as indicated in a previous post of @Wisp in this thread, it is better to use DLTCEP or even better WEIDU. Check his post above for the links.

    Thanks. However WEIDU requires coding does it not? I was merely looking for a user-friendly editor. I thought NI was exactly that. NI can edit "dialog.tlk" because if I change under NI existing StringRef# then it works in the game. What I cannot have NI do is add new StringRef# into "dialog.tlk".
  • ErgErg Member Posts: 1,756
    @Ignatius

    I haven't yet used DLTCEP or WEIDU myself, so take my words with caution, but, if I understand correctly,

    1) WEIDU requires coding in order to automatise the changes. This approach makes possible to handle several mods affecting the same files (e.g. dialog.tlk) at once. It also makes things easier when a new patch is released.

    2) If you're looking for something more user friendly, maybe you can try DLTCEP. The only problem is that you will likely have to manually redo your modifications to files like dialog.tlk each time a new patch is released or a third party mod is installed.
  • Sam_Sam_ Member Posts: 172
    @Ignatius
    In NearInfinity, go to Edit->Dialog.tlk. NI will recommend that you make a backup of your dialog.tlk, it is best to do so! Now at the bottom of the window, click the "Add" button. A new StrRef will be added to the end of your Dialog.tlk file. You will probably want the "Entry type" under Attributes set to "Standard message (3)". Now add whatever text you want. Take note of the StrRef number at the top left, because you will need set your item to use this vale, and then click the "Save" button.
  • IgnatiusIgnatius Member Posts: 624
    @Sam_: thanks. I thought I did exactly that. Will check/try again and see if I have better luck.
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    @wisp i think bgee.sql or bgee.gui would be the right filenames to check for bgee.
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    @Erg dltcep uses weidu, so you can actually create a tp2 or d or baf file via the gui, still using weidu internally.
    Think of WeiDU as a command line compiler and patcher, while DLTCEP is an IDE - if you know program developing terms.
  • PeccaPecca Member Posts: 2,215
    I just noticed something. I think it happens when I edit dialog.tlk in NI and save it. Ninja-to string gets distorted to NinjatÅ? (because of the weird o I guess) and the rest of the string is gone, so in game it only displays Ninjat.
    Is there a way to save it without distorting it?
  • WispWisp Member Posts: 1,102
    edited February 2013
    Current versions of NI do not support unicode, so any characters that are not encoded for CP1252 will be mangled (which will essentially be everything that isn't expressible as ASCII). And I guess the rest of the string goes down in flames as well.
  • Sam_Sam_ Member Posts: 172
    @Pecca I've never tried it, but under Options->TLK Charset, try changing it to one of the unicode code pages. utf-8 maybe?
Sign In or Register to comment.