If you wish for automatic compatibility prediction, you should contribute to Baronius' tool instead.
I did get him to start talking about it. However, I have no formal training in programming and have been quite lost in reading the threads regarding his tools. I do continue to read them as I do look forward to seeing the tools once completed. Not actually needing automatic compatibility prediction (although that would be nice) but rather more information provided upfront. The less modders need to go hunting when trying to find reported bugs/problems the more likely the reported bugs/problems can be resolved.
Also, two mods writing to the same file aren't automatically incompatible, whereas two mods not editing the same file aren't automatically compatible.
I never stated that the same file edited by two mods was automatically incompatible. I said that it was possible for them to be incompatible either technically or conceptually (see Baronius for the definition on those), which leaves the door open for the possibility that the mods will work fine together (i.e. the game doesn't crash).
Unfortunately, keeping track of all files ever touched (as what you're suggesting) will out of memory for people installing the full mega mod (link). The problem will be exacerbated if it was done during an install. The whole point of --change-log is to diagnose patch-rific mods which are failing on a file, or similar (the ideal course of action is to instruct the user to run a .bat file which creates the directory and runs weidu --change-log, and then have him zip the directory up and sed it to the modder for inspection).
So basically the current commands aren't up to the task then.
So how about something new then? Tell me what is possible, you know weidu better than me.
I'd like to see something that happens behind the scenes so that old weidu mods will utilize the new feature simply by having the exe file upgraded.
As an example what I'd like to see is the following:
//File_name, Offset, Old_Value, New_Value // ~TP2_File~ #language_number #component_number // [Subcomponent Name -> ] Component Name [ : Version]
_AROW02.ITM, 0x38, 20, 40 // ~SETUP-TUTUFIX.TP2~ #0 #3 // BG2 Ammo Stacks
_AROW02.ITM, 0x38, 40, 9999 // ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #3080 // Unlimited Ammo Stacking
In this example tutufix was ran and a component installed which changed the standard file stack amount from 20 to 40 and is noted in a change-log file. Later BG2_Tweaks was ran and a component installed which changed the same entry to 9999 and so is logged.
But I am flexible. This doesn't have to be a completely new file. The information from each mod can be listed in it's own debug file. Comparison data can be pulled from the other debug files as needed by the mod developers. If you do the debug file route, then you could have the following:
SETUP-TUTUFIX.DEBUG file:
[./override/_AROW02.ITM] loaded, 170 bytes
override/_AROW02.ITM copied to tutufix/backup/3/override._AROW02.ITM, 170 bytes
Copied [_AROW02.ITM] to [override/_AROW02.ITM]
_AROW02.ITM at offset 0x38 changed from 20 to 40
SETUP-BG2_TWEAKS.DEBUG file:
[./override/_AROW02.ITM] loaded, 170 bytes
override/_AROW02.ITM copied to BG2_Tweaks/backup/3020/_AROW02.ITM, 170 bytes
Copied [_AROW02.ITM] to [override/_AROW02.ITM]
_AROW02.ITM at offset 0x38 changed from 40 to 9999
See SETUP-TUTUFIX.DEBUG for other changes made to this file.
In the cases where an existing file is simply overwritten by a new one just an entry that says something like
Existing FILE replaced by New FILE
would be sufficient.