Excellent work. I'd long ago accepted that many older missions were just not going to work correctly ever again, but yet here we are!
As a result of the many reports of particular fan missions exhibiting issues in a NewDark environment, there have been efforts to improve compatibility with these missions; however, the manner in which these fixes are presented can make it difficult for average users to correctly apply them.
T2FMDML is a collection of both preexisting and entirely new fixes for many Thief 2 fan missions that have compatibility issues with NewDark and other problems. It is currently included in the latest release of T2Fix, but can also be obtained in a standalone form here if so desired. This archive was complied through the combined efforts of members fortuni, Glypher, Unna Oertdottir, and myself following a discussion on the matter and vital work by member voodoo47.
These fixes require NewDark 1.27 or newer and the latest versions of NVScript, the Public Scripts, and tnhScript to properly function. This package will continue to be updated as new fixes surface.
T2FMDML currently addresses issues in the following fan missions and campaigns:
Download T2FMDML Release 4Code:A. K. A. Noah The Abandoned Castle Ack! There's a Zombie in the Basement After Dark The Airship Akhenaten's Tomb All Torc Amnesia Among Two Storms Arac Attack Ashcourt Ashes and Dust Assault at the Gas Station Auldale Chess Tournament Bad Blood Bad Intentions Bafford's Town House Balfour's Secret Bane 1 - Keep of Deceit Bane 2 - Cult of the Damned A Bank Job The Bathhouse The Blackheart's Recording Bloodmist Tower Bloodsport The Bloody Flounder's Inn Bloody Ruins Book of Prophecy part 1: Dead Letter Box The Box Brawl in the Tombs Breaking the Stone Breakout from Apocalypse Prison The Builder's Hammer Burglary in Blackbrook Calendra's Legacy Carkess Escape Carneval Cataclysmic Revelations Campaign The Cathedral Cathedral of the Damned The Cell Next Door Children of the Future Chon Migoroshi Choose Your Own Adventure Christmas Present Chronicle of the Metal Age Citadel of Douro Claire's Harbour The Clean Out The Clocktower The Cloisters of St. Lazarius Coalport Complications Conspiracies in the Dark Cragscright Prison The Creepy Temple Crom's Blade Cryptic Cravings The Cube Curiosity The Curiosity Shop The Curse Curse of the Carnival Curse of the Hammerites CZSK Council Damsel in Distress Dancing with the Dead Dark Messiah Dead Flower The Dead of Winter Death's Cold Embrace A Debt Repaid Deep Trouble: City Under the Sea Delford Abbey The Den The Diamond Doschtles Beginn The Dream of Tyrus The Drop The Drymian Codex Dwelling Insanity Eastwater Bank Gold Easy Bank Elevator Mission Evendale Evirath's Misery The Eye of the Gems: Shadows and Fog The Fall of Anduin Karol The Fever Fierce Competition First Day of Winter Five Tigers: Eye of the Tiger Five Tigers: HBS Iron Butterfly Fletcher's Final Mistake Flowers for a Friend The Focus The Folly of Youth Forbidden Rites Fortune and Glory Four Weapons Freedo Finds One Freedom for Nepumuk Frozen Mines Garrett and the Beanstalk Gathering at the Inn Gearheart The Ghost House and The Haunted Hospital Ghost Town The Gold Skull of Lord Frobb The Good Samaritan Greenbay The Greyfeather Gems - Part 2: Rodamill A Guard Called Benny Guardsmen of Haddur Haddur Hammerite's Brutality Happy New Year, Mister Lambert! The Hashishans The Haunting Heading Out Heartcliff Islands Heist Society Heretics and Pagans The Hidden Stone The Hightowne Museum Home Sweet Home The Homeless Dude Horns of Canzo pt. 1: A Long way Up House of Random In dubio pro Garrett In These Enlightened Times Insurrection JailBreak The Jarlson Manor The Jewel of Ghandar Just Friends part 1 Just for Show The Karrassinian Threat Keeper of the Prophecies A Keeper's Betrayal The Keepers are Thirsty Keyhunt Kill Factory Kill Factory II: Escape from the Planet of the Robots Konkurrenten Last Caress The Legend of the Four Elements: The Last Hope The Librarian Library pt 1: The Town Lord Alan's Basement Lord Ashton Series Lord Burkhard Lord Fishkill's Curse Lord Gibson's Estate Lord Hammerarse Manor The Lost Crusade Lost Souls A Love Story II A Love Story III A Love Story IV Lovely Night Lucrative Opportunity Mad as a Hatter Main Shock Mask of Agamemnon McLeod's Revenge Mech Bank Meeting Memoirs of a Dead God Merchant's Manor Midday Escape Mind Master A Mother's Love The Mountain Monastery Mr. J's Ring Mylokh's Tower Mysterious Invitation Mystery at the St. Anne Inn Mystic Gems I - Unlucky Soul The New Sheriff Night at the Theatre The Night I Ghosted Berkshead A Night in Rocksbourg: A New Beginning A Night in Rocksbourg: Discovery A Night in the Pub Night Watch No More Clients for Monty Nostalgia Obligatory Prison Mission Old Comrades, Old Debts An Old Friend Orthodox Wedding Partytime (Demo Rework) Payback Pereira's Mansion A Pirate's Downfall Pirates Ahoy! Plagiarism Podroz do Krainy Biedakow Portisco Head Precarious Business Properly Paranoid Quamtotius Purgamentum The Quiet Heat The Radiant Garden Ranstall Keep Ravencourt's Mansion Rebel The Rebellion of the Builder Reflections The Relic Relics Retaliation Reunion with Basso The Rise of the Mechanists The Ritual Rosaries are Red Ruined Ruins of Originia Safe Haven The Saint Saints and Thieves Secret Breaking of a Pyramid A Servant's Life The Seven Shades of Mercury The Seven Sisters Shadow Plans Shadows in our Blood Shining Standards A Shopping Stopover Sisterhood of Azura part 1: Estheridge Sisterhood of Azura part 2: The House The Skygem Connection Slow But Steady Progress A Smuggler's Request Sneaking Through Venice Snobs part 1 Snobs part 2 Snowstorm Some Shopping Space Thief SSDD part I: Tipping the Scales Stowaway Strife Campaign Stronghold The Suffer Catalyst Sunset in Darkdale Swamped Temple of the Tides Thief 2X: Shadows of the Metal Age Thief - The Chain Project Thief Trinity Thork Three Crowns Three Mages Tomb The Throne Room Through No Vault of My Own Through the Lookin' Glass The Ties that Bind Time for Culture Torn Apart Torner Island Treason and Plot TTGM: Chasm of the Lost TTGM: Errand Boy TTGM: Up Shit Creek Troubling Transitions Ultima Ratio Undead Reckoning Under Templehill Underneath Uninvited Guest United Bank of Auldale Unknown Treasure UnMasked Unnecessary Risk Viktor Gaspar Volcano Island Prison Facility Von Ratten, Spinnen un einer Flucht Walkin' Da Moon A Water Arrow in the Fire The WaterWay Tunnel part 2 The Way of the Sword We Miss You, Bob! The Wedding of Lady Dark What Lies Below What a Drag! Working the Mines Worlds Collide
To access in-development DMLs or contribute, please see the GitHub repository.
To install this package, use a mod loader or just extract the archive to a location of your choice and change your mod path, which can be found in "cam_mod.ini", to include the location to which you extracted it.
Last edited by Jax64; 29th Aug 2021 at 04:42. Reason: Release 4
Excellent work. I'd long ago accepted that many older missions were just not going to work correctly ever again, but yet here we are!
Thank you so much for all the efforts you've put in this project![]()
Amazing work guys - I am one of those who did struggle a bit trying to work out what to do, so all this now being part of T2Fix is a godsend.
Thanks to each of you for your work. This is great and much appreciated!
Could you please tell how to install using thief 2 fan mission selector? When i install a mission the gam.dml does not show in the FMs folder example C:\games 1\Thief 2\FMs\bathhouse.
thanks
You do not install using FM selector, placing in FMs folder or any other thief folder (unless manually installing).
FMdml is a package that is now included in T2Fix.
Download the latest T2Fix, link above, and tick the 'Thief 2 FM Fixes' box in the options box. The FMdml package will automatically apply all fixes (including any .gam files needed) to their respective missions.
Ps. You won't see any .dml or .gam file installed by FMdml in any of your folders, it's all done via T2Fix behind the scenes.
Last edited by fortuni; 3rd Aug 2019 at 06:52.
pretty sure everything is automatic if you patch up with the latest T2Fix. you just do that, and you are done, no edits or anything.
FMdml is an optional extra with T2Fix (just like T2Skies, Interactive candles, Thief Enhancement pack etc).
You need to agree to the 'Thief 2 FM Fixes' in the options box when installing, but yes after that everything is automatic. 140 missions fixed and many many more to come.
Last edited by fortuni; 3rd Aug 2019 at 06:52.
Are you going to release updates to this mod from time to time? If so, an alternative individual distribution would be a good idea, I think.
Assuming, that there won't be any updates to New Dark in the meantime, downloading newer version of T2Fix (v1.127b, c d etc...) would be an overkill for a mod that is less than 1Mb in size.
Jax will be intermittently releasing updates of the FMdml package, how often is a question for him, but the next set of missions we are working on are the 2006 missions, hopefully I'll have bug tested all of them before the end of this year and he will certainly be releasing an updated FMdml package then, if not before hand but either way any update to the package will will posted in this thread to keep you guys informed.
You can install FMdml manually, there's a link to the manual d/l at the bottom of the OP.
For manual installation all you need to do is extract the 7z file into your T2 folder and add T2FMDML to your mod path.
To manually update an existing FMdml all you'll need to do is extract the new 7z file into your T2 folder and over-write any existing files.
Last edited by fortuni; 3rd Aug 2019 at 06:53.
Great!
BTW. this package is fleshing out what seems to be the main idea behind the dml feature. I think Le Corbeau should be proud of you guys!(we - the FMdml mod consuments - are anyway!). And maybe, this will convince him, that the community is now ready for new toys... (as in, engine improvements!)
![]()
![]()
Jax would need to give a specific answer why he set it up that way, but this way players have the option of disabling this mod more easily than having to re-installing T2Fx, just as you can with other mods such as HDmod, NecroAge etc...
T2FMDML is automatically added to the mod path if it is selected in T2Fix; no additional configuration is necessary. This is only required if installing the package manually.
This has been added to the FM Information Links thread. Thank you.
The dml file for the short FM "Old Comrades, Old Debts" makes the mission unwinnable, because it removes the "Sim" flag from the lever you need to pull at the end.
This happens because the property values in the DML are lowercase, but those property values are case-sensitive and need to be in title case.
There's a few instances in this file, I haven't checked all the other DMLs for similar issues.
This doesn't work:
It should be:Code:"Joint1AnimC" sim
Code:"Joint1AnimC" Sim
(Not that the mission is winnable anyway, since it teleports you back into the explosion to die, no matter where in the mission you are. I think you have to play it on Normal to be able to survive. The DML fix should probably delete the two EmitterTraps that bring the player back into the room during the explosion sequence.)
Last edited by Nameless Voice; 5th Jan 2020 at 13:01.
Thanks for bring this to our attention, but in this case the dml is good.
The dml was to make the explosion less severe as with ND, even if you had max health, you would always die in the explosion. I've just tested the dml again and it works, so long as you have reasonably full heath you'll survive, but if you change the 'S' in sim to a capital S the explosion always kills you, so your correct that the property values are case sensitive but with lower case being the correct one.
What doesn't work is that the mission doesn't end. When I manually tested the dml it did, once you had survived the explosion, but when playing via FMdml package it doesn't.
What we can do is add to the dml a fix to make sure it does finish, possibly by forcing players to head through the hole in the wall to the left of the stairs, Get Out room (493).
As for deleting the Emitter Traps Unna and I wouldn't do that as we never make any changes to the authors design and game play unless there was absolutely no other option available.
PS. You can only play this mission on normal, all difficulties are the same.
Last edited by fortuni; 6th Jan 2020 at 20:36. Reason: Strike through false information.
The difficulties may have been renamed, but they are still there, and have the usual Normal/Hard/Expert gameplay differences, with the one that's relevant here being Garrett's health pool.
It is not possible to survive the explosion on Expert at all, no matter what you do.
The DML fix makes the lever move much slower, so presumably the idea was to allow you to leave the room before the explosion, but it doesn't work because the lever only moves while on-screen, and you get teleported back into the room anyway.
Either way, I'm sure intentionally trying to set setting an invalid value is not the correct solution.
If for whatever reason you really want the lever to only move when the player is looking at it, the correct solution would be to specifically clear the flags, rather than trying to set them to an invalid value.
As an aside, the fingerprint is also fairly weak, as it just relies on a goal 6 having a target of 493, which while somewhat unlikely, is not impossible for multiple FMs to share.
Ideally, there should be at least three different checks in the fingerprint to ensure that it's really only applying to the correct mission.
Unna’s only intention was it to make players survive the explosion, running and hiding in a different location was not a consideration for Unna when she first made this dml all the way back in 2017 but she’s taking a break atm so Jax and I are working on a new dml atm to fix this mission so will take all you mentioned into account, and thanks for pointing out that there are 3 different difficulties.
As it says on the opening screen that all the difficulties are the same I may have only ever played in on normal difficulty not realising there were hard difficulties available.
As for the fingerprinting method that has already been addressed and has been applied to every dml in the next release of T2Fix/FMdml that we will release as soon as we have fixed this mission.
I loaded and tested every miss file of every mission including the camvators, which must have been in the region of 1400 miss files and we now think we have a 100% secure fingerprint identity system in place.
Even if there are no specific difficulty-specific changes in a mission, the standard differences always apply (unless someone specifically went to the effort to remove them, which seems unlikely):
Normal:
Player has 22 hit points, 35 seconds of air, only takes 80% damage, receives double healing
Hard:
Player has 16 hit points, 32.5 seconds of air, only takes 90% damage
Expert:
Player has 10 hit points, 30 seconds of air
Sometimes FM authors note that all the difficulty settings are the same, or even change the names of them all to be the same thing, but I've never seen a mission that removed the above differences.
I've just replayed this mission on all 3 difficulties, and have beaten it on all difficulties. My error in thinking the mission does not finish was that I had failed to read the Ringleaders plans scroll which means I had not triggered the objective ''Now that you have the ringleader's scheme, you can get out of this cursed place using tunnels in the basement."
Once I had done that and thus triggered all objectives I went to the basement, flipped the lever, crouched behind the stairs, got a health potion ready, and hit use/drink the moment the first explosion occurred, this gave me enough new health points to survive, but you then need to rush to the other side of the basement to survive the second explosion. Enter the hole in the wall and mission completes correctly, this works on all 3 difficulties.
There are 2 health potions in the mission, on the ringleader patrolling the lower level and in the footlocker in the attic, you may need to use both of expert.
You may need a bit of trial and error but it works, the dml doesn't need changing.
The next release of T2FMDML is now available in the first post, now accounting for all missions released up to and including the year 2007. All mission DMLs are now fingerprinted using object IDs/locations rather than quest variables, substantially decreasing the likelihood of multiple missions incorrectly matching the same fingerprint.
This release is integrated into T2Fix 1.27b.
Last edited by Jax64; 10th Jan 2020 at 00:24. Reason: updated information
I tried including T2FMDML when playing T2X, but it crashes upon loading the first mission. If I remove '+T2FMDML' from the cam_mod.ini it starts up just fine. I'm using T2Fix 1.27b.
Problem signature:
Problem Event Name: APPCRASH
Application Name: Thief2.exe
Application Version: 1.9.0.0
Application Timestamp: 5d0521ee
Fault Module Name: Thief2.exe
Fault Module Version: 1.9.0.0
Fault Module Timestamp: 5d0521ee
Exception Code: c0000005
Exception Offset: 00020d54
OS Version: 6.1.7601.2.1.0.256.1
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
Read our privacy statement online:
http://go.microsoft.com/fwlink/?link...8&clcid=0x0409
If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt
Loads correctly with my install and I know it also loaded correctly with marbleman, are you playing the ND compatible version, the dml's for this campaign were made for and only tested on that version though there shouldn't be any conflict on other versions including the HD and NecroAge versions.
One thing that was picked up recently by marbleman was there may be an issue with the secret counts as in some circumstances the campaign culminates the the secrets found over the whole of the campaign, something I never came across when testing but marbleman discovered and Jax was working on a fix prior to release of T2Fix/FMdml but only he can say whether those fixes were included in the latest release.