Interestingly, such BAM appears normally in game, only in NI, it cannot open. I use 1024 blocks to render high definition backgroungs. Above 1024 the bam is broken in game visually:
Would it be possible (after the fix) to use BAMs bigger than 1024 pixels? That would be huge help.
Interestingly, such BAM appears normally in game, only in NI, it cannot open. I use 1024 blocks to render high definition backgroungs. Above 1024 the bam is broken in game visually:
Would it be possible (after the fix) to use BAMs bigger than 1024 pixels? That would be huge help.
Yes, BAM V2 officially supports frame sizes up to 65535 pixels per dimension. I messed up PVRZ generation when I tried to add code that should reduce potential glitches around edges of logical texture blocks.
The game's BAM V2 importer seems to be more robust than NI's version. However, it could introduce glitches on the top-left borders under certain conditions because of the slight texture shift I mentioned in my previous comment.
Added new context menu options for text resources (2DA, IDS, INI):
Option to open selection or numeric value at current text cursor position as string references
Option to open selection or numeric value at current text cursor position as numeric IDS reference
Option to open selection or text at current text cursor position as game resource
Added new Preferences option "Use last available IDS symbol for display" to mimic WeiDU's behavior when resolving IDS tables with multiple definitions
Added new feature: SPLPROT Converter (found in Tools menu) to encode or decode splprot definitions
Added portrait icons preview to the icon selection list (e.g. used by opcodes 142, 169 and 240)
Added a help link to "Use regular expression" checkboxes in various search and check dialogs which opens a page that lists all supported regex features
Added option to include symbolic spell names in the search for spell resources
Added workaround to fix missing weapon overlays on some type 7000 creature animations
Reorganized Preferences categories: created new subcategory "Resources"
BAM Converter: fixed creation of BAM V2 resources with frames of dimensions >= 1024 pixels
BAM Converter: improved autodetection of PVRZ compression type for BAM V2 output
Improved reference search:
Implemented missing search for WAV references in BCS resources
Improved results of music, resource and string references in script and text resources
Improved BAM navigation controls (BAM Viewer and BAM Converter): jump to first/last cycle, jump to first/last frame, jump to specific cycle (BAM converter only)
Improved parsing of effect structures in ITM/SPL resources
Improved UI behavior of "Search CRE/ITM/SPL/STO" and "Advanced Search" while search operations are in process
Improved representation of area links in WMP resources
Improved WAV playback controls: reduces situations where time labels overlap each other
Included party scripts (*.bs) in BCS text search (menu Search > Text Search > BCS)
Changed behavior of selection lists in resource structures when filter mode is enabled: filter text is not automatically removed when a list item is selected
Restructured WMP viewer and added support of XNEWAREA.2DA for BG2:SoA worldmap
Updated opcodes 67, 108, 271, 323
Show memory usage display only on NI's main window
Fixed potential locking when opening a new game while a resource still contains unsaved data
Fixed opening ITM and SPL resources in BG2:SoA (without ToB) which formerly crashed because of missing MISSILE.IDS in this game
@argent77
im having some troubles with a script that add items to stores *could potentially be bugs*;
im using the line:
AddStoreItem("EHPOMAB","arow02",1,1)
now the first *1* represents how much of that item the store has, so if i did:
AddStoreItem("EHPOMAB","plat01",5,1)
that would mean pomab's store would have x5 suits of platemail
now, when it comes to stacks ( such as piles of potions, scrolls, gems, ammo, ect...
i would have thought the second *1* would represent that amount
so for example, if i wanted pomab's store to have 100 piles of x40 stacks of arrows+1 it would look something like this:
AddStoreItem("EHPOMAB","arow02",100,40)
the problem is, that second *1* seems to be bugged and all it does is, if you make the value more than 1, the stack size stays at 1, but also unidentifies the item as well if it can be unidentified
is this intentional and if so, how do i get around this?
and another thing:
if a store already has say potn08 x5 and you use the script:
addstoreitem("store","potn08",5,1)
you would think it would add x5 more potions so said store would have10
instead, it just overlaps the current amount to 5
so if said store had x5 potions and i wanted to add 5 more potions to store i have to do this:
addstoreitem("store","potn08",10,1)
which doesnt work the way i want it to because what if the player buys all 5 original potions? now im adding x10 more when i only want 5
The second numeric parameter of AddStoreItem() specifies item flags (see INVITEM.IDS for available values) and is usually set to 1 (identified).
The AddStoreItem() action is quite limited. You cannot define the number of charges of the items (which would be needed to sell scores of ammo) or define unlimited amount of items (which is commonly set for unenchanted ammo). Moreover, adding charged items can only be done by specifying the multiple of the number of charges. For instance, a single wand with 50 charges (as defined in the item ability header) is added by AddStoreItem("wand01",50,1).
And I think your observations are correct. The script action "sets" the number of items, so any existing stack of items will be overridden by this action. The action name is somewhat misleading in this regard.
Hi, I'm using the latest version and clicking on the big map doesn't show up, is this a bug?
if im not mistaken you need a .MOS file to view the world map it by the looks of it, you might be using a .WMP file?
i checked with every IE game and they all use .MOS files for the world map
@argent77 speaking about bugs with the new version of NI:
when i go to string table editor and press the "add" button, the program freezes and the mouse turns into the "thinking" icon forever and the only way out is to crash the program
Hi, I'm using the latest version and clicking on the big map doesn't show up, is this a bug?
I can confirm this issue in EET. It seems to be a regression from some improvements that were added to the worldmap viewer in the latest release. More specifically, it's caused by a bug or oversight in EET which Near Infinity overreacts to. I'll release a bugfix release shortly.
In the meantime you can work around it by opening XNEWAREA.2DA in NI and removing the single "1" in the last line (below the table header).Edit: According to EET this dangling number is needed, or the XP cap of the game will behave weirdly. (Probably an ancient holdover from oBG2 which determined whether the game contained the ToB expansion or not.)
when i go to string table editor and press the "add" button, the program freezes and the mouse turns into the "thinking" icon forever and the only way out is to crash the program
I can confirm this as well, but I can't say yet what's causing it.
Hi, I'm using the latest version and clicking on the big map doesn't show up, is this a bug?
I can confirm this issue in EET. It seems to be a regression from some improvements that were added to the worldmap viewer in the latest release. More specifically, it's caused by a bug or oversight in EET which Near Infinity overreacts to. I'll release a bugfix release shortly.
In the meantime you can work around it by opening XNEWAREA.2DA in NI and removing the single "1" in the last line (below the table header).Edit: According to EET this dangling number is needed, or the XP cap of the game will behave weirdly. (Probably an ancient holdover from oBG2 which determined whether the game contained the ToB expansion or not.)
Hey @argent77 im getting a very bizarre bug with NI
i have a script where if you wield 2 swords at the same time, you get a bunch of defensive bonuses
and once you take one of ( or both ) those swords off the bonuses go away
after a huge amount of trial and error ( some bonuses went away, some didn't, some became random some went into the negatives or tried going over 127 % ) i finally got it down to where only the magic resistance bonus is giving me a problem
so the script that i have on DPLAYER3 is;
IF
Global("twindef","LOCALS",0)
HasItemEquiped("hcon22",Myself) // Ninjatō of the Rising Sun +4
HasItemEquiped("hcon23",Myself) // Wakizashi of the Crescent Moon +4
THEN
RESPONSE #100
SetInterrupt(FALSE)
ReallyForceSpellDeadRES("twinde01",Myself) // No such index
SetGlobal("twindef","LOCALS",1)
SetInterrupt(TRUE)
END
IF
Global("twindef","LOCALS",1)
OR(2)
!HasItemEquiped("hcon22",Myself) // Ninjatō of the Rising Sun +4
!HasItemEquiped("hcon23",Myself) // Wakizashi of the Crescent Moon +4
THEN
RESPONSE #100
SetInterrupt(FALSE)
ReallyForceSpellDeadRES("twinde02",Myself) // No such index
SetGlobal("twindef","LOCALS",0)
SetInterrupt(TRUE)
END
so the source "twinde01" is as follows;
fire resist 50%
cold resist 50%
magic dam resist 10%
magic resist 10%
display; resist fire/cold
display; protected from magic energy
display; magic resistance
ac bonus vs all weapons; +2
save vs death bonus; +1
save vs wand bonus; +1
save vs poly bonus; +1
save vs breath bonus; +1
save vs spell bonus; +1
so, so far all good, when a player equips both swords ( and doesn't fire off when only one of either sword is equipped which is good) , the player get said bonuses and everything is hunky dory
then, when player takes one of said swords off, this source "twinde02" *fires i will say* and SHOULD do the following
remove resource (321) - twinde01
now this is where things got wonky in the beginning;
at first "twinde02" would get rid of; the portrait icons, the magic dam resist and thats it, the AC, saving throw bonus, fire/cold resist would still be there, and the magic resist would change to a different random amount anywhere from -100 to +127%
so then i added some effects to "twinde02";
fire resist -50%
cold resist -50%
magic resist -10%
ac bonus vs all weapons; -2
save vs death bonus; -1
save vs wand bonus; -1
save vs poly bonus; -1
save vs breath bonus; -1
save vs spell bonus; -1
after doing that, everything worked all hunky dory ( although in theory this shouldn't be necessary because of the remove effect 321 resource ) except again the magic resistance value continues to be random, whether i equip both swords, one of the swords, it keeps jumping around from -100 to 127%
i for the life of me cant figure out whats happening here, and the remove resource 321 code isn't working flawlessly as well (hence the ADDED need to FIX the things it was supposed to get rid of) or did i go wrong somewhere?
Hey @argent77 im getting a very bizarre bug with NI
i have a script where if you wield 2 swords at the same time, you get a bunch of defensive bonuses
and once you take one of ( or both ) those swords off the bonuses go away
after a huge amount of trial and error ( some bonuses went away, some didn't, some became random some went into the negatives or tried going over 127 % ) i finally got it down to where only the magic resistance bonus is giving me a problem...
It's probably the timing mode of the effects. For some opcodes timing mode 1 modifies the base stats of the target. They cannot be removed anymore afterwards. You could try to apply the effects with timing mode 0 and a very long duration.
Btw, issues like this or the AddStoreItem() issue before are unrelated to NI. I'd prefer if you opened separate topics for them.
Hey @argent77 im getting a very bizarre bug with NI
i have a script where if you wield 2 swords at the same time, you get a bunch of defensive bonuses
and once you take one of ( or both ) those swords off the bonuses go away
after a huge amount of trial and error ( some bonuses went away, some didn't, some became random some went into the negatives or tried going over 127 % ) i finally got it down to where only the magic resistance bonus is giving me a problem...
It's probably the timing mode of the effects. For some opcodes timing mode 1 modifies the base stats of the target. They cannot be removed anymore afterwards. You could try to apply the effects with timing mode 0 and a very long duration.
Btw, issues like this or the AddStoreItem() issue before are unrelated to NI. I'd prefer if you opened separate topics for them.
ah my bad, i wasn't sure if they were NI problems or not, since NI is the only tool i've been using
Added new feature "Generate WeiDU changelog": Produces an interactive list of mod components that made changes to selected game resources. Option can be found in the File menu or the context menu of the resource tree. A WeiDU executable is required which can be specified in the Preferences ("Resources" section) or is autodetected if found in the game directory.
Improved synchronization of the string table if external tools, such as WeiDU, or multiple NI instances made modifications.
Fixed worldmap not showing up in the WMP view tab in EET games.
Fixed blocking issues when adding or removing entries from the string table.
Fixed marking the string table as "modified" when removing entries.
I see the generate weidu changelog, but it is always greyed out on everything. What do I need to do to get it functional?
NI needs WeiDU for this operation. You can specify the path to the WeiDU binary in the "Resources" section of the Preferences dialog or it'll be autodetected if it can be found in the system path or the root folder of the current game.
CRE files don't display the correct portrait if the image is located in home:/portraits (even though the images show up in the "Portraits" branch).
I can't reproduce this issue on my system. When you open the portrait from the CRE's "Small/Large portrait" field (in Edit tab) which path is shown for the BMP in the status bar of the window?
so i made a "new" area ( by copy pasting an already existing area ) and everything so far is honky doory, except for the fact that for the life of me, i cannot get the travel icon to appear in game when i warp to this area
does NI possess the ability to make it so i can travel to the world map when i put the cursor at the edge of the screen?
so i made a "new" area ( by copy pasting an already existing area ) and everything so far is honky doory, except for the fact that for the life of me, i cannot get the travel icon to appear in game when i warp to this area
does NI possess the ability to make it so i can travel to the world map when i put the cursor at the edge of the screen?
Worldmap travel is triggered through the search map of an area. More specifically, search bitmap pixels of color index 14 (IESDP info).
Comments
Would it be possible (after the fix) to use BAMs bigger than 1024 pixels? That would be huge help.
Yes, BAM V2 officially supports frame sizes up to 65535 pixels per dimension. I messed up PVRZ generation when I tried to add code that should reduce potential glitches around edges of logical texture blocks.
The game's BAM V2 importer seems to be more robust than NI's version. However, it could introduce glitches on the top-left borders under certain conditions because of the slight texture shift I mentioned in my previous comment.
Changelog:
im having some troubles with a script that add items to stores *could potentially be bugs*;
im using the line:
AddStoreItem("EHPOMAB","arow02",1,1)
now the first *1* represents how much of that item the store has, so if i did:
AddStoreItem("EHPOMAB","plat01",5,1)
that would mean pomab's store would have x5 suits of platemail
now, when it comes to stacks ( such as piles of potions, scrolls, gems, ammo, ect...
i would have thought the second *1* would represent that amount
so for example, if i wanted pomab's store to have 100 piles of x40 stacks of arrows+1 it would look something like this:
AddStoreItem("EHPOMAB","arow02",100,40)
the problem is, that second *1* seems to be bugged and all it does is, if you make the value more than 1, the stack size stays at 1, but also unidentifies the item as well if it can be unidentified
is this intentional and if so, how do i get around this?
and another thing:
if a store already has say potn08 x5 and you use the script:
addstoreitem("store","potn08",5,1)
you would think it would add x5 more potions so said store would have10
instead, it just overlaps the current amount to 5
so if said store had x5 potions and i wanted to add 5 more potions to store i have to do this:
addstoreitem("store","potn08",10,1)
which doesnt work the way i want it to because what if the player buys all 5 original potions? now im adding x10 more when i only want 5
is there a way around this or can this be fixed?
The AddStoreItem() action is quite limited. You cannot define the number of charges of the items (which would be needed to sell scores of ammo) or define unlimited amount of items (which is commonly set for unenchanted ammo). Moreover, adding charged items can only be done by specifying the multiple of the number of charges. For instance, a single wand with 50 charges (as defined in the item ability header) is added by AddStoreItem("wand01",50,1).
And I think your observations are correct. The script action "sets" the number of items, so any existing stack of items will be overridden by this action. The action name is somewhat misleading in this regard.
AddStoreItem("xxx",1,1,x,x)
can make it so those single *x* represent quantity/charges, infinite supply and such?
That's a hardcoded in the engine and has nothing to do with NI. You could ask the devs to add it (rather unlikely) or make a feature request in the EEex topic: https://forums.beamdog.com/discussion/71798/mod-eeex-v0-10-2-alpha
ah i see, fair enough
if im not mistaken you need a .MOS file to view the world map it by the looks of it, you might be using a .WMP file?
i checked with every IE game and they all use .MOS files for the world map
@argent77 speaking about bugs with the new version of NI:
when i go to string table editor and press the "add" button, the program freezes and the mouse turns into the "thinking" icon forever and the only way out is to crash the program
woops didnt notice that the map is .WMP my bad, but in any case, are you sure your file is a .MOS file?
It's working for me:
In the meantime you can work around it by opening XNEWAREA.2DA in NI and removing the single "1" in the last line (below the table header). Edit: According to EET this dangling number is needed, or the XP cap of the game will behave weirdly. (Probably an ancient holdover from oBG2 which determined whether the game contained the ToB expansion or not.)
I can confirm this as well, but I can't say yet what's causing it.
i have a script where if you wield 2 swords at the same time, you get a bunch of defensive bonuses
and once you take one of ( or both ) those swords off the bonuses go away
after a huge amount of trial and error ( some bonuses went away, some didn't, some became random some went into the negatives or tried going over 127 % ) i finally got it down to where only the magic resistance bonus is giving me a problem
so the script that i have on DPLAYER3 is;
IF
Global("twindef","LOCALS",0)
HasItemEquiped("hcon22",Myself) // Ninjatō of the Rising Sun +4
HasItemEquiped("hcon23",Myself) // Wakizashi of the Crescent Moon +4
THEN
RESPONSE #100
SetInterrupt(FALSE)
ReallyForceSpellDeadRES("twinde01",Myself) // No such index
SetGlobal("twindef","LOCALS",1)
SetInterrupt(TRUE)
END
IF
Global("twindef","LOCALS",1)
OR(2)
!HasItemEquiped("hcon22",Myself) // Ninjatō of the Rising Sun +4
!HasItemEquiped("hcon23",Myself) // Wakizashi of the Crescent Moon +4
THEN
RESPONSE #100
SetInterrupt(FALSE)
ReallyForceSpellDeadRES("twinde02",Myself) // No such index
SetGlobal("twindef","LOCALS",0)
SetInterrupt(TRUE)
END
so the source "twinde01" is as follows;
fire resist 50%
cold resist 50%
magic dam resist 10%
magic resist 10%
display; resist fire/cold
display; protected from magic energy
display; magic resistance
ac bonus vs all weapons; +2
save vs death bonus; +1
save vs wand bonus; +1
save vs poly bonus; +1
save vs breath bonus; +1
save vs spell bonus; +1
so, so far all good, when a player equips both swords ( and doesn't fire off when only one of either sword is equipped which is good) , the player get said bonuses and everything is hunky dory
then, when player takes one of said swords off, this source "twinde02" *fires i will say* and SHOULD do the following
remove resource (321) - twinde01
now this is where things got wonky in the beginning;
at first "twinde02" would get rid of; the portrait icons, the magic dam resist and thats it, the AC, saving throw bonus, fire/cold resist would still be there, and the magic resist would change to a different random amount anywhere from -100 to +127%
so then i added some effects to "twinde02";
fire resist -50%
cold resist -50%
magic resist -10%
ac bonus vs all weapons; -2
save vs death bonus; -1
save vs wand bonus; -1
save vs poly bonus; -1
save vs breath bonus; -1
save vs spell bonus; -1
after doing that, everything worked all hunky dory ( although in theory this shouldn't be necessary because of the remove effect 321 resource ) except again the magic resistance value continues to be random, whether i equip both swords, one of the swords, it keeps jumping around from -100 to 127%
i for the life of me cant figure out whats happening here, and the remove resource 321 code isn't working flawlessly as well (hence the ADDED need to FIX the things it was supposed to get rid of) or did i go wrong somewhere?
It's probably the timing mode of the effects. For some opcodes timing mode 1 modifies the base stats of the target. They cannot be removed anymore afterwards. You could try to apply the effects with timing mode 0 and a very long duration.
Btw, issues like this or the AddStoreItem() issue before are unrelated to NI. I'd prefer if you opened separate topics for them.
ah my bad, i wasn't sure if they were NI problems or not, since NI is the only tool i've been using
Changelog:
NI needs WeiDU for this operation. You can specify the path to the WeiDU binary in the "Resources" section of the Preferences dialog or it'll be autodetected if it can be found in the system path or the root folder of the current game.
I can't reproduce this issue on my system. When you open the portrait from the CRE's "Small/Large portrait" field (in Edit tab) which path is shown for the BMP in the status bar of the window?
It shows the one from 'portrait.bif':
Ah, you've placed a BMP of the same name as the original bitmap into the portraits folder. I can reproduce it now. I'll look into it.
TLK syntax highlighting OFF
I can't reproduce that issue. Fonts are system-specific (and partially Look&Feel-specific), however, which is not completely under NI's control.
does NI possess the ability to make it so i can travel to the world map when i put the cursor at the edge of the screen?
Worldmap travel is triggered through the search map of an area. More specifically, search bitmap pixels of color index 14 (IESDP info).