Skip to content

New versions of NearInfinity available

1161719212244

Comments

  • argent77argent77 Member Posts: 3,476
    edited September 2017

    It's like, now the SPL folder list spells as follows:
    SPWI101.spl
    SPWI102.spl
    SPWI103.spl

    Could the list look like this:
    Grease
    Armor
    Burning Hands

    Or even:
    Grease (SPWI101.spl)
    Armor (SPWI102.spl)
    Burning Hands (SPWI103.spl)
    - Or swap the place: SPWI101.spl (Grease)

    Sounds like an interesting feature. I'll see what can be done.
    Also about the area images, as of now when moving mouse over to a Automap Note, it will show the note name, but only the note name the mouse over to, can there be an option to show all note names?
    That has already been added to the latest release (v2.1-20170907). You can enable it for individual layer types in the Area Viewer Settings.
  • AstroBryGuyAstroBryGuy Member Posts: 3,437
    edited September 2017

    Hi @argent77,
    Sorry I didn’t post in the right place on github site.

    It's like, now the SPL folder list spells as follows:
    SPWI101.spl
    SPWI102.spl
    SPWI103.spl

    Could the list look like this:
    Grease
    Armor
    Burning Hands

    Definitely not the above, please. Too many spells have no spell name (i.e., the spell name string reference is -1; EDIT: I checked in NI, and 512 SPL files in SoD have no spell name) or a non-unique name (e.g., there are 11 SPL files in SoD with the spell name "Magic Missile"). A list of SPL resources with dozens of non-unique entries would be bad.

    If this were implemented, I would suggest the form "FILENAME.SPL (Spell name)". That would preserve the current sorting by filename.
    Post edited by AstroBryGuy on
  • kjeronkjeron Member Posts: 2,368

    If this were implemented, I would suggest the form "FILENAME.SPL (Spell name)". That would preserve the current sorting by filename.

    +1
  • islandkingislandking Member Posts: 426
    edited September 2017
    @AstroBryGuy

    It doesn't have to be one way, names like "Burning Hands (SPWI103.spl)" still have their uses, such as the conveniences of alphabetical sorting order, with "no name spells (Filename.spl)" grouped together to be ignored, this sorting is better used for player-accessible spells & abilities, same goes for items, with many "Attacks (Filename.itm)" grouped together.

    So I would suggest the better way is to have both "Burning Hands (SPWI103.spl)" and "SPWI103.spl (Burning Hands)" sorting and the option the swap them for different needs.
  • argent77argent77 Member Posts: 3,476
    I have already peeked at the relevant code. It would be a bit of work to update everything without leaving unwanted side effects since everything is spread all over the sources. I can't say yet when I get down to it.

    I would probably add an option that allows you to toggle between "filename" and "search name (filename)" scheme, both sorted alphabetically. I guess the main reason for this feature request is to quickly jump to a resource by starting to type the search name (basically like a resource search without the search dialog).
  • argent77argent77 Member Posts: 3,476
    Update: The implementation will most likely not be perfect since names of selected resource types are initialized after the resource tree has been constructed (e.g. area names in PSTEE). As a result the affected entries will be sorted by resource name rather than search name. There is probably not much I can do about it.
  • chimericchimeric Member Posts: 1,163
    Say, Argent, can you make NI not look for movies in the Movie folder to determine which game it is pointed at? I'm sick and tired of those intros, and I could probably delete the folder or the movies, but NI needs them.
  • argent77argent77 Member Posts: 3,476
    There aren't many more safe options left to determine the type of game.

    However, you can force a game type via command line parameter, e.g. for IWDEE:
    javaw -jar NearInfinity.jar -t IWDEE
    Create a shortcut for NearInfinity.jar in the game installation folder and expand or add this line to the target field.

    Full list of supported game types: BG1, BG1TotSC, BG2SoA, BG2ToB, Tutu, BGT, PST, IWD, IWDHoW, IWDHowTotLM, IWD2, BG1EE, BG1SoD, BG2EE, IWDEE, PSTEE and EET.
  • islandkingislandking Member Posts: 426
    argent77 said:

    Update: The implementation will most likely not be perfect since names of selected resource types are initialized after the resource tree has been constructed (e.g. area names in PSTEE). As a result the affected entries will be sorted by resource name rather than search name. There is probably not much I can do about it.

    Hi there @argent77 ,
    You mean it's not likely to sort search name alphabetically, so the list is still based on source order but with the displayed names such as "Burning Hands (SPWI103.spl)" ? If so, I guess that will still do, since the some files are already grouped together by source, ie, SPWI2XX for wizard level 2 spells.
    I have one suggestion though, since this is the only way, why not go with "SPWI103.spl (Burning Hands)" ? And adding an option to toggle "(Burning Hands)" on/off?
  • argent77argent77 Member Posts: 3,476
    The feature itself already works as intended, but I have to resolve a number of side effects yet, such as the above-mentioned issue with PSTEE area names and some conflicts with the override folder.
  • egbertegbert Member Posts: 99
    @argent77 Does NI run under Java 9?
  • argent77argent77 Member Posts: 3,476
    It should be safe to use Java 9. It didn't cause any problems in my tests.

    In the unlikely case that it causes some issues you can easily downgrade to Java 8 again. Both versions are still available at the Java download page.
  • chimericchimeric Member Posts: 1,163
    edited September 2017
    Argent, are you going to bring back the no-need-to-refresh feature? I'm using a computer with an old version of NI at the moment, and though it lacks some newer features, I couldn't be pleased more that I don't have to refresh the Tree every time I make or copy a file. It appears on the list as though by magic, and I can get to changing it right away. I don't know about others, but for me this is by far the most valuable handle on this tool.

    And another thing. I've never noticed it before, but this old version pastes effects in an SPL by type, after the copied effect, rather than attach them to the end of the list. Say, you are creating a series of Use EFF effects from some one line up in the list. Or it could be glow-color effects, protections and so on. You probably want to have them all in one place inside the SPL, both for convenience and because you might insert some negating effects below. In the current version you cut or copy the effect and it is pasted below, so you have to cut out all of the other effects between, then paste them on the bottom for those two to appear next to each other. Sometimes these clever slidings begin to feel like a minigame, a backgammon. The old version, on the other hand (v. 2.1), puts the copies right after the originals - noticeably more rational.
  • argent77argent77 Member Posts: 3,476
    chimeric said:

    Argent, are you going to bring back the no-need-to-refresh feature? I'm using a computer with an old version of NI at the moment, and though it lacks some newer features, I couldn't be pleased more that I don't have to refresh the Tree every time I make or copy a file. It appears on the list as though by magic, and I can get to changing it right away. I don't know about others, but for me this is by far the most valuable handle on this tool.

    A real-time resource scanner was never part of NI. However, files created by "Add copy of" are automatically added to the resource tree in more recent releases. I attempted to implement a file watch feature in the past, but had to put it on hold because of serious negative side effects on Windows systems.

    chimeric said:

    And another thing. I've never noticed it before, but this old version pastes effects in an SPL by type, after the copied effect, rather than attach them to the end of the list. Say, you are creating a series of Use EFF effects from some one line up in the list. Or it could be glow-color effects, protections and so on. You probably want to have them all in one place inside the SPL, both for convenience and because you might insert some negating effects below. In the current version you cut or copy the effect and it is pasted below, so you have to cut out all of the other effects between, then paste them on the bottom for those two to appear next to each other. Sometimes these clever slidings begin to feel like a minigame, a backgammon. The old version, on the other hand (v. 2.1), puts the copies right after the originals - noticeably more rational.

    Copied effects are pasted right above the currently selected effect in more recent NI releases. That way it is possible to paste an effect at the first position without much effort. To paste an effect at last position you can either remove selection (e.g. via Ctrl + left mouse click) or select a non-effect entry before pasting. It works the same way regardless of whether you copy/paste one or multiple entries at once.
  • kjeronkjeron Member Posts: 2,368
    Found another offset projectile list:
    Opcode 140, when Parameter2 = 0.
    Listed values for Parameter1 match up with (PROJECTL.IDS + 1)/(MISSILE.IDS), while game uses values from PROJECTL.IDS.
    Example:
    #37 is listed as Magic Missile (MAGICMIS.PRO).
    #36 should be Magic Missile (MAGICMIS.PRO), #37 should be Fireball (FIREBALL.PRO).
  • argent77argent77 Member Posts: 3,476
    Thanks, will be fixed!

    @kjeron Do you know if opcode 339 (Alter visual animation effect) has to be fixed as well? It is also using projectile references, but I couldn't find any useful examples to be certain (only two instances in IWD:EE).
  • kjeronkjeron Member Posts: 2,368
    argent77 said:

    @kjeron Do you know if opcode 339 (Alter visual animation effect) has to be fixed as well? It is also using projectile references, but I couldn't find any useful examples to be certain (only two instances in IWD:EE).

    No, 339 is correct.
  • kjeronkjeron Member Posts: 2,368
    edited October 2017
    Another interesting find:
    Opcode 39(Sleep), allows its special field to define the portrait icon it displays, similar to Opcode 218(stoneskin). A value of 0 still uses the default ('sleeping').

    I could have sworn I tried this before without success, because I even put a feature request in for this exact behavior only 3 months ago.

    Now to see if any other opcodes received this feature.

    Edit:
    Deflection/Reflection/Trap spells didn't.
    Opcode 213(Maze) did - its even already in use by the Shaman's Ethereal Gate spell.
  • kjeronkjeron Member Posts: 2,368
    And some more:
    Poison(25) and Regeneration(98) use their special field as a "Frequency Multiplier", with a default(0) value of '1'.
    Parameter2 = (0 or 1) do not utilize the Special field.
    Parameter2 = 2, Frequency = 'Special'
    Parameter2 = 3, Frequency = 'Parameter1' * 'Special'
    Parameter2 = 4, Frequency = 'Parameter1' * 'Special'

    This is what enables opcode 329 (Slow Poison) to work, as it writes over the 'Special' field of any Opcode 25 effects on the creature. Oddly a value of '0' causes it to crash the game, rather than use the default '1'.
    As is, Opcode 329 is useless against Poisons that use Parameter2=(0 or 1), as well as any Poison effect that is used through Opcode 177(Use EFF File), as Parameter2=4 requires.
    It is also not necessary "Slow" Poison, as it can also accelerate poisons if their Special Field was already higher than the value specified in Opcode 329.
    There is a slight discrepancy when the effect is applied and the timer has to recalculate itself, but I've not seen it result in more than a single extra trigger.
    It does not alter the duration of the poison, nor does it affect any of the other frequency opcodes (78/98/272).

    Disease(78) and Use EFF file on Condition(272) showed similar results with their special field, but were not stable. The values sometimes resulting in them not triggering at all without using the "AdvanceTime(I:Time*GTIMES)" action to forcibly advance more the 60 seconds worth at a time.
  • argent77argent77 Member Posts: 3,476
    That's useful info. Thanks!
  • TarakTarak Member Posts: 12
    Is it possible to increase the width of the color slider of the 'set color effect' somewhat?
    It's awkward to look for colors without skipping numbers while sliding left and right.
  • argent77argent77 Member Posts: 3,476
    Yes, that control could be improved somewhat. I'll see what I can do.
  • AndreaColomboAndreaColombo Member Posts: 5,530
    If I dual class a character—let's say, for example, I start out as a Cleric and dual to Fighter—what happens to my character's class in the CRE file / Near Infinity? Does it show anywhere that my original class was Cleric?
  • argent77argent77 Member Posts: 3,476
    edited October 2017
    The original class is stored in the Flags field of the CRE structure (one of the "Original class" bits). It is also used by the engine to distinguish between multi class and dual class.
  • jasteyjastey Member Posts: 2,780
    NearInfinity v20170907, BG:EE v2.3.67.3, modded worldmap: if I open the WORLDMAP.WMP it takes very long until it is displayed and if I try to EDIT/VIEW one of the areas NI just freezes.

    Is this an indicator that my mod borked the worldmap or is there a chance the cause is something else (too little memory, I am too impatient) and you can help me with this?
  • argent77argent77 Member Posts: 3,476
    The long loading time is a known issue and seems to happen only if the map graphics is using the pvrz-based MOS format (which usually is with the EE games). I'll look into it further eventually.

    I don't think the freeze is caused by a borked map. In that case it would simply not load at all or create an error message.

    It is more likely that it's a memory issue. If you're still using a 32-bit version of the Java Runtime, you could try your luck with the "Hide NI DOS" tool (download somewhere in this post), or start NI from the command prompt with this call
    java.exe -Xms512m -Xmx1024m -XX:NewSize=128m -XX:MaxNewSize=128m -jar NearInfinity.jar
    This is not needed if you have a 64-bit version of the Java Runtime installed on your system.

    Starting NI from the command line might also be helpful to catch error messages that are lost because of the freeze. Simply start NI from the command prompt with
    java.exe -jar NearInfinity.jar
    All log outputs will be printed into the console window.
  • jasteyjastey Member Posts: 2,780
    Thank you! Using the first command line you posted gives me a "Initial heap size set to a larger value than the maximum heap size". I guess that's a bad sign, haha.
    Thank you nontheless, at least I know what could be the problem now.
  • TarakTarak Member Posts: 12
    When you copy & paste several entries of shop items or effects, the order is reversed. For example, if you like an alphabetical order in shops, you always have to copy/cut & paste all the store-items twice. It would save time if the order wouldn’t be flipped every time with the paste-command.
  • argent77argent77 Member Posts: 3,476
    That seems to be a bug (more specifically a regression from a change how copy&paste is handled since release v2.1-20170529). I'll try to find a fix.
  • kjeronkjeron Member Posts: 2,368
    The preset list of Scripting States/Stats for Opcode 282 is off.
    From 32 onward, all stats should be one less.
    32 is Chaos_Shield
    33 is NPC_Bump
    34 is Use_Any_Item
    35 is Assassinate
    etc...
    42 is StoneSkinsGolem
    43 is LevelDrain
    44 is DonotDraw

    The current stat for 32, Summon_Disable_Action, is skipped.
    The final stat, Ignoredraindeath109, cannot be set by this opcode.
    This may be EE-only (maybe a side effect of giving it a proper upper/lower bound, I don't know).
Sign In or Register to comment.