fortuni on 30/3/2019 at 17:17
That would be so cool if we could get this idea up and running. :thumb:
As for numbers I've been double checking all the T1/TG dml's I know of and making sure they are all included in the Brief Summaries thread
For T1/TG there are 22 dml's available (but more if you count the individual missions from the Shadow of Doubt campaign that has 5 dml's and 5 .gams), there are 3 or 4 missions that need the old convict.osm installed, 1 mission that needs a missflag file added.
I'll be going through the T2 missions (upto 2004) tomorrow and will post the numbers then, but it's approx 65 so far.
voodoo47 on 30/3/2019 at 17:26
that seems very manageable. those old convict missions are going to be a problem though - do you happen to have an example of such a mission including a description of what doesn't work (with the new convict) at hand?
fortuni on 30/3/2019 at 17:44
Garrett's Revenge only an issue if you play one of the zips that do not contain the word 'gold' in it (IIRC there are 5 different zips out there), if so the objective
Find information on who, grassed, set up, framed, Cutty' does not work and thus 2 other objectives later in the mission will not trigger either.
Information Picking up a scroll in the temple does not complete the objective
Find Brother Roban and so the new objective
Roban has gone to Lord Durban's town mansion. Follow him also fails to trigger, this prevents you finishing the mission.
The Trickster's Return The mission does not finish when playing on expert unless you install the old convict.osm, but does finish on other difficulties.
I was pretty sure there was a 4th mission that needed the old convict.osm but can't find which one, it may well be AMIDA which a long time ago you confirmed was a T1 mission not TG as it is usually listed as, and IIRC I replaced the convict.osm and everything worked ok, but this mission has it's own dml so not no problem.
Here's the list of (
https://drive.google.com/open?id=1-tR2S7P1vMRdqxXI7RRpwktpiYuspTcA) T1/TG dml's, tomorrow will do the same for T2 mission up to 2004.
voodoo47 on 30/3/2019 at 18:17
that looks like an adequate amount to try to create a proof-of-concept package. I'll look into it today or tomorrow.
fortuni on 30/3/2019 at 20:51
Here are the (
https://drive.google.com/open?id=1cCfX5tCENFXRh56J0bZ-mgm9jjHa6_-b) T2 dml's all 78/79 of them
There are a couple of oddities,
Working the Mines is not a dml but need specific old scripts,
Saint's and Thieves need certain scripts deleted once you have installed the dml and
The Library - The Town is just bizarre, the dml worked fine with ND1.23 or 1.25 but doesn't with 1.26, even worse the mission now seems to have a problem with bad saves, so your idea to automatically load dml's will not be suitable for all missions.
To give you an idea I've gone through approx 325 T2 missions so far, from 2000 onwards, so there must be 600+ more missions to check, of which I'm guessing about 400 +/- were made using olddark. So maybe we'll end up with somewhere in the region of 200-250 T2 dml's.
downwinder on 30/3/2019 at 21:36
well i tried :(
voodoo47 on 30/3/2019 at 21:58
I'm very sure not all FMs will be fixable this way, but any system that works 80% or more is a good system. the (
https://drive.google.com/drive/folders/0B7quQTgSRc9Kfl9ESXhMRGNibXBEM0xyaVFFRlF4MWdockItcjZwYlJMTnN6ZDlGN0RoY00) T1/TG package - extract to a TFixed TG install, and add "FMdml" folder to the cam_mod.ini modpath, and launch a mission from the previously posted pdf list.
notes:
- the first goal target qvar with a non-zero value is used for fingerprinting, looks like this is working well so far.
- the mission dml format is first three letters of the fm name underscore mission filename.
- I may have fixed the issue with old convict, whoever can speedrun any of the affected missions is welcome to check (Information, Garrett's Revenge, The Trickster's Return).
- I have more fixes in the repo than mentioned in the pdf list. uhh, any idea what they are, anyone?
- no idea what the fix for The Gem is supposed to be, looks like a fam texture.
- Mine Shock and Hellerhouse probably not fixable in this way.
- Trial by Night looks like just me playing with candles, no real fixes there.
- resource loading is very limited, but custom obj fixes seem to work (check the improvised lockpick in the second SOD mission, should be a nail now). as long as the fixed resource is using custom filename (not using a vanilla resource name), it should be safe to have it in the package. that basically means missions like Mine Shock are out, as we can't pop a full mission file there.
test to DEATH and report.
fortuni on 31/3/2019 at 03:24
Will test later today.
2 Questions.
1. I assume all I need to do is check that the dml is loaded into the FMsel folder and that I do not have to play each mission all the way through to the end?
2. I have tested all of these dml's before and have loads of FMselBak.zips in my FM folders but so far I haven't found any that contain dmls (the folders only show saves and screenshots) so when you uninstall a dml fixed mission from FMsel where is the dml stored? If I delete the relevant
FMselBak.zips from my FM folder would that guarantee that I won't be loading the previously used dml which would then give me a false positive when testing your package?
Circle of Strain +
Calendra's Cistern can now both be removed from your repository as there is no need for them since Anti_Matter has produced Newdark versions of those 2 missions that fixes all the bugs.
The Gem is the 4th T1 mission that is fixed by installing the oldconvict.osm. Without it the objective to 'Find the Worthington Manor' does not check off.
Trial by Night had a problem when you climbed into the attic when playing via Newdark 1.21a, I don't know why but your little fix with the lights solved this issue. Last time I played via 1.25 the problem did not occur.
You may wish to remove
A Noble Death, it only (
https://www.ttlg.com/forums/showthread.php?t=143759&p=2287055&viewfull=1#post2287055) fixes a scroll
Quote Posted by voodoo47
I have more fixes in the repo than mentioned in the pdf list. uhh, any idea what they are, anyone?
Which Fixes are you thinking of?
A couple of them are T2 missions (Breakout from Apocalypse, Skygem Connection)
Jax64 on 31/3/2019 at 03:35
After testing Information rather extensively, I can conclude this method to be working well; oldconvict.osm is loaded properly. However, would QVARs be the best way to fingerprint the DMLs? It seems far more likely that two fan missions could, by happenstance, share a QVAR, while far less likely that two would share multiple objects located throughout the mission. Unfortunately, I doubt it will be possible to implement true custom resource loading with this method, due to the nature of dbmods.
Regardless, this is looking good.
EDIT: If the only fix required for The Gem is the old convict.osm, then this should suffice. In the fix archive, drop this in the .\dbmods\miss_all and name it "gem_miss15.mis.dml".
Code:
DML1
// Fix for T1 FM "The Gem" (Wes Morrison)
// Affected Files: miss15.mis
FINGERPRINT
{
QVAR "goal_target_1" == 651
}
//load oldconvict script
#script "oldconvict"
voodoo47 on 31/3/2019 at 09:38
1) yeah, churning out a dozen and half dmls at the same time carries increased risk of typos and other mistakes, having someone else go try to load the missions and double check is desirable (I've loaded each mission separately and checked the logs, but better safe than sorry).
2) the FMdml folder is constructed in a way that should ensure its dmls load with maximum priority (so their content should override any old dmls present in the fm root if there are conflicts), but it would be good to test this in a real life scenario (place a dml in the fm root that changes obj X shape/size to 2x, and a dml that changes it to 0.5x in FMdml, and see which one wins. I think I'll have a shot at this real quick //checked and confirming, working as intended). but generally, the less messy your game install is, the better (unsurprisingly). not sure what do you mean in the second part where you delete stuff around, but basically, the way this is supposed to work is to have a separate folder with all the available fixes that the engine checks when the game is started, and the correct fix is applied with maximum priority if a matching mission is launched.
- will kick the outdated stuff from the repo.
- will add the Gem script load fix (woah, it really works? awesome).
- I don't really mind that Noble Death fix is not critical.
- ah yes, forgot about the repo also hosting T2 fixes. that's probably it.
- as far as I can tell, the chances of a mission having the same goal target as a different mission is statistically very low, but should using the first non-zero value goal target qvar be found as not sufficient, a different fingerprinting method can be used with little trouble.
as mentioned, this is just a proof-of-concept package, intended to determine whether it's worth to try to go this way - as I've said, I believe that if we can use this in 80% of cases or more, then it probably is.