Skip to content

New versions of NearInfinity available

1353638404144

Comments

  • _Luke__Luke_ Member, Mobile Tester Posts: 1,535
    argent77 wrote: »
    _Luke_ wrote: »
    @argent77
    • op15/44 and p2=3: to be precise Parameter1 is unused only in SPL/ITM Effects.
      • Once applied to a creature, `Parameter1` will store the exact DEX/STR increase granted (so it can be edited through NI, and shouldn't be labeled as "Unused").
      • When you apply these effects in an External EFF file, `Parameter1` in the EFF will determine the exact STR/DEX increase (so it must be set manually, and shouldn't be labeled as "Unused").
    • [SPL Extended Header]: `Bonus to hit`, `Dice size`, `# dice thrown`, `Damage bonus`, `Damage type`, `# charges`, `When drained` should be flagged as "Irrelevant/Unused".
    • [SPL Header]: `Identified name` and `Identified description` should be flagged as "Irrelevant/Unused".

    Thanks, will be fixed in the next release.

    STO flag "Can sell critical" (BIT15 @ 0x10) should actually be "Can buy critical"...
  • argent77argent77 Member Posts: 3,476
    _Luke_ wrote: »
    STO flag "Can sell critical" (BIT15 @ 0x10) should actually be "Can buy critical"...

    The flag label should be correct. Most store flags are described from the user's perspective. However, the meaning of the labels can be somewhat misleading. I'll see if the wording can be improved.
  • kjeronkjeron Member Posts: 2,368
    EE-only:
    .ARE -> Automap Note -> Marker Color
    Currently uses static list of colors from BG2.
    Should be populated from MAPNOTES.IDS.

    The value represents the cycle/sequence of FLAG1.BAM that is used, which no longer matches the static list from BG2. The last cycle (cyan), is not listed in MAPNOTES.IDS, nor can they be set in game through the map (at least without modifying the UI), but otherwise function correctly when specified by the relevant action/opcode or set directly in the ARE file.

    Related:
    op253: Parameter2 = Marker Color (again pulled from MAPNOTES.IDS).
  • argent77argent77 Member Posts: 3,476
    Thanks, will be added.
  • ALIENALIEN Member Posts: 1,271
    Kudos to you for providing long-term support!
  • elminsterelminster Member, Developer Posts: 16,317
    Just wanted to drop by and say that the creature animation feature is really cool :smile:
  • kjeronkjeron Member Posts: 2,368
    edited May 2021
    Two more file structure labels, not sure how old/new they are:
    VVC
    "Drawing (0x18)", BIT15: "Scale/Center to view"
    causes the animation to:
    • fill the viewable screen, independent of the zoom level
    • always be centered in the players view screen
    • only displays while the center of the view-screen is within one screen length of the targeted creature, minus the animations center-point offset.

    "Color Adjustment (0x1a)", BIT8: "Blend with character's 'Major' color"
    • recolors/blends the animation using the targeted creature's "Major" color palette.
    • the animation is brighter while that creature is selected, darker while they are not selected.
    • color is also affected by their proximity to other creatures.
    • When combined with the above bit, the recoloring sometimes does not occur at the very edge of it's maximum display range.

    edit - corrected display conditions
    Post edited by kjeron on
  • ThunderburpThunderburp Member Posts: 51
    edited May 2021
    @argent77 Great update! Near Infinity is invaluable IMO. I'd argue that it is one of the big drivers behind the continued activity of the BG community, so thanks for your dedication.


    If I had to suggest something for a next big development step, or a series of small ones, it would be to improve on Advanced Search. It would really help gathering knowledge for the Baldur's Gate wiki, among other things.

    Advanced Search already vastly increases productivity, and also allows to gain new insight that would not be realistically accessible otherwise. Not just insight on mechanics but on data. Still, as I work on the wiki I quite often find myself limited in terms of which questions I can ask through this tool. Some questions are not worth asking because answering takes too long, and some questions simply cannot be realistically answered.

    A couple off the top of my head:

    Q: Are there Vampires whose physical attacks do not cause Level drain?
    A: Yes, but only Hexxat and Dragomir. Don't ask me again to compare several Advanced Search results please.

    Q: Find all player-accessible spells, abilities, items and item abilities that grant immunity to Feeblemindedness
    A: Easy enough, but effects like Cast spell (opcode 146) require me to manually input all file names of EFF or SPL results into the filter values of subsequent searches. The biggest hurdle is however to prune the "final results" lists that contain things not actually player-accessible like cut content, enemy-only spells or undroppable items not belonging to summons. It requires at least one slow kind of search per "final" result, sometimes up to three, most likely with a lot of duplicate CPU work from search to search.

    Q: List all droppable items carried by creatures in a stealable way, where creatures actually appear in game for real.
    A: Not realistically possible, I don't think it is. You won't get it from me, the full list of noteworthy items that can be pickpocketed in the BG series.

    etc.


    If/when working on Advanced Search sounds interesting enough, do poke me on the Baldur's Gate wiki. With a bit of back and forth I could help formalize needs more accurately, in a way that's more directly actionable from your end.


    Either way, thanks for the many things you've done for the BG community, and I guess happy birthday? =)
    Post edited by Thunderburp on
  • argent77argent77 Member Posts: 3,476
    If I had to suggest something for a next big development step, or a series of small ones, it would be to improve on Advanced Search. It would really help gathering knowledge for the Baldur's Gate wiki, among other things.

    I will work on the Advanced Search feature eventually. For now I have a lot of other projects that have to be updated first, so it might take a while.

    I can't really answer your game-specific questions, but maybe other players can. I'd suggest to open separate topics for these questions to increase visibility. Otherwise, if you are a code guru you could write a WeiDU mod that does the search for you.
  • ThunderburpThunderburp Member Posts: 51
    I will work on the Advanced Search feature eventually. For now I have a lot of other projects that have to be updated first, so it might take a while.
    No problem, I don't expect you not to have quite a TODO list already =) Just leaving that here as a hook for whenever you do reach that point. The Q/A bits are examples meant to highlight some areas where Advanced Search could improve =)
    Otherwise, if you are a code guru you could write a WeiDU mod that does the search for you.
    Building an in-game search mod for questions I might want to research sounds interesting. I don't know the language/workflow involved in mod-making though, so I can't evaluate feasibility or see if returns will be worth the time investment. If you have an idea regarding API methods that I should turn my attention to, I'm all ears! Otherwise I might just ask the mod community here for guidance in a separate thread. Will see =)

    Cheers!
  • hybridialhybridial Member Posts: 291
    I was wanting to make a small adjustment to the class descriptions of Paladins and Rangers in Icewind Dale to match some modifications I've done, if I could using Near Infinity. I can't figure out what I'm looking for though, can anybody point me in the right direction? Thanks.
  • sarevok57sarevok57 Member Posts: 6,002
    edited May 2021
    @hybridial

    you have to edit the dialog.tlk file to do so ( make sure to have a save a back up before editting this file just it case it gets corrupted )

    after you have saved a back up

    go to "Edit" and select "String table"

    when it gives you the warning press "Okay"

    now what you need to do is find the specific string Strref for the Paladin and Ranger class descriptions

    the default Strref ( which can be found at the top left ) for a Paladin is 9558 and ranger is 9557

    once you find them then you can edit them on the right hand side and once you have finished doing your edit press "Save" at the bottom and all should be good
  • argent77argent77 Member Posts: 3,476
    Look for a file called CLASTEXT.2DA. It lists classes and kits as well as their names, descriptions and other information as string references. Use them to find the right string in the string table.
  • hybridialhybridial Member Posts: 291
    edited May 2021
    @sarevok57

    That was a great help, and now it looks like I have a whole avenue of Near Infinity editing to look at, that said I made the changes and saved them, but they don't show up in game either on a loaded file on the kit description page or the description when making a new character, is there a step missing possibly?

    *edit* I looked up CLASTEXT.2DA and the string references there are different, I guess maybe they were changed. And yes, that was the issue, it works. Thanks guys.

    As for what it was, well for some weird reason that only makes sense to me, I wanted to alter the spell tables to match BG1 and 2, and that I found was just as simple as copying the relevant 2DA files into Icewind Dale's override folder, and I wanted to reflect the change in the description (spells start at level 8, not 6)

    And now it's done, thanks.
  • kjeronkjeron Member Posts: 2,368
    New (v2.6) label,
    EFF (V2),
    Dispel/Resistance (0x5c),
    BIT3: "Self-Targeted"
    Targeting yourself with an ability will internally set this bit on all effects applied by that ability.

    For the caster, it will allow a Magic Resistance check for any effect that has both BIT0 (Dispel) set and offers some saving throw. The saving throw doesn't have to succeed, it just has to be offered.
    For anyone else hit by the ability, it will allow a Magic Resistance check for any effect that also has BIT0 (Dispel) set.
    Either way, this bit is still overridden by BIT1 (Bypass Resistance).

    This should eliminate the bug/exploit of bypassing other's Magic Resistance by targeting yourself with an area-effect ability. Odd that it wasn't in the patch notes.

    It does produce mixed results for the caster however, since not everything offers a saving throw. For example, casting Cloudkill on yourself at level 5-6 will grant you an MR check against the instant-death, but not the poison damage. Casting it a level 1-4 would offer you no MR check against any of it's effects.
  • _Luke__Luke_ Member, Mobile Tester Posts: 1,535
    edited May 2021
    kjeron wrote: »
    This should eliminate the bug/exploit of bypassing other's Magic Resistance by targeting yourself with an area-effect ability. Odd that it wasn't in the patch notes.
    That's certainly interesting...

    However, you said that when an Ability / Extended Header uses Target `4|Any point within range`, you will always target a location / point, not a creature (even when directly clicking on the in-game sprite).

    So how was the bug/exploit possible in the first place?

    Or are you saying that `Any point within range` always targets a location only when it comes to script trigger `SpellCastOnMe()`...?
  • kjeronkjeron Member Posts: 2,368
    Not all area-effect spells use `4|Any point within range`, some use "1|Living Actor" or "5|Caster".
    _Luke_ wrote: »
    However, you said that when an Ability / Extended Header uses Target `4|Any point within range`, you will always target a location / point, not a creature (even when directly clicking on the in-game sprite).
    When the player casts them, yes, but remember:
    This field doesn’t matter when the ability is activated/cast by script or when cast by another opcode.
  • _Luke__Luke_ Member, Mobile Tester Posts: 1,535
    kjeron wrote: »
    Not all area-effect spells use `4|Any point within range`, some use "1|Living Actor" or "5|Caster".
    _Luke_ wrote: »
    However, you said that when an Ability / Extended Header uses Target `4|Any point within range`, you will always target a location / point, not a creature (even when directly clicking on the in-game sprite).
    When the player casts them, yes, but remember:
    This field doesn’t matter when the ability is activated/cast by script or when cast by another opcode.

    Right, so are you saying that your tests about Cloudkill were made by script / subspell...?

    Otherwise I cannot understand why you picked an Ability with `4|Any point within range` instead of `1|Living Actor` or `5|Caster` (f.i. Hold Person)...
  • kjeronkjeron Member Posts: 2,368
    _Luke_ wrote: »
    Right, so are you saying that your tests about Cloudkill were made by script / subspell...?
    Yes, script action (console).
  • jmerryjmerry Member Posts: 3,881
    And for players, sequencers and contingencies can bypass this limit - as long as any component of it targets a creature, the whole thing does. I used the trick heavily in my most recent run, from moves like a Protection from Petrification/Web minor sequencer against the Demon Knight to self-targeted triple Incendiary Cloud chain contingencies in the late game.

    Some spells were already exempt from this no-MR effect in 2.5; Sunfire used subspell trickery to dodge it, and Horrid Wilting avoided it through some means I don't understand at all.
  • _Luke__Luke_ Member, Mobile Tester Posts: 1,535
    @argent77

    A couple of observations:
    1. SPL V1.0, Extended Header: there's nothing like "Times per day" (@ 0x14), should be flagged as "unused".
    2. SPL V1.0, Header, Flags (@ 0x18): BIT9 (Break sanctuary) breaks only Sanctuary (and not also Invisibility). It's BIT10 (Hostile) that breaks Invisibility (and only Invisibility). The label is currently stating that BIT9 breaks both Invisibility and Sanctuary, so that needs correcting...

    Calling @kjeron for confirmation...
  • _Luke__Luke_ Member, Mobile Tester Posts: 1,535
    edited June 2021
    _Luke_ wrote: »
    [*] SPL V1.0, Header, Flags (@ 0x18): BIT9 (Break sanctuary) breaks only Sanctuary (and not also Invisibility). It's BIT10 (Hostile) that breaks Invisibility (and only Invisibility). The label is currently stating that BIT9 breaks both Invisibility and Sanctuary, so that needs correcting...
    [/list]

    Calling @kjeron for confirmation...

    To tell the truth, Hostile (BIT10) breaks both Sanctuary and Invisibility...
  • BaptorBaptor Member Posts: 342
    @argent77 Hi! I own Baldur's Gate with Siege of Dragonspear via Steam. I use NI a lot for other games, but I noticed when I pull it up for BG1, it doesn't show me any of the Siege of Dragonspear assets. I can't find any of the SOD items, for example. Is this because of the zip file that Steam uses? Is there a way around it?
  • argent77argent77 Member Posts: 3,476
    Baptor wrote: »
    I own Baldur's Gate with Siege of Dragonspear via Steam. I use NI a lot for other games, but I noticed when I pull it up for BG1, it doesn't show me any of the Siege of Dragonspear assets. I can't find any of the SOD items, for example. Is this because of the zip file that Steam uses? Is there a way around it?

    Are you running the game on Linux? There are currently some issues with case-sensitive filesystems.

    Apart from that, SoD resources should be accessible in NI even in its unmerged state, albeit with some restrictions regarding write operations. Is the SoD DLC available in any of the supported DLC folders (root folder, "dlc" folder, or "workshop" folder)? Is the game type correctly detected and the DLC archive listed in the Game Properties (menu Game > Game Properties)? Does the debug console show anything unusual (menu Tools > Show debug console)?
  • BaptorBaptor Member Posts: 342
    argent77 wrote: »
    Baptor wrote: »
    I own Baldur's Gate with Siege of Dragonspear via Steam. I use NI a lot for other games, but I noticed when I pull it up for BG1, it doesn't show me any of the Siege of Dragonspear assets. I can't find any of the SOD items, for example. Is this because of the zip file that Steam uses? Is there a way around it?

    Are you running the game on Linux? There are currently some issues with case-sensitive filesystems.

    Apart from that, SoD resources should be accessible in NI even in its unmerged state, albeit with some restrictions regarding write operations. Is the SoD DLC available in any of the supported DLC folders (root folder, "dlc" folder, or "workshop" folder)? Is the game type correctly detected and the DLC archive listed in the Game Properties (menu Game > Game Properties)? Does the debug console show anything unusual (menu Tools > Show debug console)?

    No I'm on Windows 10.

    I'm afraid I'm not nearly smart enough to know what you're asking for exactly so I took screenshots for you. The first is NI showing what is in my "Game Properties." The second shows the DLC path where it is installed. That's where Steam put it anyways. Does any of this help?

    pqthjwt5b6sb.jpg

    heygzirkqs1d.jpg
  • argent77argent77 Member Posts: 3,476
    @Baptor Difficult to say what's wrong. Does the debug console show any message (menu Tools > Show debug console)?

    It could be that the special protection of the "C:\Program Files (x86)" folder enforced by Windows prevents access to the DLC. Can you temporarily move the whole game folder to a safer location (e.g. C:\Games, or preferably to another disk drive if available) and try NI again?
  • BaptorBaptor Member Posts: 342
    argent77 wrote: »
    @Baptor Difficult to say what's wrong. Does the debug console show any message (menu Tools > Show debug console)?

    It could be that the special protection of the "C:\Program Files (x86)" folder enforced by Windows prevents access to the DLC. Can you temporarily move the whole game folder to a safer location (e.g. C:\Games, or preferably to another disk drive if available) and try NI again?

    1. Debug console showed nothing.
    2. Moved the whole game folder to C:\Games and it still doesn't locate DLC content
    3. I don't have any separate drives
Sign In or Register to comment.