@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
That's odd. Are you sure you're running a recent version of NI (from May 2016 or later)?
I can't think of anything else that could interfere with DLC detection, except maybe some local peculiarities.
The file size of the DLC seems to differ somewhat from my own copy. Is the DLC undamaged and in the right format? If you open sod-dlc.zip with a zip manager (e.g. 7-zip) can you see a file called "mod.key" and a couple of folders?
I've noticed that your home folder is located on OneDrive. It could be that it somehow interferes with DLC detection.
If nothing else helps you can always merge the DLC with DLC Merger.
@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
That's odd. Are you sure you're running a recent version of NI (from May 2016 or later)?
I can't think of anything else that could interfere with DLC detection, except maybe some local peculiarities.
The file size of the DLC seems to differ somewhat from my own copy. Is the DLC undamaged and in the right format? If you open sod-dlc.zip with a zip manager (e.g. 7-zip) can you see a file called "mod.key" and a couple of folders?
I've noticed that your home folder is located on OneDrive. It could be that it somehow interferes with DLC detection.
If nothing else helps you can always merge the DLC with DLC Merger.
1. I downloaded the latest version from this thread that you have on the 1st post.
2. That is straight from Steam, fresh install with nothing else.
3. My "home" folder? I don't use One Drive either, so I have no idea what you're talking about.
4. I may try that, honestly I just wanted to steal some of the BAM files for my bg2 project but I can live without them.
I appreciate all your help on this one. If I ever decide to play SOD again I will do the merger. I doubt that will happen, though. Otherwise, thanks for the new version of NI! Much more stable and easier to use!
@argent77 would it be possible to add an option to search some word/phrase/character within the dialogue tree? Let's say I have expanded the dialogue tree, and I want to find a specific word, phrase or character, but only within this dialogue? I don't need NI to search the whole game, just this one dialogue tree.
would it be possible to add an option to search some word/phrase/character within the dialogue tree? Let's say I have expanded the dialogue tree, and I want to find a specific word, phrase or character, but only within this dialogue? I don't need NI to search the whole game, just this one dialogue tree.
That's already possible (but probably not very intuitive to find out on your own).
Switch to the View tab and select Find... > in this file only.
Enter your search text and perform the search.
Select the entry from the search results (if any) and click the "Open" button.
For states and responses you'll see a couple of small icons in the top-left corner of the respective panel in the View tab. Click on the second icon which looks like a stylized tree view to switch to the selected node in the Tree tab.
A request for a near-term release feature from someone generally unfamiliar with Near Infinity:
-Add an option for automatic updating of a BG1/BG2 mod to add EE compatibility. (BG to BGEE and BG2 to BG2EE.) This tutorial by CamDawg explains the general process, but there's the question of how best to automate it.
-Add an option for automatic updating of a BGEE/BG2EE mod to add EET compatibility. k4thos explains the methodology in this post, but there's the question of how best to automated it. (There's already some sort of automated mod converter to add EET compatibility, but I've rarely heard it discussed and I'm unsure how well it works for modern games and systems.)
Having these abilities would answer one of my most famous Infinity Engine-related questions of, "Is this mod EET compatible?" and may help me to contribute more technical updates to the Infinity Engine community. (Maybe these features already exist in NI, but I've just heard not them discussed.)
would it be possible to add an option to search some word/phrase/character within the dialogue tree? Let's say I have expanded the dialogue tree, and I want to find a specific word, phrase or character, but only within this dialogue? I don't need NI to search the whole game, just this one dialogue tree.
That's already possible (but probably not very intuitive to find out on your own).
Switch to the View tab and select Find... > in this file only.
Enter your search text and perform the search.
Select the entry from the search results (if any) and click the "Open" button.
For states and responses you'll see a couple of small icons in the top-left corner of the respective panel in the View tab. Click on the second icon which looks like a stylized tree view to switch to the selected node in the Tree tab.
Thanks @argent77. It is indeed not necessarily intuitive to find. I see two downsides of this solution: 1) Too many clicks to get the result; 2) It will jump only to only one position selected in the "Result" window. If you want to jump to another, you need to go back to "Result" window and click another hit (entry).
What I was thinking is to add a single search Field that would work more or less like a Search function in Notepad++, but working only in the opened file. It will just jump to the first appearance of the searched text and after hitting "Enter" it will jump to the next, and so on. Of course, I have no clue how much work this would require to implement, so if it's too much of a hassle for you, it's OK. Would be neat to have it, though
@Endarire Near Infinity and WeiDU are separate tools for different fields of application. Your requests should be more aimed at WeiDU or mod managers.
@Cahir I'll see if I can add the toolbar buttons from the View tab to the Tree tab as well. That should save you a click or two. Your suggestion for a quick search sounds like an interesting idea, but would probably require a lot of coding effort. I'll add it to the to-do list though. Maybe I can come up with something.
Every time you mess with "SPLPROT.2DA" (f.i. add a new entry), you're forced to quit NI and reopen it, otherwise NI cannot handle/recognize the new entry. Apparently, refreshing NI via pressing "F5" is useless in this case.
Every time you mess with "SPLPROT.2DA" (f.i. add a new entry), you're forced to quit NI and reopen it, otherwise NI cannot handle/recognize the new entry. Apparently, refreshing NI via pressing "F5" is useless in this case.
Intended or bug...?
It's an oversight. It'll be fixed in the next release.
@argent77, this is really minor, but I just wanted to note things with 2 of the opcode effects in NI (how some fields are labeled)
EEs - op184 (No collision detection in NI, aka Graphics: Passwall (Don't Jump) in IESDP)
I was messing around with this effect, together with wing buffet. Unfortunately, they cause various issues when used together, but the reason I'm mentioning this is because I found the info in NI slightly confusing, until testing it out myself.
If you look at the image, the highlighted field is labeled Pass Walls? (or Jump in IESDP). When used with Wing Buffet, if this field is set to 0, the target will be blocked or bumped by objects or impassable areas (basically same as not having the effect at all). When set to 1, wing buffet will pull/push the target through creatures/objects/areas. So the "No" setting for "Pass Walls?" is what removes collision detection.
The IESDP description, Jump or don't Jump (from impassable area), is probably more accurate, though it doesn't specifically mention removal of collision. The effect is described as having the purpose of placing creatures in impassable areas.
IWD2 - op135 (Polymorph)
For this one, I'm just noting that the only relevant field for shapeshifting is the Resource. The current version of NI has fields labeled Animation and Polymorph type, which do nothing (IESDP lists these fields as "Irrelevant"). Whatever's in the resource field, the character will change into, including Str/Dex/Con of the new form. Animation change, without changing stats, is still possible with op53.
EEs - op184 (No collision detection in NI, aka Graphics: Passwall (Don't Jump) in IESDP)
I was messing around with this effect, together with wing buffet. Unfortunately, they cause various issues when used together, but the reason I'm mentioning this is because I found the info in NI slightly confusing, until testing it out myself.
If you look at the image, the highlighted field is labeled Pass Walls? (or Jump in IESDP). When used with Wing Buffet, if this field is set to 0, the target will be blocked or bumped by objects or impassable areas (basically same as not having the effect at all). When set to 1, wing buffet will pull/push the target through creatures/objects/areas. So the "No" setting for "Pass Walls?" is what removes collision detection.
The IESDP description, Jump or don't Jump (from impassable area), is probably more accurate, though it doesn't specifically mention removal of collision. The effect is described as having the purpose of placing creatures in impassable areas.
Field names are certainly open to interpretation. NI usually prefers to describe field names by the effect that is noticeable in-game, while IESDP tends to use more technical names based on how the effect is implemented by the engine.
The current field name "Pass walls?" can certainly be improved, since the interpretation of the value is currently opposed to the usual interpretation of boolean values (0=yes, 1=no instead of 0=no, 1=yes). So I'm open for a better name in this case.
IWD2 - op135 (Polymorph)
For this one, I'm just noting that the only relevant field for shapeshifting is the Resource. The current version of NI has fields labeled Animation and Polymorph type, which do nothing (IESDP lists these fields as "Irrelevant"). Whatever's in the resource field, the character will change into, including Str/Dex/Con of the new form. Animation change, without changing stats, is still possible with op53.
The "Polymorph type" field is currently shown unconditionally for all games. I'll add an exception for IWD2. The animation field appears to be irrelevant in all games. It'll be removed in the next release. Thanks.
Starting with this release I'll include macOS-specific packages for Near Infinity which should provide better integration into the system. It was formerly maintained by @AstroBryGuy but hasn't been updated for some time.
Full Changelog:
Added wildcard support to the "Find resource" feature (magnifier icon above the resource tree):
Question mark characters (?) are treated as "match any single character"
Added new Check option: Check for string encoding errors (menu Tools > Check):
EE games: checks for malformed UTF-8 encoding
Original games: checks for unintended UTF-8 byte sequences
Added dialog tree viewer option "Sort states by weight"
BAM Converter:
Added basic file/folder drag&drop support to the frames list
"Delete" key shortcut can be used to remove selected entries from frame or cycle lists
Item ability flags are now presented based on ITM version
Redesigned credits section in "About Near Infinity" dialog
Improved loading time for games with large override folders
Improved symbolic names detection in decompiled scripts
Removed link to original Near Infinity website (which became unavailable recently) in "About Near Infinity" dialog
Removed unused "Times per day" field from SPL V1 ability structure
Removed useless timing mode 4096 from EFF V1 structures
Updated CRE flags
Updated SPL V1 flags
Updated EFF V2 "Dispel/Resist" and "Parent resource flags"
Updated VVC flags
Updated opcode 1: Add support for negative modifiers in EE games
Updated parameters of opcodes 135, 184 and 232
EEex-specific opcodes are properly handled on non-EEex game installations
Fixed case-sensitivity issues with file paths on Linux systems
Fixed (sometimes) choosing an incorrect script action when decompiling scripts if multiple definitions are specified in ACTION.IDS
Fixed sound references associated with string entries not being available if sound file is located in special override folders (e.g. "sounds")
Fixed deriving INI actor resource name in Area Viewer
Fixed issues with inline editing data in table view of structured resources
Fixed issue with exporting string table as TRA file when dialog.tlk path was located on a different (physical or virtual) filesystem as the game root path
Fixed ARE Entrance orientation field size
Fixed ARE search names not properly updated when loading a new game
Fixed data types referencing symbolic names not properly updated when loading or refreshing the game
Fixed selected string entry not being shown when String Editor is opened for the first time
Fixed incorrect BAM cycle check in creature animation decoder > "character_old" type
Added basic file/folder drag&drop support to the frames list
"Delete" key shortcut can be used to remove selected entries from frame or cycle lists
Ever since you showed me how to use this, @argent77 , I've been going crazy making BAMs. Once I'm happy with my work I'll share them with the community. This change is so welcome as it will make my work much easier, thank you!
In addition to the usual fixes and features, NI underwent a thorough internal restructuring of the whole code base which resulted in a slight increase of performance and stability, but may have also introduced a bug or two.
Full Changelog:
Reactivated BIFF editor (menu Edit > BIFF)
Added experimental "Export animation sequence" as APNG file to the Creature Animation Browser
Added search options (case-sensitive, regular expression, invert match) to the "Find CRE/ITM/SPL/STO" feature
Added system information summary when NI starts up (can be toggled via menu Options > Display system information at startup)
May also show warning messages if memory settings are too low for NI to work properly
Added native macOS menu bar integration (it is still recommended to use the macOS-specific NI package instead)
Added check for invalid STO V1.1 sale triggers to "Check for corrupted files" feature
Fixed audio playback blocking the whole application when an error occurred
Fixed using incorrect string table on BGEE with unmerged SoD DLC
Fixed creature name display for CHR resources in the View panel
Fixed false positives in "Check dialogues" feature
Fixed issue when sorting results by strref in the "Check for Illegal Strrefs" feature
Reduced false positives in "Check for Illegal Strrefs" feature
Improved 2DA file parsing in "Check for Illegal Strrefs" feature
Updated ITM V1 field for PSTEE: "Description image" -> "Pick up sound"
This is a quick bugfix release for v2.2-20220408. It fixes a parsing error in the 2DA table reader which resulted in an erroneous splprot table and incomplete results in search or check operations.
And attempting to compile a script with EEex_MatchObjectEx() where:
I:nNearest is not 0
I:range is 0
I:Flags is 0
results in NI emitting EEex_MatchObject() with the extra parameters stripped away. Example:
IF
True()
THEN
RESPONSE #100
EEex_MatchObjectEx("return B3Filter()",1,0,0)
DisplayStringHead(EEex_MatchObject,1) // No, I'm sorry, none of them sound familiar.
END
is turned into:
IF
True()
THEN
RESPONSE #100
EEex_MatchObject("return B3Filter()")
DisplayStringHead(EEex_MatchObject,1) // No, I'm sorry, none of them sound familiar.
END
It looks like the first integer parameter isn't being considered when deciding which form to compile as.
with the following error: "Resource not found: X.IDS". Seems it doesn't like the dash in the filename?
And, finally, a minor bug -- new objects added to OBJECT.IDS compile correctly, but don't get highlighted their orange color in the script editor. See the following with EEex_MatchObject:
Edit: I forgot to mention I'm using the latest release, though devel has the same problems.
It seems I'm having trouble with NI's script compiler.
I'll look into it.
And, finally, a minor bug -- new objects added to OBJECT.IDS compile correctly, but don't get highlighted their orange color in the script editor. See the following with EEex_MatchObject:
That's a limitation of the syntax highlighter. Color is overridden if the object identifier is identical with a script action. I'll see if I can improve the situation somehow.
Is there a guide to sart using Near Infinity (or even a tutorial video) ?
There's the Near Infinity Wiki which helps you getting started and explains most of the functionality. Apart from that, there are dedicated forum topics (here and over at Spellhold Studios) where you can ask for help if you're stuck.
Just note that NI was primarily made for modders, so it requires a bit of knowing the internals of the Infinity Engine to find your way around. This topic contains several more links and suggestions that can help you better understand the game engine.
I just updated to a new computer (Mac, from a 2015 model to a 2022 model) and NI has acquired a troublesome new issue. Specifically, every time I open up the program or a game profile, I get this error: "Error parsing baldur.lua. Using language defaults". Checking the game properties, the underlying problem is that the Home Folder is set wrong. It can't parse baldur.lua because it can't find it. Or any of the saves, for that matter.
So I tried to change the home folder. Nope. Can't edit that field. How do I fix this so that Near Infinity looks in the right place to find what's actually there?
I just updated to a new computer (Mac, from a 2015 model to a 2022 model) and NI has acquired a troublesome new issue. Specifically, every time I open up the program or a game profile, I get this error: "Error parsing baldur.lua. Using language defaults". Checking the game properties, the underlying problem is that the Home Folder is set wrong. It can't parse baldur.lua because it can't find it. Or any of the saves, for that matter.
So I tried to change the home folder. Nope. Can't edit that field. How do I fix this so that Near Infinity looks in the right place to find what's actually there?
By default NI uses "/Users/<username>/Documents/<game name>" as home path on macOS.
What path is detected by NI and what should be the right path on your side?
On closer examination ... neither the path shown in NI nor the actual location of the files has changed in my system upgrade. Which means that whatever broke is more subtle than that. The files are in Documents, and NI is using its default, but Documents isn't actually in the user folder. Instead, there's a hidden alias for it there. The actual Documents folder is on the iCloud drive (path "iCloud Drive/Documents/<game name>").
So on my old system (OS version 10.14.6), NI could follow that alias to find baldur.lua and the saves just fine. On the new system (OS version 12.4), it doesn't. Or at least, there's some reason it can't open the files. (I've checked the two other obvious potential culprits. NI is running on my account which has read/write permissions for everything, and none of the files in question have the "not downloaded" icon. The games can find their saves just fine.)
Did Apple really mounted an "iCloud Drive" folder under /? They were following UNIX principles so far AFAIK, so that is probably an abstraction. What does pwd in a console opened within the folder report?
I'm not command-line savvy enough to even know what pwd is, but from what I can tell iCloud Drive is a separate top-level volume. It's not available under / at all, except through aliases.
Another check ... if I run an "open something" command in NI, it can see the "Documents" alias in the user folder, but thinks that there's nothing inside.
@jmerry Did you start NI directly (via NearInfinity.jar) or use the macOS-specific app package? It's possible that using the app package enables additional macOS functionality that can help NI access iCloud drives.
Alternatively, you could disable the iCloud service. But that might not viable if you want to synchronize your data across multiple devices.
Did Apple really mounted an "iCloud Drive" folder under /? They were following UNIX principles so far AFAIK, so that is probably an abstraction. What does pwd in a console opened within the folder report?
No, iCloud Drive folder should be mounted as "/Users/USERNAME/Library/Mobile Documents/"
Of course, "Library" is normally a hidden folder in the user's home folder.
I'm using the Mac-specific app package. Which is still a Java app under the hood, so it really just looks better in the Dock.
OK, NI can find that path. Sort of. /Users/<username>/Library/Mobile Documents/com~Apple~CloudDocs/Documents. And then it thinks that folder is empty, just like the shorter /Users/<username>/Documents alias.
Meanwhile, if I try the same in an "Open" command in TextEdit, the path goes straight from Mobile Documents to Documents with no intermediate step. And sees all the stuff there, just like if it used one of the other paths.
Right. The path weirdness and the many aliases involved seem to be red herrings. The problem is that somehow NI specifically thinks that "Documents" is empty. I'll try disabling iCloud ... keep a copy, NI now sees that archived copy in an Open command, and doesn't throw an error starting up. But the "home folder" is now the app folder, so the saves still aren't visible by default. Re-enable the drive, and now Documents really is empty - until things get re-synced. I speed that up by restoring things from the local copy. And ... NI still thinks there's nothing there. Enough of that nonsense for now.
Comments
That's odd. Are you sure you're running a recent version of NI (from May 2016 or later)?
I can't think of anything else that could interfere with DLC detection, except maybe some local peculiarities.
The file size of the DLC seems to differ somewhat from my own copy. Is the DLC undamaged and in the right format? If you open sod-dlc.zip with a zip manager (e.g. 7-zip) can you see a file called "mod.key" and a couple of folders?
I've noticed that your home folder is located on OneDrive. It could be that it somehow interferes with DLC detection.
If nothing else helps you can always merge the DLC with DLC Merger.
1. I downloaded the latest version from this thread that you have on the 1st post.
2. That is straight from Steam, fresh install with nothing else.
3. My "home" folder? I don't use One Drive either, so I have no idea what you're talking about.
4. I may try that, honestly I just wanted to steal some of the BAM files for my bg2 project but I can live without them.
I appreciate all your help on this one. If I ever decide to play SOD again I will do the merger. I doubt that will happen, though. Otherwise, thanks for the new version of NI! Much more stable and easier to use!
That's already possible (but probably not very intuitive to find out on your own).
-Add an option for automatic updating of a BG1/BG2 mod to add EE compatibility. (BG to BGEE and BG2 to BG2EE.) This tutorial by CamDawg explains the general process, but there's the question of how best to automate it.
-Add an option for automatic updating of a BGEE/BG2EE mod to add EET compatibility. k4thos explains the methodology in this post, but there's the question of how best to automated it. (There's already some sort of automated mod converter to add EET compatibility, but I've rarely heard it discussed and I'm unsure how well it works for modern games and systems.)
Having these abilities would answer one of my most famous Infinity Engine-related questions of, "Is this mod EET compatible?" and may help me to contribute more technical updates to the Infinity Engine community. (Maybe these features already exist in NI, but I've just heard not them discussed.)
Thankee!
Thanks @argent77. It is indeed not necessarily intuitive to find. I see two downsides of this solution: 1) Too many clicks to get the result; 2) It will jump only to only one position selected in the "Result" window. If you want to jump to another, you need to go back to "Result" window and click another hit (entry).
What I was thinking is to add a single search Field that would work more or less like a Search function in Notepad++, but working only in the opened file. It will just jump to the first appearance of the searched text and after hitting "Enter" it will jump to the next, and so on. Of course, I have no clue how much work this would require to implement, so if it's too much of a hassle for you, it's OK. Would be neat to have it, though
@Cahir I'll see if I can add the toolbar buttons from the View tab to the Tree tab as well. That should save you a click or two. Your suggestion for a quick search sounds like an interesting idea, but would probably require a lot of coding effort. I'll add it to the to-do list though. Maybe I can come up with something.
Intended or bug...?
It's an oversight. It'll be fixed in the next release.
EEs - op184 (No collision detection in NI, aka Graphics: Passwall (Don't Jump) in IESDP)
I was messing around with this effect, together with wing buffet. Unfortunately, they cause various issues when used together, but the reason I'm mentioning this is because I found the info in NI slightly confusing, until testing it out myself.
If you look at the image, the highlighted field is labeled Pass Walls? (or Jump in IESDP). When used with Wing Buffet, if this field is set to 0, the target will be blocked or bumped by objects or impassable areas (basically same as not having the effect at all). When set to 1, wing buffet will pull/push the target through creatures/objects/areas. So the "No" setting for "Pass Walls?" is what removes collision detection.
The IESDP description, Jump or don't Jump (from impassable area), is probably more accurate, though it doesn't specifically mention removal of collision. The effect is described as having the purpose of placing creatures in impassable areas.
IWD2 - op135 (Polymorph)
For this one, I'm just noting that the only relevant field for shapeshifting is the Resource. The current version of NI has fields labeled Animation and Polymorph type, which do nothing (IESDP lists these fields as "Irrelevant"). Whatever's in the resource field, the character will change into, including Str/Dex/Con of the new form. Animation change, without changing stats, is still possible with op53.
Field names are certainly open to interpretation. NI usually prefers to describe field names by the effect that is noticeable in-game, while IESDP tends to use more technical names based on how the effect is implemented by the engine.
The current field name "Pass walls?" can certainly be improved, since the interpretation of the value is currently opposed to the usual interpretation of boolean values (0=yes, 1=no instead of 0=no, 1=yes). So I'm open for a better name in this case.
The "Polymorph type" field is currently shown unconditionally for all games. I'll add an exception for IWD2. The animation field appears to be irrelevant in all games. It'll be removed in the next release. Thanks.
Starting with this release I'll include macOS-specific packages for Near Infinity which should provide better integration into the system. It was formerly maintained by @AstroBryGuy but hasn't been updated for some time.
Full Changelog:
Ever since you showed me how to use this, @argent77 , I've been going crazy making BAMs. Once I'm happy with my work I'll share them with the community. This change is so welcome as it will make my work much easier, thank you!
In addition to the usual fixes and features, NI underwent a thorough internal restructuring of the whole code base which resulted in a slight increase of performance and stability, but may have also introduced a bug or two.
Full Changelog:
Apparently, the new version cannot property handle "splprot.2da"...
On an unmodded game, when using op318/324/326, it displays entry #104 as "RACE=HUMAN" instead of "RACE = specified value"...
I'll look into it.
This is a quick bugfix release for v2.2-20220408. It fixes a parsing error in the 2DA table reader which resulted in an erroneous splprot table and incomplete results in search or check operations.
It seems I'm having trouble with NI's script compiler. Adding these entries to ACTION.IDS: And attempting to compile a script with EEex_MatchObjectEx() where:
- I:nNearest is not 0
- I:range is 0
- I:Flags is 0
results in NI emitting EEex_MatchObject() with the extra parameters stripped away. Example:It looks like the first integer parameter isn't being considered when deciding which form to compile as.
EEex_MatchObjectEx("return B3Filter()",0,1,0) - compiles
EEex_MatchObjectEx("return B3Filter()",0,1,1) - compiles
EEex_MatchObjectEx("return B3Filter()",1,0,0) - fails
EEex_MatchObjectEx("return B3Filter()",1,0,1) - compiles
EEex_MatchObjectEx("return B3Filter()",1,1,0) - compiles
EEex_MatchObjectEx("return B3Filter()",1,1,1) - compiles
The trigger form of EEex_MatchObject() / EEex_MatchObjectEx() is even weirder:
EEex_MatchObjectEx("return B3Filter()",0,1,0) - fails
EEex_MatchObjectEx("return B3Filter()",0,1,1) - compiles
EEex_MatchObjectEx("return B3Filter()",1,0,0) - fails
EEex_MatchObjectEx("return B3Filter()",1,0,1) - compiles
EEex_MatchObjectEx("return B3Filter()",1,1,0) - compiles
EEex_MatchObjectEx("return B3Filter()",1,1,1) - compiles
Two of the integer parameters have to be filled for the trigger to compile as EEex_MatchObjectEx()?
Also, the final parameter uses flags from X-MATOBJ.IDS. That file looks like this:
NI refuses to compile when specifying a flag, such as: with the following error: "Resource not found: X.IDS". Seems it doesn't like the dash in the filename?
And, finally, a minor bug -- new objects added to OBJECT.IDS compile correctly, but don't get highlighted their orange color in the script editor. See the following with EEex_MatchObject:
Edit: I forgot to mention I'm using the latest release, though devel has the same problems.
That's a limitation of the syntax highlighter. Color is overridden if the object identifier is identical with a script action. I'll see if I can improve the situation somehow.
There's the Near Infinity Wiki which helps you getting started and explains most of the functionality. Apart from that, there are dedicated forum topics (here and over at Spellhold Studios) where you can ask for help if you're stuck.
Just note that NI was primarily made for modders, so it requires a bit of knowing the internals of the Infinity Engine to find your way around. This topic contains several more links and suggestions that can help you better understand the game engine.
So I tried to change the home folder. Nope. Can't edit that field. How do I fix this so that Near Infinity looks in the right place to find what's actually there?
By default NI uses "/Users/<username>/Documents/<game name>" as home path on macOS.
What path is detected by NI and what should be the right path on your side?
So on my old system (OS version 10.14.6), NI could follow that alias to find baldur.lua and the saves just fine. On the new system (OS version 12.4), it doesn't. Or at least, there's some reason it can't open the files. (I've checked the two other obvious potential culprits. NI is running on my account which has read/write permissions for everything, and none of the files in question have the "not downloaded" icon. The games can find their saves just fine.)
Another check ... if I run an "open something" command in NI, it can see the "Documents" alias in the user folder, but thinks that there's nothing inside.
Alternatively, you could disable the iCloud service. But that might not viable if you want to synchronize your data across multiple devices.
No, iCloud Drive folder should be mounted as "/Users/USERNAME/Library/Mobile Documents/"
Of course, "Library" is normally a hidden folder in the user's home folder.
OK, NI can find that path. Sort of. /Users/<username>/Library/Mobile Documents/com~Apple~CloudDocs/Documents. And then it thinks that folder is empty, just like the shorter /Users/<username>/Documents alias.
Meanwhile, if I try the same in an "Open" command in TextEdit, the path goes straight from Mobile Documents to Documents with no intermediate step. And sees all the stuff there, just like if it used one of the other paths.
Right. The path weirdness and the many aliases involved seem to be red herrings. The problem is that somehow NI specifically thinks that "Documents" is empty. I'll try disabling iCloud ... keep a copy, NI now sees that archived copy in an Open command, and doesn't throw an error starting up. But the "home folder" is now the app folder, so the saves still aren't visible by default. Re-enable the drive, and now Documents really is empty - until things get re-synced. I speed that up by restoring things from the local copy. And ... NI still thinks there's nothing there. Enough of that nonsense for now.