Author Topic: Slight FILE_EXISTS_IN_GAME misbehavior  (Read 7164 times)

Offline Taimon

  • Planewalker
  • *****
  • Posts: 328
Slight FILE_EXISTS_IN_GAME misbehavior
« on: August 31, 2009, 02:43:58 PM »
FILE_EXISTS_IN_GAME also returns true if the file exists in the current directory (game directory).

It calls Load.load_resource and this also checks the current directory if the filename is implicit. (check line 399)

Not sure about how to fix it -- another param for load_resource?
Or we just adjust the readme. Should be much easier. :)

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #1 on: August 31, 2009, 03:43:01 PM »
Fix the readme. All other functions using load_resource read in ./ as well, and I don't see any particular reason why FEIG must work differently. If you want to hold a procrastination match over FEIG, one thing that should really be worked in is that it should see if the file exists in the biffs or in the override, rather than loading the file outright (this also avoids woes with partial installs).
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

temujin.

  • Guest
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #2 on: February 11, 2010, 01:40:03 AM »
hmm... still don't understand why F_E_I_G should be returning true for files in the game directory (weidu.exe, tp2, debug, etc are not 'game resource' files yet they return true).  if you have these types of files return true, then, arguably, F_E_I_G should also return true for files residing in, say, portraits, sounds, scripts, etc because the game engine itself recognizes and makes use of them...

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #3 on: February 11, 2010, 04:11:54 AM »
As people who like to sound smart would say, this is not a case of design, but a case of prior art.

In other words: according to the readme, JC asked for this behavior.
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

temujin.

  • Guest
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #4 on: February 11, 2010, 05:29:06 AM »
did JC specifically ask for FEIG to check files even in the game directory?  what an odd request...


from what i can see in the changelogs,

Quote
Version 62:
        * tlkcmp docs by JC added. 
        * Added "FILE_EXISTS_IN_GAME" predicate, which is true if the file
          is in EITHER the biffs OR the override directory.

it seems fairly obvious what his intention was...



anyway, if it's a bug that's a bit complicated to fix (or prone to cause other bugs at this stage), you can just say so.

my reasoning is that keeping the file search restricted to only biffs and override would result in slightly faster lookup times.

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #5 on: February 11, 2010, 05:35:58 AM »
He didn't ask directly for that, he asked that loading a resource (E.G. COPY_EXISTING) will look in ./, override/ and biffs, and FEIG uses the same resource loading code.
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline Jarno Mikkola

  • The Imp.
  • Planewalker
  • *****
  • Posts: 184
  • Gender: Male
    • website jocuri
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #6 on: February 12, 2010, 02:53:16 AM »
I know it's bad coding, but I am sure there are mods that use FILE_EXISTS_IN_GAME to check the setup-.tp2 or the setup-.exe's of other mods, so they can know if the mod is to be installed or is already installed... so they'll fail.

Say within the BiG World.

Offline Miloch

  • Barbarian
  • Planewalker
  • *****
  • Posts: 1032
  • Gender: Male
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #7 on: February 17, 2010, 11:42:44 AM »
I know it's bad coding, but I am sure there are mods that use FILE_EXISTS_IN_GAME to check the setup-.tp2 or the setup-.exe's of other mods, so they can know if the mod is to be installed or is already installed... so they'll fail.
I doubt it. They probably just use FILE_EXISTS instead. F_E_I_G obviously should require, by its name, that a file exists *in the game*.

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #8 on: February 17, 2010, 05:13:30 PM »
Huh. Turns out I was sliiiightly mistaken after all, JCompton asked that this behavior would *not* happen.
Quote
Version 79:
        * The current directory is no longer a search location. Compton
          wanted this, yell if it messes you up.

<...>

let override_paths = ref [
  (* compton wants this gone *)
  (* "." ; *)
]
 

I can't find WeiDU 79 for confirmation, but the oldest version of WeiDU available from weidu.org (125) already has the current behavior (you could COPY_EXISTING bgmain.exe, and FEIG bgmain.exe returns true), and nothing in the changelog hints at this being reversed between 79 and 125. Can somebody upload WeiDU-79.zip somewhere?
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline devSin

  • Planewalker
  • *****
  • Posts: 1632
  • Gender: Male
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #9 on: February 17, 2010, 05:24:47 PM »
Does it matter? You can certainly call the behavior stupid, but I can't see any reason to change it now.

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #10 on: February 17, 2010, 05:39:05 PM »
Does it matter? You can certainly call the behavior stupid, but I can't see any reason to change it now.
...it stops the whiners?
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline devSin

  • Planewalker
  • *****
  • Posts: 1632
  • Gender: Male
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #11 on: February 17, 2010, 06:00:43 PM »
Yeah, but BIS games actually have some useful stuff in ./, and who knows what mods out there might use COPY_EXISTING incorrectly to patch them?

Sure, it should search also in all the places the game looks to make sense as "EXISTS_IN_GAME," but it just doesn't hurt anything to let it alone and so what the name doesn't make any sense; nothing else in WeiDU does.

temujin.

  • Guest
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #12 on: February 17, 2010, 06:20:00 PM »
Does it matter? You can certainly call the behavior stupid, but I can't see any reason to change it now.
...it stops the whiners?

...maybe if things were implemented correctly, there wouldn't be whiners?

anyway, devSin's right.  Fixing it now is dangerous.  I just did a regexp search on my test install and there are a number of mods dumb enough to use FEIG the wrong way.


You will only end up with more whiners because of mods that may not install.  Rest assured. :)

Offline Miloch

  • Barbarian
  • Planewalker
  • *****
  • Posts: 1032
  • Gender: Male
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #13 on: February 17, 2010, 11:43:54 PM »
I just did a regexp search on my test install and there are a number of mods dumb enough to use FEIG the wrong way.
Exactly how dumb? Whenever I see/use COPY_EXISTING, the syntax is almost invariably COPY_EXISTING somefile.ext override - the assumption being the file's probably in the override already, or will be unbiffed there if the mod changes the file.

