ffox on 4/10/2018 at 15:28
During the testing of a new T1 FM for the anniversary contest a strange thing has occurred. At the start the mission checks that NVScript.osm has loaded OK. Playing in Thief.exe the check fails, but it passes when playing in DromEd game mode.
If uber_mod_path OSM in cam_mod.ini is commented out Thief.exe passes the check and runs perfectly. (It gets the NVScript.osm the author included in the FM folder.) With uber_mod_path active it doesn't what version of NVScript is installed in folders other than OSM - Thief.exe fails the check, DromEd game mode runs OK.
Any ideas?
Unna Oertdottir on 4/10/2018 at 15:37
uber_mod_path overrides the active FM
check cam_mod.ini
ffox on 4/10/2018 at 18:13
Yes, but if we replace the NVScript version in the OSM folder with the one in the active FM it still fails.
What else should we check in cam_mod.ini? There is nothing else in uber_mod_path, and remember all is OK in DromEd game mode.
voodoo47 on 4/10/2018 at 18:33
my question would be - what kind of NVScript version is used by the FM? what kind of check is failing?
the idea of the OSM folder (using TFixed install, right?) is to always load the latest NVScript, no matter what version is supplied by the FM. this is desirable in 99% of cases, as scripts supplied with FMs tend to be out of date. however it can cause issues if you are using some custom fork, or some specific functionality that has been removed from the main build.
the test failing in the game exe but not in the Dromed exe is also strange, because both should load the OSM folder version afaik, so there should be no difference.
smithpd on 4/10/2018 at 21:20
Another tester here, one unfamiliar with dromed.
The main point is that in order for this FM to load NVScrpt successfully, the line "uber_mod_path OSM" must be commented out in the Thief\cam_mod.ini file, but for this mission only. Other missions with the same folder structure and NVScript versions do not require that "uber_mod_path OSM" be commented out. They work either way. Instructing users to comment-out that "uber_mod_path OSM" line is inconvenient. We are trying find a way to avoid this.
It doesn't seem to matter what version of NVScrpt is loaded. I tried both a 2017 version of NVScrpt that was delivered with the mission, originally installed in the Thief\FM\[mission_name] folder by FMSel, and an older 2016 version contained in my Thief\OSM folder. Both versions of the script file work when found in either or both folder locations. It boils down to the question, why must "uber_mod_path OSM" be commented-out for this mission and this mission only?
ffox then takes the question deeper....
smithpd on 4/10/2018 at 23:07
The T1 version 1.2.6 of NVScript.osm that you referenced in your link is identical to the file that the FM author provided. I checked this by downloading the T1 ZIP file and comparing bytes and date & time and by using the "fc" command to compare contents.
534 KB (546,816 bytes), December ‎30, ‎2017, 8:22:26 AM
The time is 9:22:26 AM in the ZIP, but it is 8:22:26 AM when extracted. Note that NV does not include the version information in his file properties.
As I said above, I don't think that this problem is related to the version of NVScript.osm that is being used. ffox has posted that it has something to do with checking during loading.
R Soul on 4/10/2018 at 23:17
Is it being checked with version.osm? Way back when I created All Torc, I configured VersionCheck to be very precise about what it was looking for (3 digits) and some players got incorrect failures.
smithpd on 4/10/2018 at 23:27
"Is it being checked with version.osm?"
I don't know. I am not knowledgeable in dromed or any of its coding functions, and I don't know how the checking was implemented. Maybe ffox can answer.
A 2016 version of NVScript.osm has exactly the same issues. ffox also posted that loading through dromed works, but Thief.exe fails, for both versions. I can't go beyond that.
Unna Oertdottir on 5/10/2018 at 05:29
Quote Posted by smithpd
ffox also posted that loading through dromed works, but Thief.exe fails, for both versions. I can't go beyond that.
The only difference that I know is a dml. Thief(2).exe is loading it every time, DromEd needs to be pushed. Since there are dmls involved in Tfix/TP this might be an issue.
A tester with dromed knowledge has to edit dromed.cfg. Add this line
apply_dbmods 1load the mission and watch monolog. Does the script work?