Skip to content

New versions of NearInfinity available

1282931333444

Comments

  •  TheArtisan TheArtisan Member Posts: 3,277
    Can the extended header tooltip be modded via .tp2? For some reason it is not on Near Infinity (as far as I can tell) and only DLTCEP even has an option to edit it. It'd be nice to distinguish melee vs. ranged toggles for weapons but I have no idea how to mod it.

    This is what I'm talking about:

    ca586041e3aedb49ddd35e79328efd41.png
  • OlvynChuruOlvynChuru Member Posts: 3,079
    edited July 2019
    AionZ wrote: »
    Can the extended header tooltip be modded via .tp2? For some reason it is not on Near Infinity (as far as I can tell) and only DLTCEP even has an option to edit it. It'd be nice to distinguish melee vs. ranged toggles for weapons but I have no idea how to mod it.

    This is what I'm talking about:

    ca586041e3aedb49ddd35e79328efd41.png

    The tooltip strings are listed in TOOLTIP.2DA, not in the items themselves. If you want to change the tooltip string of an item, or add a tooltip string for a new item, you must edit TOOLTIP.2DA.
  •  TheArtisan TheArtisan Member Posts: 3,277
    @OlvynChuru

    Thanks. This'll be great to know in the future.
  • The user and all related content has been deleted.
  • argent77argent77 Member Posts: 3,474
    jastey wrote: »
    I have a question and I'm sure the answer is somewhere on my side. If I look at a modded game, NI often does not display mod added text strings but displays them as "No such index" instead. This is also true for the BG1 ressources in EET, for example. If I export e.g. AMNIS4.dlg file as weidu-d file, it looks like this:
    BEGIN ~AMNIS4~
    //////////////////////////////////////////////////
    // WARNING: this file contains non-trivial WEIGHTs
    //////////////////////////////////////////////////

    IF ~~ THEN BEGIN 0 // from:
    SAY #200763 /* ~No such index~ */
    IF ~~ THEN EXIT
    END

    IF WEIGHT #7 /* Triggers after states #: 9 8 7 6 5 4 3 even though they appear after this state */
    ~ GlobalLT("Chapter","GLOBAL",8)
    StateCheck(Myself,STATE_CHARMED)
    ~ THEN BEGIN 1 // from:
    SAY #205753 /* ~No such index~ */
    IF ~~ THEN UNSOLVED_JOURNAL #226840 /* ~No such index~ */ EXIT
    IF ~ GlobalGT("CHAPTER","GLOBAL",2)
    ~ THEN EXIT
    END

    IF ~~ THEN BEGIN 2 // from:
    SAY #208910 /* ~No such index~ */
    IF ~~ THEN EXIT
    END

    I guess I forgot to tick something somwhere or what can I do so all ressources are shown properly?
    @jastey Did you select the right game language (Options -> TLK Language (EE only))? Selecting "Autodetect" will scan the baldur.lua for a language entry and use it if available, otherwise it'll fall back to "English".

    leeux wrote: »
    About the slowness: Couldn't it be related to an antivirus aggressive real-time scanning?

    I.e. a ton of small files multiplied by a extra delay in accessing them each time (AV getting in the way with the RT scanning) and you get a big slowdowns.

    Just make sure that your AV has excluded from RT scanning all the BG folders that has tons of files (override, data, probably all mods folders, etc.)

    As far as "it's an OS thing," that's why I thought it is pertinebt to mention that the MacOS-specific version of ~2017 vintage NI did not have this kind of delay. So I think it is related to a change in NI itself. (Or maybe something about the unserlying version of Java?)

    The most direct comparison I did between the two NI versions was on my old 2012 laptop, which I think is running Sierra. I'll try to do a more controlled test on my new system.
    Back in early 2016 (when NI was redesigned from scratch) I had to switch to a more modern API for dealing with files and folders. It was necessary for implementing native DLC support as well as case-insensitive file operations on Linux and for fixing the countless hacks needed to handle EE games.
    This API had a different runtime behavior which resulted in longer loading times if NI has to scan a great number of files. When I added more override locations to check for NI later on the situation worsened even more.

    I tried to optimize performance several times with little success in the past. I'm not yet out of ideas how to fix it, but they are quite time-consuming to implement. I can't say when I'll find the time to work on them though.
    The current situation is quite annoying for me as well, even though my games are installed on a fast NVMs SSD. For now biffing the override is probably the most efficient work-around to reduce loading times.
  • The user and all related content has been deleted.
  • AlonsoAlonso Member Posts: 806
    Quick question: What's the meaning of Natural/Nonmagical in effects descriptions?
  • OlvynChuruOlvynChuru Member Posts: 3,079
    Alonso wrote: »
    Quick question: What's the meaning of Natural/Nonmagical in effects descriptions?

    It's the same thing as "Not dispel/Bypass resistance" except when used in the Dispel Effects opcode. In most instances, option 0 and option 2 are the same.
  • AlonsoAlonso Member Posts: 806
    edited August 2019
    Thank you, @OlvynChuru :)

    I've another, not so quick one: Is there a way to find out in NI what spells are available to party members and what spells are not (because they are exclusive of a monster or for any other reason)?
  • [Deleted User][Deleted User] Posts: 0
    edited August 2019
    The user and all related content has been deleted.
  • kjeronkjeron Member Posts: 2,368
    Wait what?

    What's the difference w/r/t the dispel opcode?
    The only difference I know of between 0 and 2 is that 0 will automatically convert to 2 when targeting yourself.
    BIT0 = Effect is dispellable and checks Magic Resistance
    BIT1 = Effect ignores Magic Resistance, which it does anyway if BIT0 is not set.
    BIT2 = Effect bypasses deflection/reflection/trap opcodes (only in V2.0 / external EFF's)
    BIT31 = Effect was applied by an item (only present in V2.0 / external EFF's, unknown function, but recently added)

    BIT1 is set both manually (by friendly buff spells, to bypass allies MR) and automatically (by targeting yourself, to automatically bypass the caster's MR).
  • BubbBubb Member Posts: 1,005
    kjeron wrote: »
    BIT31 = Effect was applied by an item (only present in V2.0 / external EFF's, unknown function, but recently added)

    BIT31 is set by the engine if the effect's source item is identified. This bit is only used by Opcode #324, which checks it to determine whether it should set STRREF_FEEDBACK_IMMUNE_RESOURCE's <RESOURCE> token to the item's general or identified name.
  • kjeronkjeron Member Posts: 2,368
    Bubb wrote: »
    BIT31 is set by the engine if the effect's source item is identified. This bit is only used by Opcode #324, which checks it to determine whether it should set STRREF_FEEDBACK_IMMUNE_RESOURCE's <RESOURCE> token to the item's general or identified name.
    Interesting.
    Definitely explains why I had trouble figuring out what it did - most item abilities cannot be used without identifying them first.
  • AlonsoAlonso Member Posts: 806
    Alonso wrote: »
    Is there a way to find out in NI what spells are available to party members and what spells are not (because they are exclusive of a monster or for any other reason)?
    Maybe an example would help here: There are six Magic Missile spell files in a vanilla BG2 installation: BALTH06, SPIN685, SPIN962, SPWI003, SPWI112, SPWI998. How can I find out which is the one used by party wizards?
  • kjeronkjeron Member Posts: 2,368
    The default spells for wizards/priests are named such:
    "SPWI[LEVEL][01-50]" and "SPPR[LEVEL][01-50]", so it would be SPWI112
    This naming scheme is a hardcoded mechanic.
    Such spells can however be hidden from the player through "HIDESPL.2DA", such as Dimension Door, "SPWI402", which is why it is not available during spell selection.
  • SjerrieSjerrie Member Posts: 1,236
    edited August 2019
    Alonso wrote: »
    Alonso wrote: »
    Is there a way to find out in NI what spells are available to party members and what spells are not (because they are exclusive of a monster or for any other reason)?
    Maybe an example would help here: There are six Magic Missile spell files in a vanilla BG2 installation: BALTH06, SPIN685, SPIN962, SPWI003, SPWI112, SPWI998. How can I find out which is the one used by party wizards?

    Look at a normally rolled wizard?

    Anyway, you can write off all the ones not beginning with SPWI immediately. Spells normally gained by a class have an indication in the name: for instance, SP WI, where WI stands for WIzard. There are always exceptions, but as a good rule of thumb, SPIN = innate, SPPR = priest. The script name gives the next clue:

    - SPWI003: "Trap Magic Missile", used for traps
    - SPWI998: "Gorion Magic Missile" used in his cutscenes,
    likely the one involving the shade while searching for Yaga Shura's heart
    - SPWI112: "Wizard Magic Missile", this is the one.

    The others are likely used for non-joinable NPCs or monsters.
  • OlvynChuruOlvynChuru Member Posts: 3,079
    The ones that begin with SPWI can be learned by wizards, unless the first digit after SPWI is a 0 or the last two digits are 50 or higher (unless a mod specifically gives a party member that spell).

    In this case, SPWI112 is the real Magic Missile spell.
  • AlonsoAlonso Member Posts: 806
    Thank you, very helpful.

    I'm asking these questions because I'm trying to figure out which spell effects are dispellable and which ones bypass magic resistance. Sometimes it's easy to tell with a quick look at the effects, but sometimes it's trickier. I'm checking Dark Taint (BHAAL2B) and it's hard to tell. It has several effects and most are Dispel/Not bypass resistance. However, the last effect, Use EFF file (I think that's the poison damage), is confusing. When you open it, you see again Dispel/Not bypass resistance. But the EFF file itself (SPWI411E.EFF) is Natural/Nonmagical. So which one applies?
  • kjeronkjeron Member Posts: 2,368

    In general, when attached through op177, the fields in the EFF contribute to blocking the effect, but not removing the effect.

    It will check Magic Resistance if either effect does (op177 or the EFF).

    It will be Dispellable only if op177 is dispellable.

  • AlonsoAlonso Member Posts: 806
    What is op177?
  • UlbUlb Member Posts: 295
    @argent77
    It's probably not something that concerns many modders but newer versions of NI seem to still have issues with the palette of animation bams. It appears as if the color index number is just randomly changed, at least for the shadow color.
    (Repro: use bam converter, switch the palette's shadow color from a different index number to #2, save bam. -> Shadow color index will NOT be #2 but some other (random?) #index.)

    Using an older version of NI to change the index number works fine.

    (I have a faint memory of reporting this before but couldn't find my post, so apologies is this is a known issue.)
  • kjeronkjeron Member Posts: 2,368
    Alonso wrote: »
    What is op177?
    opcode 177 (Use EFF file)
  • AlonsoAlonso Member Posts: 806
    edited August 2019
    Thank you :smile:
    Sjerrie wrote: »
    Spells normally gained by a class have an indication in the name: for instance, SP WI, where WI stands for WIzard. There are always exceptions, but as a good rule of thumb, SPIN = innate, SPPR = priest.
    Continuing with this, there are two other file name prefixes that are used very often: oh, and SPCL. Do you know the meaning of these? I want to find out who (or what) uses Animal Rage, file name ohrrage.
  • kjeronkjeron Member Posts: 2,368
    oh = Overhaul, as in "2016 Overhaul Games, a division of Beamdog." (most beamdog content added before SoD was released)
    bd = Beamdog (most beamdog content added with/after SoD release)
    SPCL = Class ability (including HLA's, except the wizard/priest spells)
    SPIN = Innate ability (NPC's, bhaalspawn, monster)
    SPDD = Dragon Disciple
    SPRA = Ranger Spells (Beastmaster, Stalker)
    SPDR = Druid Spells (Avenger)
    SPSD = Shadowdancer
    SPDM = Dark Moon Monk
    SPJA = Jaheira
    SPSH = Shaman
    SPWISH = Wish Spells
    SPWM = Wild Magic Surge

    Aside from SPWISH, none of these naming schemes have any real significance - it's for convenience only.
    SPIN and SPCL can be used with non-RES actions/triggers, but I believe all such actions/triggers have RES versions in the EE's.
  • SjerrieSjerrie Member Posts: 1,236
    Alonso wrote: »
    Thank you :smile:
    Sjerrie wrote: »
    Spells normally gained by a class have an indication in the name: for instance, SP WI, where WI stands for WIzard. There are always exceptions, but as a good rule of thumb, SPIN = innate, SPPR = priest.
    Continuing with this, there are two other file name prefixes that are used very often: oh, and SPCL. Do you know the meaning of these? I want to find out who (or what) uses Animal Rage, file name ohrrage.

    I might have been confusing SPIN and SPCL. SPIN seem to be mostly monster innates, while SPCL seem to be class or (class group) specific.

    SPIN includes a dragon's breath weapon, a lich's specific spells, but also the effects of the 'Deck of Many Things', the Hell Trial effects, but also some shapechange effects.

    SPCL seems to have the HLAs, the shadowdancer specifics, and the paladin innates.

    As to what "ohrrage" is... or OH-R-Rage...

    OH is EE specific, R is Rasaad specific. Rage, in this case, is animal rage. Probably from Wilson, who is technically a part of Rasaad's storyline.
  • SjerrieSjerrie Member Posts: 1,236
    @kjeron was a little quicker, and a little more in-depth. :D
  • AlonsoAlonso Member Posts: 806
    kjeron wrote: »
    In general, when attached through op177, the fields in the EFF contribute to blocking the effect, but not removing the effect.
    It will check Magic Resistance if either effect does (op177 or the EFF).
    It will be Dispellable only if op177 is dispellable.
    Does this also apply to Cast Spell (op146) and other similar opcodes (if any)? I'm looking at Absorb Health now (SPCL102). Op146 here is Dispel/Bypass Resistance, but the attached spell is Natural/Nonmagical.

    By the way, I'm asking these questions in this thread because I'm using NI to check all of this. If there is a better thread to discuss this, let me know.
  • kjeronkjeron Member Posts: 2,368
    Alonso wrote: »
    Does this also apply to Cast Spell (op146) and other similar opcodes (if any)? I'm looking at Absorb Health now (SPCL102). Op146 here is Dispel/Bypass Resistance, but the attached spell is Natural/Nonmagical.
    No, it's specific to op177 and op283(use EFF file as curse).

    Opcodes that cast spells will check Magic Resistance if that effect is flagged for it. The spell those opcodes cast will then check Magic Resistance again for it's effects if any of them are flagged to. If the referenced spell is applied instantly (including the projectile), both will use the same roll for Magic Resistance (barring the pause bug).

    Dispelling works similar, except that dispelling is only relevant if the casting opcode is delayed or is op333 (Static Charge), as otherwise they are instantaneous, not sticking around to be dispelled.
  • AlonsoAlonso Member Posts: 806
    Thank you again, @kjeron.
    kjeron wrote: »
    In general, when attached through op177, the fields in the EFF contribute to blocking the effect, but not removing the effect.
    It will check Magic Resistance if either effect does (op177 or the EFF).
    It will be Dispellable only if op177 is dispellable.
    And yet another clarification about this: Animate Dead (SPCL106) uses a dispellable op177 for the effect SPANDE01. SPANDE01 itself is not dispellable, as you'd expect from a summoning effect, but following what you said, what matters here is that op177 is dispellable, so it follows that the spell as a whole is dispellable (which means, I guess, that the summoned skeleton can be banished with Dispel Magic). Is that correct?
Sign In or Register to comment.