But is someone actually dumb enough to do something like COPY_EXISTING bgmain.exe override rather than COPYing it in place?

A quick grep shows that SOS, XP Fixer and Spell Revisions are almost dumb enough, but they use COPY_EXISTING bgmain.exe bgmain.exe. I guess that makes a certain amount of sense for COPY_EXISTING but I'm almost certain no one does a FILE_EXISTS_IN_GAME bgmain.exe or the like (and a couple different greps confirms this).

Not saying it should be changed either, but still - why do they need to use the same resource-loading code?

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #14 on: February 18, 2010, 05:44:43 AM »
Not even FEIG ~something.bif~?
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

temujin.

  • Guest
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #15 on: February 18, 2010, 07:04:27 PM »
Exactly how dumb?


maybe 'dumb' was a bit harsh, as i like some of those mods and the people who made them, and i didn't wan't to name names, but since you asked...



COPY_EXISTING:

Quote from: regexp search result
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\bg1npc.tp2':
E:\Games\BG\mods\bg2\mod_extract\bg1npc.tp2(2006):   COPY_EXISTING ~BG1NPC/Phase1/ITM/X#RINGRO.itm~ ~override/X#RINGRO.itm~
E:\Games\BG\mods\bg2\mod_extract\bg1npc.tp2(5777):   COPY_EXISTING ~BG1NPC/Phase3/DYROM/cre/x#ulvar.cre~ ~override/x#cutva1.cre~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 2 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\Setup-Amber.tp2':
E:\Games\BG\mods\bg2\mod_extract\Setup-Amber.tp2(1488): COPY_EXISTING ~override/m#amberj.dlg~    ~override/m#amberj.dlg~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 1 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\SETUP-BGSpawn.tp2':
E:\Games\BG\mods\bg2\mod_extract\SETUP-BGSpawn.tp2(385): COPY_EXISTING ~override/mm75wo.bcs~ ~override~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 1 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2':
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(425): COPY_EXISTING ~BGT/title.tr~ ~BGT/title.tra~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(5251): COPY_EXISTING ~BGT/Modify/CRE/AJANTI.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(5299): COPY_EXISTING ~BGT/Modify/CRE/ALORA.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(5344): COPY_EXISTING ~BGT/Modify/CRE/BRANWE.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(5385): COPY_EXISTING ~BGT/Modify/CRE/CORAN.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(5432): COPY_EXISTING ~BGT/Modify/CRE/DYNAHE.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(5479): COPY_EXISTING ~BGT/Modify/CRE/EDWIN.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(5525): COPY_EXISTING ~BGT/Modify/CRE/ELDOTH.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(5571): COPY_EXISTING ~BGT/Modify/CRE/FALDOR.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(5617): COPY_EXISTING ~BGT/Modify/CRE/GARRIC.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(5668):   COPY_EXISTING ~BGT/Modify/CRE/IMOEN.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(5710):   COPY_EXISTING ~BGT/Modify/CRE/IMOEN.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(5749):   COPY_EXISTING ~BGT/Compat/BGT/JAHEIR.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(5807):   COPY_EXISTING ~BGT/Compat/NeJJahei/JAHEIR.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(5911): COPY_EXISTING ~BGT/Modify/CRE/KAGAIN.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(5958): COPY_EXISTING ~BGT/Modify/CRE/KHALID.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(6005): COPY_EXISTING ~BGT/Modify/CRE/KIVAN.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(6052): COPY_EXISTING ~BGT/Modify/CRE/MINSC.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(6111): COPY_EXISTING ~BGT/Modify/CRE/MONTAR.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(6158): COPY_EXISTING ~BGT/Modify/CRE/BGQUAYLE.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(6206): COPY_EXISTING ~BGT/Modify/CRE/SAFANA.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(6253): COPY_EXISTING ~BGT/Modify/CRE/SHARTE.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(6299): COPY_EXISTING ~BGT/Modify/CRE/SKIE.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(6344): COPY_EXISTING ~BGT/Modify/CRE/TIAX.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(6390): COPY_EXISTING ~BGT/Modify/CRE/VICONI.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(6496): COPY_EXISTING ~BGT/Modify/CRE/BGXAN.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(6542): COPY_EXISTING ~BGT/Modify/CRE/BGXZAR.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(6589): COPY_EXISTING ~BGT/Modify/CRE/YESLIC.CRE~ ~BG1CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(8347): COPY_EXISTING ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(8358): COPY_EXISTING ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(8369): COPY_EXISTING ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(8387):   COPY_EXISTING - ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-BGT.tp2(8395): COPY_EXISTING ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 33 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\Setup-BPv179.tp2':
E:\Games\BG\mods\bg2\mod_extract\Setup-BPv179.tp2(3474): COPY_EXISTING ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-BPv179.tp2(3484): COPY_EXISTING ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-BPv179.tp2(3513):   COPY_EXISTING - ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-BPv179.tp2(3525): COPY_EXISTING ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-BPv179.tp2(3557): COPY_EXISTING + ~BPv179/title.tr~ ~BPv179/title.tra~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 5 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2':
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33613): COPY_EXISTING ~music/bc1.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33617): COPY_EXISTING ~music/bc2.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33621): COPY_EXISTING ~music/bd1.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33625): COPY_EXISTING ~music/bd2.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33629): COPY_EXISTING ~music/bd2/bd2zg2.acm~ ~music/bd3/bd3zg2.acm~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33631): COPY_EXISTING ~music/bd3.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33635): COPY_EXISTING ~music/bf1.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33639): COPY_EXISTING ~music/bf2.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33643): COPY_EXISTING ~music/bjr.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33649): COPY_EXISTING ~music/bm1.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33655): COPY_EXISTING ~music/bm2.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33659): COPY_EXISTING ~music/bp1.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33663): COPY_EXISTING ~music/bp2.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33667): COPY_EXISTING ~music/brd.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33671): COPY_EXISTING ~music/bsd.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33675): COPY_EXISTING ~music/bst.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33679): COPY_EXISTING ~music/harp_v2.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33683): COPY_EXISTING ~music/harp_v6.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33687): COPY_EXISTING ~music/mx0202.mus~ ~music/mxkalah.mus~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33690): COPY_EXISTING ~music/mx0202.mus~ ~music/mxkhali.mus~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33693): COPY_EXISTING ~music/mx0202.mus~ ~music/mxthief.mus~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33696): COPY_EXISTING ~music/dream2.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33699): COPY_EXISTING ~music/mb.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Setup-Classics050.TP2(33703): COPY_EXISTING ~music/vb.mus~ ~music~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 24 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\Setup-CtB-Chores.tp2':
E:\Games\BG\mods\bg2\mod_extract\Setup-CtB-Chores.tp2(333): COPY_EXISTING ~CTB-CHRS/AR3500.ARE~  ~CTB-CHRS~
E:\Games\BG\mods\bg2\mod_extract\Setup-CtB-Chores.tp2(339): COPY_EXISTING ~CTB-CHRS/AR3505.ARE~  ~CTB-CHRS~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 2 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\Setup-CtB.tp2':
E:\Games\BG\mods\bg2\mod_extract\Setup-CtB.tp2(57): COPY_EXISTING + ~CtB/title.tr~ ~CtB/title.tra~
E:\Games\BG\mods\bg2\mod_extract\Setup-CtB.tp2(12354): COPY_EXISTING ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-CtB.tp2(12364): COPY_EXISTING ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-CtB.tp2(12379):   COPY_EXISTING - ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-CtB.tp2(12388): COPY_EXISTING ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-CtB.tp2(12576): COPY_EXISTING ~GUI_Mods/%gui_slot_name%/sound/SONGLIST.2DA~ ~override~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 6 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\setup-d0questpack.tp2':
E:\Games\BG\mods\bg2\mod_extract\setup-d0questpack.tp2(1962): COPY_EXISTING ~questpack/thieves/ghrey/d0qpgude.cre~ ~override~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 1 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\setup-d0tweak.tp2':
E:\Games\BG\mods\bg2\mod_extract\setup-d0tweak.tp2(1304):      COPY_EXISTING ~d0tweak/imoen/contimoen.d~ ~d0tweak/imoen/contimoen.d~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 1 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\setup-edwintob.tp2':
E:\Games\BG\mods\bg2\mod_extract\setup-edwintob.tp2(89): COPY_EXISTING ~edwin-tob/d/Edwintxt.2da~ ~override/ErEdwin1.2da~
E:\Games\BG\mods\bg2\mod_extract\setup-edwintob.tp2(92): COPY_EXISTING ~edwin-tob/d/Edwintxt.2da~ ~override/ErEdwin2.2da~
E:\Games\BG\mods\bg2\mod_extract\setup-edwintob.tp2(95): COPY_EXISTING ~edwin-tob/d/Edwintxt.2da~ ~override/Edwinnd.2da~
E:\Games\BG\mods\bg2\mod_extract\setup-edwintob.tp2(126): COPY_EXISTING ~edwin-tob/d/erviconi.2da~ ~override/ervicoen.2da~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 4 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\Setup-NeJ2v691.tp2':
E:\Games\BG\mods\bg2\mod_extract\Setup-NeJ2v691.tp2(286): COPY_EXISTING ~override/CDILFS0.itm~ ~override/CDILFS1.itm~  // Hand of Ilmater +1
E:\Games\BG\mods\bg2\mod_extract\Setup-NeJ2v691.tp2(292): COPY_EXISTING ~override/CDILFS0.itm~ ~override/CDILFS2.itm~  // Hand of Ilmater +2
E:\Games\BG\mods\bg2\mod_extract\Setup-NeJ2v691.tp2(298): COPY_EXISTING ~override/CDILFS0.itm~ ~override/CDILFS3.itm~  // Hand of Ilmater +3
E:\Games\BG\mods\bg2\mod_extract\Setup-NeJ2v691.tp2(304): COPY_EXISTING ~override/CDILFS0.itm~ ~override/CDILFS4.itm~  // Hand of Ilmater +4
E:\Games\BG\mods\bg2\mod_extract\Setup-NeJ2v691.tp2(310): COPY_EXISTING ~override/CDILFS0.itm~ ~override/CDILFS5.itm~  // Hand of Ilmater +5
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 5 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\Setup-NeJ2v694.tp2':
E:\Games\BG\mods\bg2\mod_extract\Setup-NeJ2v694.tp2(10): COPY_EXISTING ~override/DAR67.CRE~            ~override/DAR67.CRE~         
E:\Games\BG\mods\bg2\mod_extract\Setup-NeJ2v694.tp2(47): COPY_EXISTING ~override/DAR77.CRE~            ~override/DAR77.CRE~         
E:\Games\BG\mods\bg2\mod_extract\Setup-NeJ2v694.tp2(84): COPY_EXISTING ~override/DAR78.CRE~            ~override/DAR78.CRE~         
E:\Games\BG\mods\bg2\mod_extract\Setup-NeJ2v694.tp2(121): COPY_EXISTING ~override/DAR88.CRE~            ~override/DAR88.CRE~         
E:\Games\BG\mods\bg2\mod_extract\Setup-NeJ2v694.tp2(158): COPY_EXISTING ~override/EHHROTH.CRE~               ~override/EHHROTH.CRE~
E:\Games\BG\mods\bg2\mod_extract\Setup-NeJ2v694.tp2(195): COPY_EXISTING ~override/HROTH8.CRE~           ~override/HROTH8.CRE~         
E:\Games\BG\mods\bg2\mod_extract\Setup-NeJ2v694.tp2(232): COPY_EXISTING ~override/HROTH9.CRE~           ~override/HROTH9.CRE~         
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 7 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\Setup-RoT.tp2':
E:\Games\BG\mods\bg2\mod_extract\Setup-RoT.tp2(37): COPY_EXISTING + ~RoTerror/title.tr~ ~RoTerror/title.tra~
E:\Games\BG\mods\bg2\mod_extract\Setup-RoT.tp2(8598): COPY_EXISTING ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-RoT.tp2(8608): COPY_EXISTING ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-RoT.tp2(8623):   COPY_EXISTING - ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-RoT.tp2(8632): COPY_EXISTING ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-RoT.tp2(8840): COPY_EXISTING ~GUI_Mods/%gui_slot_name%/sound/SONGLIST.2DA~ ~override~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 6 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\Setup-SOS.tp2':
E:\Games\BG\mods\bg2\mod_extract\Setup-SOS.tp2(59): COPY_EXISTING ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-SOS.tp2(69): COPY_EXISTING ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-SOS.tp2(84):   COPY_EXISTING - ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-SOS.tp2(93): COPY_EXISTING ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-SOS.tp2(136): COPY_EXISTING + ~SoS/title.tr~ ~SoS/title.tra~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 5 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\Setup-TDD.tp2':
E:\Games\BG\mods\bg2\mod_extract\Setup-TDD.tp2(56): COPY_EXISTING ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-TDD.tp2(66): COPY_EXISTING ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-TDD.tp2(81):   COPY_EXISTING - ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-TDD.tp2(90): COPY_EXISTING ~GUI_Mods/GUI_Mods.2DA~ ~GUI_Mods~
E:\Games\BG\mods\bg2\mod_extract\Setup-TDD.tp2(134): COPY_EXISTING + ~TDD/title.tr~ ~TDD/title.tra~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 5 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2':
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22607): COPY_EXISTING ~music/bc1.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22611): COPY_EXISTING ~music/bc2.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22615): COPY_EXISTING ~music/bd1.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22619): COPY_EXISTING ~music/bd2.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22623): COPY_EXISTING ~music/bd2/bd2zg2.acm~ ~music/bd3/bd3zg2.acm~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22625): COPY_EXISTING ~music/bd3.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22629): COPY_EXISTING ~music/bf1.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22633): COPY_EXISTING ~music/bf2.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22637): COPY_EXISTING ~music/bjr.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22643): COPY_EXISTING ~music/bm1.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22649): COPY_EXISTING ~music/bm2.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22653): COPY_EXISTING ~music/bp1.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22657): COPY_EXISTING ~music/bp2.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22661): COPY_EXISTING ~music/brd.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22665): COPY_EXISTING ~music/bsd.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22669): COPY_EXISTING ~music/bst.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22673): COPY_EXISTING ~music/harp_v2.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22677): COPY_EXISTING ~music/harp_v6.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22681): COPY_EXISTING ~music/mx0202.mus~ ~music/mxkalah.mus~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22684): COPY_EXISTING ~music/mx0202.mus~ ~music/mxkhali.mus~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22687): COPY_EXISTING ~music/mx0202.mus~ ~music/mxthief.mus~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22692):   COPY_EXISTING ~music/dream2.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22695):   COPY_EXISTING ~music/mb.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\bg2fixpack\setup-bg2fixpack.tp2(22699):   COPY_EXISTING ~music/vb.mus~ ~music~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 24 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\BG2_Tweaks\Setup-BG2_Tweaks.tp2':
E:\Games\BG\mods\bg2\mod_extract\BG2_Tweaks\Setup-BG2_Tweaks.tp2(4062): COPY_EXISTING ~BG2_Tweaks/2da/bastard.2da~ ~BG2_Tweaks/2da/bastard.2da~
E:\Games\BG\mods\bg2\mod_extract\BG2_Tweaks\Setup-BG2_Tweaks.tp2(4203):         COPY_EXISTING ~BG2_Tweaks/2da/bastard.2da~ ~BG2_Tweaks/2da/bastard.2da~
E:\Games\BG\mods\bg2\mod_extract\BG2_Tweaks\Setup-BG2_Tweaks.tp2(4282): COPY_EXISTING ~BG2_Tweaks/2da/katana.2da~ ~BG2_Tweaks/2da/katana.2da~
E:\Games\BG\mods\bg2\mod_extract\BG2_Tweaks\Setup-BG2_Tweaks.tp2(4417):         COPY_EXISTING ~BG2_Tweaks/2da/katana.2da~ ~BG2_Tweaks/2da/katana.2da~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 4 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2':
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21416): COPY_EXISTING ~music/bc1.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21420): COPY_EXISTING ~music/bc2.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21424): COPY_EXISTING ~music/bd1.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21428): COPY_EXISTING ~music/bd2.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21432): COPY_EXISTING ~music/bd2/bd2zg2.acm~ ~music/bd3/bd3zg2.acm~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21434): COPY_EXISTING ~music/bd3.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21438): COPY_EXISTING ~music/bf1.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21442): COPY_EXISTING ~music/bf2.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21446): COPY_EXISTING ~music/bjr.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21452): COPY_EXISTING ~music/bm1.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21458): COPY_EXISTING ~music/bm2.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21462): COPY_EXISTING ~music/bp1.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21466): COPY_EXISTING ~music/bp2.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21470): COPY_EXISTING ~music/brd.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21474): COPY_EXISTING ~music/bsd.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21478): COPY_EXISTING ~music/bst.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21482): COPY_EXISTING ~music/harp_v2.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21486): COPY_EXISTING ~music/harp_v6.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21490): COPY_EXISTING ~music/mx0202.mus~ ~music/mxkalah.mus~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21493): COPY_EXISTING ~music/mx0202.mus~ ~music/mxkhali.mus~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21496): COPY_EXISTING ~music/mx0202.mus~ ~music/mxthief.mus~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21501):   COPY_EXISTING ~music/dream2.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21504):   COPY_EXISTING ~music/mb.mus~ ~music~
E:\Games\BG\mods\bg2\mod_extract\Classics050\AddOns\Bg2fixpack\setup-bg2fixpack.tp2(21508):   COPY_EXISTING ~music/vb.mus~ ~music~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 24 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\Divine_Remix\Setup-Divine_Remix.tp2':
E:\Games\BG\mods\bg2\mod_extract\Divine_Remix\Setup-Divine_Remix.tp2(1178): COPY_EXISTING ~Divine_Remix/cleric/copy/clabpr01.2da~ ~override~
E:\Games\BG\mods\bg2\mod_extract\Divine_Remix\Setup-Divine_Remix.tp2(1184): COPY_EXISTING ~Divine_Remix/cleric/copy/clabpr02.2da~ ~override~
E:\Games\BG\mods\bg2\mod_extract\Divine_Remix\Setup-Divine_Remix.tp2(1209): COPY_EXISTING ~Divine_Remix/cleric/copy/clabpr03.2da~ ~override~
E:\Games\BG\mods\bg2\mod_extract\Divine_Remix\Setup-Divine_Remix.tp2(1232): COPY_EXISTING ~Divine_Remix/cleric/copy/clabpr04.2da~ ~override~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 4 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\fullplate\setup-fullplate.tp2':
E:\Games\BG\mods\bg2\mod_extract\fullplate\setup-fullplate.tp2(1634): COPY_EXISTING - ~fullplate/classification.txt~ ~fullplate~
E:\Games\BG\mods\bg2\mod_extract\fullplate\setup-fullplate.tp2(1653): COPY_EXISTING - ~fullplate/thebiglist.txt~ ~fullplate~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 2 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\RR\LIB\RR#AFIX.TPH':
E:\Games\BG\mods\bg2\mod_extract\RR\LIB\RR#AFIX.TPH(94): COPY_EXISTING ~music/mxaerie.mus~ ~music/mxkalah.mus~                                          // Kalah's theme (used in Arledrian's quest)
E:\Games\BG\mods\bg2\mod_extract\RR\LIB\RR#AFIX.TPH(96): COPY_EXISTING ~music/mxaerie.mus~ ~music/mxkhali.mus~                                          // Khalid's theme (used in the CoC encounter)
E:\Games\BG\mods\bg2\mod_extract\RR\LIB\RR#AFIX.TPH(98): COPY_EXISTING ~music/mxaerie.mus~ ~music/mxthief.mus~                                          // Shadow Thief theme (used in the STI component)
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 3 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\scs\scsII.tph':
E:\Games\BG\mods\bg2\mod_extract\scs\scsII.tph(1052):    COPY_EXISTING ~scsII/misc/dw#blank.spl~ ~override/%output_spell%.spl~
E:\Games\BG\mods\bg2\mod_extract\scs\scsII.tph(1088):    COPY_EXISTING ~scsII/misc/dw#blank.spl~ ~override/%output_spell%.spl~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 2 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\scs\scsII.tph.bak':
E:\Games\BG\mods\bg2\mod_extract\scs\scsII.tph.bak(1054):    COPY_EXISTING ~scsII/misc/dw#blank.spl~ ~override/%output_spell%.spl~
E:\Games\BG\mods\bg2\mod_extract\scs\scsII.tph.bak(1090):    COPY_EXISTING ~scsII/misc/dw#blank.spl~ ~override/%output_spell%.spl~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 2 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\scs\endbattle\endbattle.tph':
E:\Games\BG\mods\bg2\mod_extract\scs\endbattle\endbattle.tph(34): COPY_EXISTING ~scs/endbattle/spwi948.spl~ ~override/dw#tazsk.spl~
E:\Games\BG\mods\bg2\mod_extract\scs\endbattle\endbattle.tph(36): COPY_EXISTING ~scs/endbattle/spwi948.spl~ ~override/dw#angsk.spl~
E:\Games\BG\mods\bg2\mod_extract\scs\endbattle\endbattle.tph(38): COPY_EXISTING ~scs/endbattle/spwi948.spl~ ~override/dw#semsk.spl~
E:\Games\BG\mods\bg2\mod_extract\scs\endbattle\endbattle.tph(40): COPY_EXISTING ~scs/endbattle/spwi948.spl~ ~override/dw#diask.spl~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 4 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\scs\mage\mage.tph':
E:\Games\BG\mods\bg2\mod_extract\scs\mage\mage.tph(362):    COPY_EXISTING ~scs/mage/install/fightermage.2da~ ~override~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 1 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\scs\mage\mage.tph.$$$':
E:\Games\BG\mods\bg2\mod_extract\scs\mage\mage.tph.$$$(361):    COPY_EXISTING ~scs/mage/install/fightermage.2da~ ~override~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 1 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\scs\potion\potion.tph':
E:\Games\BG\mods\bg2\mod_extract\scs\potion\potion.tph(5):    COPY_EXISTING ~scs/potion/potions.2da~ ~override~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 1 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\scs\priest\priest.tph':
E:\Games\BG\mods\bg2\mod_extract\scs\priest\priest.tph(6):    COPY_EXISTING ~scs/priest/dw#bear.spl~ ~override~ // shapeshift
E:\Games\BG\mods\bg2\mod_extract\scs\priest\priest.tph(7):    COPY_EXISTING ~scs/priest/dw#ctrlu.spl~ ~override~ // control undead
E:\Games\BG\mods\bg2\mod_extract\scs\priest\priest.tph(8):    COPY_EXISTING ~scs/priest/dw#destu.spl~ ~override~ // destroy undead
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 3 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\scs\priest\priest.tph.$$$':
E:\Games\BG\mods\bg2\mod_extract\scs\priest\priest.tph.$$$(6):    COPY_EXISTING ~scs/priest/dw#bear.spl~ ~override~ // shapeshift
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 1 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\scs\priest\priest.tph.bak':
E:\Games\BG\mods\bg2\mod_extract\scs\priest\priest.tph.bak(6):    COPY_EXISTING ~scs/priest/dw#bear.spl~ ~override~ // shapeshift
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 1 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\scs\ulcaster\ulcaster.tph':
E:\Games\BG\mods\bg2\mod_extract\scs\ulcaster\ulcaster.tph(59): COPY_EXISTING ~override/dw#ulcwo.bcs~ ~override~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 1 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\scsII\scsII.tph':
E:\Games\BG\mods\bg2\mod_extract\scsII\scsII.tph(1177):    COPY_EXISTING ~scsII/misc/dw#blank.spl~ ~override/%output_spell%.spl~
E:\Games\BG\mods\bg2\mod_extract\scsII\scsII.tph(1213):    COPY_EXISTING ~scsII/misc/dw#blank.spl~ ~override/%output_spell%.spl~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 2 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\scsII\ascension\ascension.tph':
E:\Games\BG\mods\bg2\mod_extract\scsII\ascension\ascension.tph(236):       COPY_EXISTING ~scsII/ascension/ssl_out/yagaft.baf~ ~override/finyaga.baf~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 1 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\scsII\dragon\dragon.tph':
E:\Games\BG\mods\bg2\mod_extract\scsII\dragon\dragon.tph(243):       COPY_EXISTING ~override/dw#asc_dragblue.cre~ ~override/dragblue.cre~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 1 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\scsII\firegiant\firegiant.tph':
E:\Games\BG\mods\bg2\mod_extract\scsII\firegiant\firegiant.tph(98):    COPY_EXISTING ~scsII/firegiant/hgsalf.itm~ ~override~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 1 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\scsII\mage\mage.tph':
E:\Games\BG\mods\bg2\mod_extract\scsII\mage\mage.tph(1686):    COPY_EXISTING ~scsII/mage/timestop/dw#time.eff~ ~override~
E:\Games\BG\mods\bg2\mod_extract\scsII\mage\mage.tph(1687):    COPY_EXISTING ~scsII/mage/timestop/dw#time.cre~ ~override~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 2 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\scsII\misc\troll.tph':
E:\Games\BG\mods\bg2\mod_extract\scsII\misc\troll.tph(3):    COPY_EXISTING ~scsII/misc/trolltable.2da~ ~override~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 1 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\scsII\potion\potion.tph':
E:\Games\BG\mods\bg2\mod_extract\scsII\potion\potion.tph(5):    COPY_EXISTING ~scsii/potion/potions.2da~ ~override~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 1 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\scsII\priest\priest.tph':
E:\Games\BG\mods\bg2\mod_extract\scsII\priest\priest.tph(10):    COPY_EXISTING ~scsII/priest/dw#bear.spl~ ~override~ // shapeshift
E:\Games\BG\mods\bg2\mod_extract\scsII\priest\priest.tph(11):    COPY_EXISTING ~scsII/priest/dw#ctrlu.spl~ ~override~ // control undead
E:\Games\BG\mods\bg2\mod_extract\scsII\priest\priest.tph(12):    COPY_EXISTING ~scsII/priest/dw#destu.spl~ ~override~ // destroy undead
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 3 time(s).
----------------------------------------
Find 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\scsII\shadelord\shadelord.tph':
E:\Games\BG\mods\bg2\mod_extract\scsII\shadelord\shadelord.tph(3):    COPY_EXISTING ~scsII/shadelord/dw#darkl.spl~ ~override~
Found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 1 time(s).
Search complete, found 'copy_existing[    ]*-*\+*[    ]*~[^~/]+/.+~' 199 time(s). (41 file(s)).



this is just a simple search.  this doesn't take into account cases where the mods may not be copying single files, but a whole bunch of them in this fashion (which BGT does, for example).




FILE_EXISTS_IN_GAME:

Quote from: regexp search result
----------------------------------------
Find 'file_exists_in_game[    ]*~[^~]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\Setup-ErebusantsBG1Changes.tp2':
E:\Games\BG\mods\bg2\mod_extract\Setup-ErebusantsBG1Changes.tp2(61): ACTION_IF FILE_EXISTS_IN_GAME   ~data/BG1ARE.bif~   THEN BEGIN
E:\Games\BG\mods\bg2\mod_extract\Setup-ErebusantsBG1Changes.tp2(73): ACTION_IF FILE_EXISTS_IN_GAME   ~data/BG1ARE.bif~   THEN BEGIN
E:\Games\BG\mods\bg2\mod_extract\Setup-ErebusantsBG1Changes.tp2(79): ACTION_IF FILE_EXISTS_IN_GAME   ~data/BG1ARE.bif~   THEN BEGIN
Found 'file_exists_in_game[    ]*~[^~]+/.+~' 3 time(s).
----------------------------------------
Find 'file_exists_in_game[    ]*~[^~]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\Setup-NeJ2v691.tp2':
E:\Games\BG\mods\bg2\mod_extract\Setup-NeJ2v691.tp2(49): ACTION_IF NOT FILE_EXISTS_IN_GAME ~override/MASAKI.dlg~
E:\Games\BG\mods\bg2\mod_extract\Setup-NeJ2v691.tp2(3280): ACTION_IF NOT FILE_EXISTS_IN_GAME ~data/BG1ARE.BIF~
E:\Games\BG\mods\bg2\mod_extract\Setup-NeJ2v691.tp2(7473): ACTION_IF NOT FILE_EXISTS_IN_GAME ~data/BG1ARE.BIF~
E:\Games\BG\mods\bg2\mod_extract\Setup-NeJ2v691.tp2(7504): ACTION_IF NOT FILE_EXISTS_IN_GAME ~data/BG1ARE.BIF~
E:\Games\BG\mods\bg2\mod_extract\Setup-NeJ2v691.tp2(7513): ACTION_IF NOT FILE_EXISTS_IN_GAME ~data/BG1ARE.BIF~
E:\Games\BG\mods\bg2\mod_extract\Setup-NeJ2v691.tp2(7522): ACTION_IF NOT FILE_EXISTS_IN_GAME ~data/BG1ARE.BIF~
Found 'file_exists_in_game[    ]*~[^~]+/.+~' 6 time(s).
----------------------------------------
Find 'file_exists_in_game[    ]*~[^~]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\Setup-NSCPortraits.TP2':
E:\Games\BG\mods\bg2\mod_extract\Setup-NSCPortraits.TP2(28): ACTION_IF NOT FILE_EXISTS_IN_GAME ~NSC Portraits/%folder%/%SmallPic%.bmp~
E:\Games\BG\mods\bg2\mod_extract\Setup-NSCPortraits.TP2(33): ACTION_IF NOT FILE_EXISTS_IN_GAME ~NSC Portraits/%folder%/%LargePic%.bmp~
Found 'file_exists_in_game[    ]*~[^~]+/.+~' 2 time(s).
----------------------------------------
Find 'file_exists_in_game[    ]*~[^~]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\gavin\gavin.tp2':
E:\Games\BG\mods\bg2\mod_extract\gavin\gavin.tp2(478): ACTION_IF FILE_EXISTS_IN_GAME ~override/X#BG1NPCPhase1.G3~ THEN BEGIN // if BG1 NPC is installed
Found 'file_exists_in_game[    ]*~[^~]+/.+~' 1 time(s).
----------------------------------------
Find 'file_exists_in_game[    ]*~[^~]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\iepbanters\setup-iepbanters.tp2':
E:\Games\BG\mods\bg2\mod_extract\iepbanters\setup-iepbanters.tp2(49): ACTION_IF NOT FILE_EXISTS_IN_GAME ~override/bimoen2.dlg~ THEN BEGIN
Found 'file_exists_in_game[    ]*~[^~]+/.+~' 1 time(s).
----------------------------------------
Find 'file_exists_in_game[    ]*~[^~]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\LuxleySoA\Setup-LuxleySoA.tp2':
E:\Games\BG\mods\bg2\mod_extract\LuxleySoA\Setup-LuxleySoA.tp2(36): ACTION_IF NOT FILE_EXISTS_IN_GAME ~override/bimoen2.dlg~ THEN BEGIN
E:\Games\BG\mods\bg2\mod_extract\LuxleySoA\Setup-LuxleySoA.tp2(166): ACTION_IF NOT FILE_EXISTS_IN_GAME ~override/fhlplay.fh~ THEN BEGIN // add playwright kit
Found 'file_exists_in_game[    ]*~[^~]+/.+~' 2 time(s).
----------------------------------------
Find 'file_exists_in_game[    ]*~[^~]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2':
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(1152): ACTION_IF FILE_EXISTS_IN_GAME ~Data/AREA550X.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(1187): ACTION_IF FILE_EXISTS_IN_GAME ~Data/25Dialog.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(1351): ACTION_IF FILE_EXISTS_IN_GAME ~Data/AREA550X.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(1388): ACTION_IF FILE_EXISTS_IN_GAME ~Data/25Dialog.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(1558): ACTION_IF FILE_EXISTS_IN_GAME ~Data/AREA550X.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(1595): ACTION_IF FILE_EXISTS_IN_GAME ~Data/25Dialog.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(1765): ACTION_IF FILE_EXISTS_IN_GAME ~Data/AREA550X.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(1802): ACTION_IF FILE_EXISTS_IN_GAME ~Data/25Dialog.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(1972): ACTION_IF FILE_EXISTS_IN_GAME ~Data/AREA550X.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(2009): ACTION_IF FILE_EXISTS_IN_GAME ~Data/25Dialog.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(2179): ACTION_IF FILE_EXISTS_IN_GAME ~Data/AREA550X.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(2216): ACTION_IF FILE_EXISTS_IN_GAME ~Data/25Dialog.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(2390): ACTION_IF FILE_EXISTS_IN_GAME ~Data/AREA550X.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(2409): ACTION_IF FILE_EXISTS_IN_GAME ~Data/25Dialog.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(2516): ACTION_IF FILE_EXISTS_IN_GAME ~Data/AREA550X.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(2535): ACTION_IF FILE_EXISTS_IN_GAME ~Data/25Dialog.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(2642): ACTION_IF FILE_EXISTS_IN_GAME ~Data/AREA550X.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(2661): ACTION_IF FILE_EXISTS_IN_GAME ~Data/25Dialog.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(2768): ACTION_IF FILE_EXISTS_IN_GAME ~Data/AREA550X.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(2787): ACTION_IF FILE_EXISTS_IN_GAME ~Data/25Dialog.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(2894): ACTION_IF FILE_EXISTS_IN_GAME ~Data/AREA550X.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(2913): ACTION_IF FILE_EXISTS_IN_GAME ~Data/25Dialog.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(3020): ACTION_IF FILE_EXISTS_IN_GAME ~Data/AREA550X.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(3039): ACTION_IF FILE_EXISTS_IN_GAME ~Data/25Dialog.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(3133): REQUIRE_PREDICATE FILE_EXISTS_IN_GAME ~Data/25Dialog.bif~ ~This game is not Baldur's Gate II.~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(3145): REQUIRE_PREDICATE FILE_EXISTS_IN_GAME ~Data/25Dialog.bif~ ~This game is not Baldur's Gate II.~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(3158): REQUIRE_PREDICATE FILE_EXISTS_IN_GAME ~Data/25Dialog.bif~ ~This game is not Baldur's Gate II.~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(3175): ACTION_IF FILE_EXISTS_IN_GAME ~Data/25Dialog.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(3215): REQUIRE_PREDICATE FILE_EXISTS_IN_GAME ~Data/25Dialog.bif~ ~This game is not Baldur's Gate II.~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(3240): ACTION_IF FILE_EXISTS_IN_GAME ~Data/BGMain2.exe~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(3334): ACTION_IF FILE_EXISTS_IN_GAME ~Data/25Dialog.bif~
E:\Games\BG\mods\bg2\mod_extract\MixMod\MixMod.tp2(3436): ACTION_IF FILE_EXISTS_IN_GAME ~Data/_amul14.itm~
Found 'file_exists_in_game[    ]*~[^~]+/.+~' 32 time(s).
----------------------------------------
Find 'file_exists_in_game[    ]*~[^~]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\Nathaniel\Setup-Nathaniel.tp2':
E:\Games\BG\mods\bg2\mod_extract\Nathaniel\Setup-Nathaniel.tp2(40): ACTION_IF NOT FILE_EXISTS_IN_GAME ~override/bimoen2.dlg~ THEN BEGIN
Found 'file_exists_in_game[    ]*~[^~]+/.+~' 1 time(s).
----------------------------------------
Find 'file_exists_in_game[    ]*~[^~]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\Nathaniel\Mod backups\old nathaniel tob\Nathaniel\Setup-Nathaniel.tp2':
E:\Games\BG\mods\bg2\mod_extract\Nathaniel\Mod backups\old nathaniel tob\Nathaniel\Setup-Nathaniel.tp2(40): ACTION_IF NOT FILE_EXISTS_IN_GAME ~override/bimoen2.dlg~ THEN BEGIN
Found 'file_exists_in_game[    ]*~[^~]+/.+~' 1 time(s).
----------------------------------------
Find 'file_exists_in_game[    ]*~[^~]+/.+~' in 'E:\Games\BG\mods\bg2\mod_extract\uniqueartifacts\core\compatibility.tph':
E:\Games\BG\mods\bg2\mod_extract\uniqueartifacts\core\compatibility.tph(22): ACTION_IF (FILE_EXISTS_IN_GAME ~override/rr#aran2.cre~) THEN BEGIN
Found 'file_exists_in_game[    ]*~[^~]+/.+~' 1 time(s).
Search complete, found 'file_exists_in_game[    ]*~[^~]+/.+~' 51 time(s). (11 file(s)).



there's still a whole bunch of mods i haven't downloaded (and probably won't), not to mention all those non-english mods, but you get the idea...

Offline cmorgan

  • Planewalker
  • *****
  • Posts: 1424
  • Gender: Male
  • Searcher of Bugs
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #16 on: February 18, 2010, 10:22:44 PM »
Lots more in bg1npc than listed, too, I think - one of the standard ways of cloning .cre and .itm references was cloning it this way with an B_O_I_I_C at the end, so you are doing a poor-man's patching (very useful for dudes like me that barely understand macros). Many times it goes with ~override/myfile.ext~, and sometimes even more - the BG1NPC starting routine set up to use Nythrun's creature checker, etc. uses a fancier form of it, but similar, I think - will check tomorrow and see if I understand what the problem is...

Offline Mike1072

  • Planewalker
  • *****
  • Posts: 298
  • Gender: Male
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #17 on: February 18, 2010, 11:01:34 PM »
cmorgan, the bad practice is using COPY_EXISTING to move files from a mod's folder into the override (or elsewhere) instead of using COPY.  The same thing applies for using FILE_EXISTS_IN_GAME instead of FILE_EXISTS when you are trying to find out if there is a file in a certain directory.

COPY_EXISTING and FILE_EXISTS_IN_GAME are intended to deal with in-game resources only, but currently they check for files in places other than the override and game biffs.
« Last Edit: February 18, 2010, 11:03:38 PM by Mike1072 »

Offline DavidW

  • Planewalker
  • *****
  • Posts: 316
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #18 on: February 20, 2010, 06:42:18 AM »
In my case, it's invariably a typo. I didn't actually know you could use COPY_EXISTING that way.

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #19 on: February 20, 2010, 06:59:24 AM »
Either way, that wall of mods that use C_E or FEIG that way is plenty of reason NOT to fix them.
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline aVENGER

  • Planewalker
  • *****
  • Posts: 143
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #20 on: February 20, 2010, 07:04:49 AM »
In my case, it's invariably a typo. I didn't actually know you could use COPY_EXISTING that way.

Same here. I'll fix it in some future release.

BTW, note that the engine treats several folders in the main game directory as override folders.

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #21 on: February 20, 2010, 07:10:54 AM »
BTW, note that the engine treats several folders in the main game directory as override folders.
Yeah, I know. I don't think that adding support for those directories would have a positive impact on WeiDU's stability, though.
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline cmorgan

  • Planewalker
  • *****
  • Posts: 1424
  • Gender: Male
  • Searcher of Bugs
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #22 on: February 20, 2010, 09:44:02 AM »
Ah - I understand now. But I actually was capitalizing on that in the early days, because I somehow had the misguided impression that COPY was actually a MOVE.

I am not sure we can count on every mod getting updated - but I can certainly fix up my own work and look for it when I help with packaging (there are lots more hands at work at G3 now, at least technically, so i can't speak for every mod, but certainly any DavidW or I package up we can check. And we need a refresher tutorial on this somewhere.  I have been using

COPY = copy a new resource into override or into a temporary folder to manipulate it
C_E = copy or read any resource and modify it an in-game resource and drop the changes with B_O_I_I_C
F_E = never use because it doesn't (didn't) play well with biffing
F_E_I_G = always use because it looks at all game resources including biffs

So what we probably want to put out there is a simplified usage tutorial

Offline Mike1072

  • Planewalker
  • *****
  • Posts: 298
  • Gender: Male
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #23 on: February 20, 2010, 04:50:31 PM »
Use COPY whenever you have an actual file you want to install.  This applies for adding new content to the game or overwriting old content.  Use COPY_EXISTING if you want to grab a file from the game and patch it or make a clone of it.  FILE_EXISTS doesn't have a lot of uses.  Use FILE_EXISTS_IN_GAME to check for component markers or for the existence of mod (or ToB) files if you're attempting to patch them.

Offline GeN1e

  • Planewalker
  • *****
  • Posts: 267
  • Gender: Male
Re: Slight FILE_EXISTS_IN_GAME misbehavior
« Reply #24 on: February 20, 2010, 06:26:45 PM »
COPY - for moving files not present in game
COPY_EXISTING - for loading ingame files

Those who want to copy an ingame 2da to workspace folder and operate on it there, presumable already understand little details.

 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Name: Email:
Verification:
Type the letters shown in the picture
Listen to the letters / Request another image
Type the letters shown in the picture:
What color is grass?:
What is the seventh word in this sentence?:
What is five minus two (use the full word)?: