TTLG|Jukebox|Thief|Bioshock|System Shock|Deus Ex|Mobile
Page 2 of 2 FirstFirst 12
Results 26 to 39 of 39

Thread: A package of DML fixes for TG and TDP.

  1. #26
    Member
    Registered: Mar 2015
    Well, the original convict module required that quest variable traps and triggers use the "DesignNote" property for their parameters rather than the specialized "TrapQVar" property used by later iterations. Simply setting the latter property in the DML is sufficient to get everything working again there. Other issues related to differences in the victory script itself can generally be resolved by just setting the relevant goal-related quest variable to the proper value with a script once simulation starts.

  2. #27
    Zombified
    Registered: Sep 2004
    ok. well, took a look at the dml repo, yeah, lets just all use that. I'll convert the Trial gamesys dml into a mission dml (sooo inefficient, but oh well) and that should fix the current issue.

    new tbn_miss16.mis.dml:
    Code:
    DML1
    
    //T1 FM: Trial By Night by Skarza.MJA / Fixes: miss16.mis.dml
    
    FINGERPRINT
    {
    	661 [-37 44 -23]
    	1757 [-146 -59 -76]
    	672 [-101 62 -15]
    	388 [-298 74 -42]
    	1890 [-109 -45 -73]
    	1188 [-311 -72 -45]
    	939 [-142 61 -13]
    	1860 [-123 -27 -75]
    	QVAR "goal_target_4" == 1337
    }
    
    //unlit candles should not be frobable
    +ObjProp 271 "FrobInfo"
    {
    	"World Action" None
    }
    +ObjProp 281 "FrobInfo"
    {
    	"World Action" None
    }
    +ObjProp 282 "FrobInfo"
    {
    	"World Action" None
    }
    +ObjProp 683 "FrobInfo"
    {
    	"World Action" None
    }
    
    //candle setup needs to be put on the concretes, as we cannot safely fingerprint the gamesys. concretes 885, 881, 272, 1462, 689
    +ObjProp 885 "Scripts"
    {
    	"Script 0" NVRelayTrap
    	"Script 1" NVMetaTrap
    	"Script 2" NVRemovePropertyTrap
    	"Script 3" ""
    	"Don't Inherit" false
    }
    +ObjProp 885 "DesignNote"
    {
    	"" NVMetaTrapOn="FrobWorldEnd"; NVMetaTrapMeta="FrobInert"; NVMetaTrapOff="null"; NVRelayTrapOn="FrobWorldEnd"; NVRelayTrapTDest="^{1.7:Flame"; NVRelayTrapTOn="[1.0]WaterStim"; NVRemovePropertyTrapOn="FrobWorldEnd"; NVRemovePropertyTrapProp="FrobInfo";
    }
    +ObjProp 885 "FrobInfo"
    {
    	"World Action" Script
    }
    +ObjProp 886 "Scripts"
    {
    	"Script 2" NVRelayTrap
    	"Script 3" ""
    	"Don't Inherit" false
    }
    +ObjProp 886 "DesignNote"
    {
    	"" NVRelayTrapOn="Slain"; NVRelayTrapTDest="^{1.7:Candle"; NVRelayTrapTOn="FrobWorldEnd";
    }
    
    +ObjProp 881 "Scripts"
    {
    	"Script 0" NVRelayTrap
    	"Script 1" NVMetaTrap
    	"Script 2" NVRemovePropertyTrap
    	"Script 3" ""
    	"Don't Inherit" false
    }
    +ObjProp 881 "DesignNote"
    {
    	"" NVMetaTrapOn="FrobWorldEnd"; NVMetaTrapMeta="FrobInert"; NVMetaTrapOff="null"; NVRelayTrapOn="FrobWorldEnd"; NVRelayTrapTDest="^{1.7:Flame"; NVRelayTrapTOn="[1.0]WaterStim"; NVRemovePropertyTrapOn="FrobWorldEnd"; NVRemovePropertyTrapProp="FrobInfo";
    }
    +ObjProp 881 "FrobInfo"
    {
    	"World Action" Script
    }
    +ObjProp 882 "Scripts"
    {
    	"Script 2" NVRelayTrap
    	"Script 3" ""
    	"Don't Inherit" false
    }
    +ObjProp 882 "DesignNote"
    {
    	"" NVRelayTrapOn="Slain"; NVRelayTrapTDest="^{1.7:Candle"; NVRelayTrapTOn="FrobWorldEnd";
    }
    
    +ObjProp 272 "Scripts"
    {
    	"Script 0" NVRelayTrap
    	"Script 1" NVMetaTrap
    	"Script 2" NVRemovePropertyTrap
    	"Script 3" ""
    	"Don't Inherit" false
    }
    +ObjProp 272 "DesignNote"
    {
    	"" NVMetaTrapOn="FrobWorldEnd"; NVMetaTrapMeta="FrobInert"; NVMetaTrapOff="null"; NVRelayTrapOn="FrobWorldEnd"; NVRelayTrapTDest="^{1.7:Flame"; NVRelayTrapTOn="[1.0]WaterStim"; NVRemovePropertyTrapOn="FrobWorldEnd"; NVRemovePropertyTrapProp="FrobInfo";
    }
    +ObjProp 272 "FrobInfo"
    {
    	"World Action" Script
    }
    +ObjProp 14 "Scripts"
    {
    	"Script 2" NVRelayTrap
    	"Script 3" ""
    	"Don't Inherit" false
    }
    +ObjProp 14 "DesignNote"
    {
    	"" NVRelayTrapOn="Slain"; NVRelayTrapTDest="^{1.7:Candle"; NVRelayTrapTOn="FrobWorldEnd";
    }
    
    +ObjProp 1462 "Scripts"
    {
    	"Script 0" NVRelayTrap
    	"Script 1" NVMetaTrap
    	"Script 2" NVRemovePropertyTrap
    	"Script 3" ""
    	"Don't Inherit" false
    }
    +ObjProp 1462 "DesignNote"
    {
    	"" NVMetaTrapOn="FrobWorldEnd"; NVMetaTrapMeta="FrobInert"; NVMetaTrapOff="null"; NVRelayTrapOn="FrobWorldEnd"; NVRelayTrapTDest="^{1.7:Flame"; NVRelayTrapTOn="[1.0]WaterStim"; NVRemovePropertyTrapOn="FrobWorldEnd"; NVRemovePropertyTrapProp="FrobInfo";
    }
    +ObjProp 1462 "FrobInfo"
    {
    	"World Action" Script
    }
    +ObjProp 1463 "Scripts"
    {
    	"Script 2" NVRelayTrap
    	"Script 3" ""
    	"Don't Inherit" false
    }
    +ObjProp 1463 "DesignNote"
    {
    	"" NVRelayTrapOn="Slain"; NVRelayTrapTDest="^{1.7:Candle"; NVRelayTrapTOn="FrobWorldEnd";
    }
    
    +ObjProp 689 "Scripts"
    {
    	"Script 0" NVRelayTrap
    	"Script 1" NVMetaTrap
    	"Script 2" NVRemovePropertyTrap
    	"Script 3" ""
    	"Don't Inherit" false
    }
    +ObjProp 689 "DesignNote"
    {
    	"" NVMetaTrapOn="FrobWorldEnd"; NVMetaTrapMeta="FrobInert"; NVMetaTrapOff="null"; NVRelayTrapOn="FrobWorldEnd"; NVRelayTrapTDest="^{1.7:Flame"; NVRelayTrapTOn="[1.0]WaterStim"; NVRemovePropertyTrapOn="FrobWorldEnd"; NVRemovePropertyTrapProp="FrobInfo";
    }
    +ObjProp 689 "FrobInfo"
    {
    	"World Action" Script
    }
    +ObjProp 868 "Scripts"
    {
    	"Script 2" NVRelayTrap
    	"Script 3" ""
    	"Don't Inherit" false
    }
    +ObjProp 868 "DesignNote"
    {
    	"" NVRelayTrapOn="Slain"; NVRelayTrapTDest="^{1.7:Candle"; NVRelayTrapTOn="FrobWorldEnd";
    }
    trial.gam.dml can now be safely deleted. trivia: the original dml was just an exercise in how efficient one can get, trying to accomplish everything with as little code as possible. well, there goes that idea.


    the next TFix release will just load the repo. uhh, any sane way of downloading the complete set?


    //few more notes: some dmls have a redundant NVscript load command present. this is not needed, TFix loads this globally. technically not a problem though.
    Last edited by voodoo47; 3rd Mar 2024 at 12:09.

  3. #28
    Member
    Registered: Dec 2004
    Location: Germany

    All right, here are my findings. For problematic DMLs, mission names are in bold and italic.

    Usually, I only started all missions, and then looked into dbmod.log. I am still using TFix v1.27 downloaded on December 9th, 2019. AFAIK, it's the latest non-beta release.

    OSM\gamesys.dml seems to cause some warning messages (e.g., objects -1806, -1710) to appear in dbmod.log for any mission. I assume this is because it's a general fix that therefore has no FINGERPTNT section and sometimes tries to fix problems that are not present in a particular mission. Those messages have therefore been ignored by me.


    Saving Private Rye (Anne)
    dbmod.log: No error messages. DML is being loaded for original version (1999) and Komag's slightly corrected one (2002).

    The Blue Star
    dbmod.log: Fingerprint does not match due to typo. Should be "goal_target_3" instead of "goal_target_5" in dml file. With that change applied, DML loaded without error messages.

    A Dark Secret (AKA "Das Dunkle Geheimnis" in German)
    dbmod.log: No error messages. DML is being loaded for v1.0 (2010) as well as v1.1 (2014).

    A Noble Death (AKA "Gilder" or "Lady Gilder")
    dbmod.log: DML loaded without error messages.

    Bloodstone Prison
    dbmod.log: DML loaded without error messages.

    Golden Book (of Keepers)
    gol_miss20.mis.dml of FMdml and T1FMDML are identical. DML loaded without error messages for single mission v2.1 and v2.2, as well as the mission version included in the campaign.

    Hellerhouse
    dbmod.log: Warning messages for hh_gamesys.dml. hh_miss20.mis.dml loaded without error for a Hellerhouse version to which a fitting MISSFLAG.STR was added.

    La Frenier (real criminal boss)
    dbmod.log: One warning message for lfr_miss15.mis.dml.

    The Mystery Man
    dbmod.log: DML loaded without error messages.

    Seeds of Doubt
    dbmod.log: No error messages with "Seeds of Doubt" of September 16th, 2000, and none with the "alternate" version published by the author on November 9th, 2001.

    Torben (the traitor)
    dbmod.log: DML loaded without error messages.



    Mine Shock
    No idea for what that DML would be - it's not for the T2 version of "Mine Shock" (called "Main Shock").

    Stowaway
    DML is for the T2 mission of the same name, not for T1. The T1 and T2 missions are completely different, just their names are identical.



    Other things noted while testing:

    Trial by Night
    dbmod.log: New DML by voodoo loads without error messages.

    Mansion of Chaos
    dbmod.log: Lots of error messages due to trial.gam.dml in FMdml from TFix. Without this trial.gam.dml, things look good.
    actreact.gam.dml from T1FMDML is identical to the one of FMdml.

  4. #29
    Zombified
    Registered: Sep 2004
    correct on OSM/gamesys.dml, just ignore.

    QVAR "goal_target_5" == 693 for Blue Star looks ok, and that's what the repo has.

    hh_gamesys.dml will not be loaded, mission dmls cannot modify archetypes. whoever made this had no idea about that, probably, and did not test. repo has this solved by moving the fixes onto the concretes (ouch).

    La Frenier last bit of lfr_miss15.mis.dml needs to be changed from "max brightness" 10 to "brightness" 10 and the error will go away (though I seriously doubt this actually has an effect without a level reprocess).

    yes, if you have the new tbn_miss16.mis.dml, you can delete trial.gam.dml and the problem will be solved.


    good catches either way.
    Last edited by voodoo47; 3rd Mar 2024 at 17:41.

  5. #30
    Member
    Registered: Mar 2015
    Thanks for the look, baeuchlein. I have integrated the changes to Trial By Night and LaFrenier (despite the fact that several changes in the latter should not have any real effect).

    Quote Originally Posted by voodoo47 View Post
    the next TFix release will just load the repo. uhh, any sane way of downloading the complete set?


    //few more notes: some dmls have a redundant NVscript load command present. this is not needed, TFix loads this globally. technically not a problem though.
    You can download an archive of the entire repository with a web browser through the interface on the repo's main page (Code->Download ZIP), though I also just put an archive of just the latest Thief 1 DMLs here, if that would be easier. Let me know if you would like write access there.

    Yes, loading NVScript is redundant in the case of TFix, though it should be harmless. The new script load directives were originally included so that the DMLs could work even without the global gamesys DML, though I suppose this not really necessary here.

  6. #31
    Zombified
    Registered: Sep 2004
    thanks, downloaded and will include it in the next TFix release.

  7. #32
    Member
    Registered: Dec 2004
    Location: Germany
    Quote Originally Posted by voodoo47 View Post
    QVAR "goal_target_5" == 693 for Blue Star looks ok, and that's what the repo has.
    Are you really, really sure about this?

    If I understand it correctly, this means that the target object for goal_5 should be object (693). However, the mission does not have any entry for this goal in intrface\miss20\goals.str. But then it has an entry for goal_3 ("return to starting point"), and the starting room apparently has the number or ID 693.

    On the other hand, the DMLs (the one in T1FMDML from February 29th as well as the one in Jax' upload from March 3rd) seem to change something for the non- existing goals goal_4 and goal_5, but I don't understand what exactly they do.

    And what's more weird is that sometimes, the older or the newer DML for "Blue Star" is accepted (according to dbmod.log) here on my setup, while on other occasions, the same DML is rejected because of no fingerprint match. If this observation is true, then I can only assume some glitch in the fingerprint check of the game. Maybe it's related to a variable for a non-existant goal?

    I'm quite confused, and my migraine doesn't help either...

  8. #33
    Zombified
    Registered: Sep 2004
    the resources don't matter, what matters is what is set up in the editor. unused editor setups can also be used for fingerprinting, so it doesn't matter that the goal is not actually used, all that matters is it exists.

    if it's failing sometimes, try sharing the logs and/or replicate the issue reliably.


    Last edited by voodoo47; 4th Mar 2024 at 04:49.

  9. #34
    Member
    Registered: Dec 2004
    Location: Germany
    For me, goal_5 was not present, but goal_3. The quest variables display in DromEd therefore looked different from what you (voodoo) posted above.

    I discovered that there were at least two versions of "Blue Star", and I had the older one. You obviously had the newer one, which I also downloaded by now. The author has inserted two more loot goals, which moved the final goal (which targeted object 693) from goal_3 to goal_5, and he raised the number of difficulty levels. The older FM version I had does only have one difficulty, the one you have does have three.

    I have only one dbmod.log file that shows a situation where one of the two DML versions (the older one and the newest one from Jax) was loaded while the other was rejected. Unfortunately, I was not able to recreate this, and furthermore, log level was set rather low ("dbmod_log 10" in cam_ext.cfg), so the game did not show any detail of why one DML was accepted and the other one was not.

    The newer (current) version of "Blue Star" gave the fingerprint routine no trouble; the older and the newer DML were both always accepted by the fingerprint check. Likewise, all dbmod.logs except for that one I mentioned showed that for the older "Blue Star" version, the fingerprint did never match.

    I see no way to catch a bug that appears to show up very rarely and fails to be reproduced, so I vote for ignoring this unless something else comes up.

  10. #35
    Zombified
    Registered: Sep 2004
    yeah.

    making sure the latest version of a mission is downloaded is in the user's hands completely, nothing can be done there (make sure you have the latest version of TFix, latest version of EP2, yadda yadda). if the old download is distributed by a legit Thief resource download site, consider reporting it so they can flag the download or put it down.

  11. #36
    Member
    Registered: Dec 2004
    Location: Germany
    The download was made many years ago by me and then kept here. I doubt that any site still offers this old version for download. The only thing that was not my responsibility here is that the newer version of "Blue Star" was almost indistinguishable from the older one since the file name was the same, no version number was ever given, and the only change to the FM info file was that three difficulty levels were mentioned instead of one. Pretty easy for the player to not notice there had been a change.

  12. #37
    Zombified
    Registered: Sep 2004
    knew that something something mine existed; https://www.ttlg.com/forums/showthre...=1#post2470488

    should probably be added to Jax64's repo.

  13. #38
    Member
    Registered: Mar 2015
    That DML looks to be for the Thief 2 mission. Despite the name similarity, it is very different from the Thief 1 iteration and the DML is not compatible with it. It is already in T2FMDML, however.

  14. #39
    Zombified
    Registered: Sep 2004
    aha, so it's the T2 dml again, didn't actually check. ok, just ignore if that's the case.

Page 2 of 2 FirstFirst 12

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •