Guest Posted December 8, 2023 Share Posted December 8, 2023 (edited) Hello, following a problem encountered by a player here, I have noticed that Fishing for trouble overwrite two original areas from BG2 : AR0305 (At least incompatible with Tattos if Fishing for trouble is installed after) AR0306 (At least incompatible with KimNpc if Fishing for trouble is installed after) Here is an exemple with the mod Kim Npc. Spoiler // Ar0306.ARE don't have script assigned COPY_EXISTING ~Ar0306.ARE~ ~override~ WRITE_ASCII 0x94 ~AR0306~ #8 BUT_ONLY ACTION_IF (FILE_EXISTS_IN_GAME ~Ar0306.bcs~) THEN BEGIN EXTEND_TOP ~Ar0306.bcs~ ~KimNPC/Baf/KimAr0300.baf~ END ELSE BEGIN COPY ~KimNPC/Baf/KimAr0300.baf~ ~override/AR0306.bcs~ COMPILE_BAF_TO_BCS END I am not sure if ACTION_IF (FILE_EXISTS_IN_GAME ~Ar0306.bcs~) is really needed, it seem that EXTEND_TOP ~Ar0306.bcs~ ~KimNPC/Baf/KimAr0300.baf~ create the files anyway. So maybe this is enough : COPY_EXISTING ~Ar0306.ARE~ ~override~ WRITE_ASCII 0x94 ~AR0306~ #8 BUT_ONLY EXTEND_TOP ~Ar0306.bcs~ ~KimNPC/Baf/KimAr0300.baf~ Whether the script already exists or not. @AL|EN, I'm quoting you since you seem to be the maintainer ! Edited December 9, 2023 by JohnBob Quote Link to comment
AL|EN Posted December 9, 2023 Share Posted December 9, 2023 @JohnBob Thanks for the report, I was able to fix both cases: EXTEND_TOP instead of overwrite · InfinityMods/FishingForTrouble@1796d4d (github.com) I've tested it and now the BCS files contain changes from both mods, regardless of install order. Please double-check it and report back so I can do a new release. Quote Link to comment
Guest Posted December 9, 2023 Share Posted December 9, 2023 1 hour ago, AL|EN said: Please double-check it and report back so I can do a new release. All good, both area scripts work fine for all three mods. Thanks for the quick correction ! While uninstalling the mod, these harmless errors are displayed... Not really an issue... Spoiler Install Component [Fishing for Trouble by Yovaneth]? [R]e-Install, [N]o Change or [U]ninstall or [Q]uit? u Removing [Fishing for Trouble by Yovaneth] (component #0) Will uninstall 1744 files for [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 0. ERROR: error copying [FishingForTrouble/backup/0/yscddwm1.cre] ERROR: error copying [FishingForTrouble/backup/0/yscddwm2.cre] ERROR: error copying [FishingForTrouble/backup/0/yscddwf1.cre] ERROR: error copying [FishingForTrouble/backup/0/YS0180.tis] ERROR: error copying [FishingForTrouble/backup/0/YS0260.tis] ERROR: error copying [FishingForTrouble/backup/0/YS0428.tis] Uninstalled 1744 files for [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 0. SUCCESSFULLY REMOVED [Fishing for Trouble by Yovaneth] (component #0) SKIPPING: [Fishing for Trouble - Major character portraits] This component requires the main Fishing for Trouble component. Press ENTER to exit. Quote Link to comment
AL|EN Posted December 9, 2023 Share Posted December 9, 2023 There is more: Using .\lang\pl_pl\dialog.tlk and .\lang\pl_pl\dialogF.tlk FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2 0 0 Installed FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2 0 1 Installed Removing [Fishing for Trouble by Yovaneth] (component #0) uninstall: FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2 0 We must temporarily uninstall [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 1 [FishingForTrouble/backup/1/UNSETSTR.1] SET_STRING uninstall info not found Will uninstall 63 files for [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 1. Uninstalled 63 files for [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 1. [FishingForTrouble/backup/0/UNSETSTR.0] SET_STRING uninstall info not found Will uninstall 1742 files for [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 0. Restoring backed-up [FishingForTrouble/backup/0/ysblank.mus] FishingForTrouble/backup/0/ysblank.mus copied to music/ysblank.mus, 19 bytes Restoring backed-up [FishingForTrouble/backup/0/ys0180.tis] FishingForTrouble/backup/0/ys0180.tis copied to override/./ys0180.tis, 307224 bytes Restoring backed-up [FishingForTrouble/backup/0/YS0260.tis] FishingForTrouble/backup/0/YS0260.tis copied to override/./YS0260.tis, 839704 bytes Restoring backed-up [FishingForTrouble/backup/0/YS0428.TIS] FishingForTrouble/backup/0/YS0428.TIS copied to override/./YS0428.TIS, 1433624 bytes Restoring backed-up [FishingForTrouble/backup/0/areas_bg2.tbl] FishingForTrouble/backup/0/areas_bg2.tbl copied to FISHINGFORTROUBLE/worldmap/areas_bg2.tbl, 696 bytes Restoring backed-up [FishingForTrouble/backup/0/map_mods_areas.tbl] FishingForTrouble/backup/0/map_mods_areas.tbl copied to Worldmap/map_mods_areas.tbl, 698 bytes Restoring backed-up [FishingForTrouble/backup/0/map_mods_links.tbl] FishingForTrouble/backup/0/map_mods_links.tbl copied to Worldmap/map_mods_links.tbl, 45146 bytes Restoring backed-up [FishingForTrouble/backup/0/map_mods_trans.tra] FishingForTrouble/backup/0/map_mods_trans.tra copied to Worldmap/map_mods_trans.tra, 159 bytes Restoring backed-up [FishingForTrouble/backup/0/YS0180.tis] ERROR: error copying [FishingForTrouble/backup/0/YS0180.tis] Restoring backed-up [FishingForTrouble/backup/0/YS0260.tis] ERROR: error copying [FishingForTrouble/backup/0/YS0260.tis] Restoring backed-up [FishingForTrouble/backup/0/YS0428.tis] ERROR: error copying [FishingForTrouble/backup/0/YS0428.tis] Uninstalled 1742 files for [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 0. SUCCESSFULLY REMOVED [Fishing for Trouble by Yovaneth] (component #0) Removing [Fishing for Trouble - Major character portraits] (component #1) uninstall: FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2 1 uninstall: FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2 1 already temporarily uninstalled Unable to Unlink [override/spell.ids.fishingfortrouble.tp2.1.marker]: Unix.Unix_error(20, "unlink", "override/spell.ids.fishingfortrouble.tp2.1.marker") Running AT_INTERACTIVE_EXITs in ~FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2~ 0 1 SUCCESSFULLY REMOVED [Fishing for Trouble - Major character portraits] (component #1) but I would need help with this one... Quote Link to comment
mickabouille Posted December 9, 2023 Share Posted December 9, 2023 (edited) I don't know if it's relevant but this mod seems to be a nightmare of mixed-casing Other than than, the fileswith errors seem to appear twice in backup/0/uninstall.0 override/./ys0180.tis [...] override/YS0180.tis If (just a guess) weidu uses this file to remove installed files, then it will succeed to remove once, try a second time and fail. And the mod source contains multiple ocurrences of `override/.` in areas.tpa Edited December 9, 2023 by mickabouille Quote Link to comment
mickabouille Posted December 9, 2023 Share Posted December 9, 2023 (edited) And I'm puzzled by these constructs COPY ~fishingfortrouble/areas/Calim Desert/cave/.~ ~override/.~ SAY 0x664 @411 SAY 0x728 @410 It copies a _directory_ (not files) and then... patches string in? Wouldn't this need a glob (like ~fishingfortrouble/areas/Calim Desert/cave/*~) ? EDIT/ hm weidu doc agrees with these uses... Edited December 9, 2023 by mickabouille Quote Link to comment
mickabouille Posted December 9, 2023 Share Posted December 9, 2023 (edited) So replacing for example COPY ~fishingfortrouble/areas/cloudpeaks/.~ ~override/.~ with COPY ~fishingfortrouble/areas/cloudpeaks~ ~override~ The mod installs, doesn't creat eduplicates in uninstall.0 and uninstalls witout the errors. But I don't know if it actually creates an identical installation. Maybe a binary diff of override/ would check that? EDIT: seems it didn't change anything to the result in override/ Edited December 9, 2023 by mickabouille Quote Link to comment
AL|EN Posted December 9, 2023 Share Posted December 9, 2023 @mickabouille I have confirmed your findings, I've replaced "/.~ ~override/.~" with "~ ~override~" and it seems that fixed the "ERROR: error copying [....tis]" uninstallation errors. Now, the only one that remains is: Unable to Unlink [override/spell.ids.fishingfortrouble.tp2.1.marker]: Unix.Unix_error(20, "unlink", "override/spell.ids.fishingfortrouble.tp2.1.marker") which makes no sense to me. It disappears when I disable/do not install the "portraits" component. Quote Link to comment
mickabouille Posted December 9, 2023 Share Posted December 9, 2023 (edited) I'll check, I see you pushed your changes (But... Eh what a beast, 180+Mb a pop What's in there?) Edited December 9, 2023 by mickabouille Quote Link to comment
mickabouille Posted December 9, 2023 Share Posted December 9, 2023 (edited) Hmm I may have missed a step - install the 2 components of fishing (the portrait one is dependant on the first component) - weidu uninstall But I saw no error in the output Full output: weidu --uninstall FishingForTrouble/FishingForTrouble.tp2[weidu] WeiDU version 24900 [./chitin.key] 191 BIFFs, 62570 resources [./lang/fr_fr/dialog.tlk] 106832 string entries [./lang/fr_fr/dialogf.tlk] 106832 string entries [./lang/de_de/dialog.tlk] claims to be writeable. [./lang/de_de/dialog.tlk] claims to be a regular file. [./lang/de_de/dialogf.tlk] claims to be writeable. [./lang/de_de/dialogf.tlk] claims to be a regular file. [./lang/en_us/dialog.tlk] claims to be writeable. [./lang/en_us/dialog.tlk] claims to be a regular file. [./lang/es_es/dialog.tlk] claims to be writeable. [./lang/es_es/dialog.tlk] claims to be a regular file. [./lang/es_es/dialogf.tlk] claims to be writeable. [./lang/es_es/dialogf.tlk] claims to be a regular file. [./lang/fr_fr/dialog.tlk] claims to be writeable. [./lang/fr_fr/dialog.tlk] claims to be a regular file. [./lang/fr_fr/dialogf.tlk] claims to be writeable. [./lang/fr_fr/dialogf.tlk] claims to be a regular file. [./lang/it_it/dialog.tlk] claims to be writeable. [./lang/it_it/dialog.tlk] claims to be a regular file. [./lang/it_it/dialogf.tlk] claims to be writeable. [./lang/it_it/dialogf.tlk] claims to be a regular file. [./lang/ko_kr/dialog.tlk] claims to be writeable. [./lang/ko_kr/dialog.tlk] claims to be a regular file. [./lang/pl_pl/dialog.tlk] claims to be writeable. [./lang/pl_pl/dialog.tlk] claims to be a regular file. [./lang/pl_pl/dialogf.tlk] claims to be writeable. [./lang/pl_pl/dialogf.tlk] claims to be a regular file. [./lang/ru_ru/dialog.tlk] claims to be writeable. [./lang/ru_ru/dialog.tlk] claims to be a regular file. [./lang/ru_ru/dialogf.tlk] claims to be writeable. [./lang/ru_ru/dialogf.tlk] claims to be a regular file. [./lang/zh_cn/dialog.tlk] claims to be writeable. [./lang/zh_cn/dialog.tlk] claims to be a regular file. Using Language [English] [English] has 1 top-level TRA files [FishingForTrouble/language/english/english.tra] has 3441 translation strings Using ./lang/fr_fr/dialog.tlk and ./lang/fr_fr/dialogf.tlk FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2 0 0 Installed FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2 0 1 Installed Removing [Fishing for Trouble by Yovaneth] (component #0) uninstall: FishingForTrouble/FishingForTrouble.tp2 0 We must temporarily uninstall [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 1 Will uninstall 63 files for [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 1. Uninstalled 63 files for [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 1. Will uninstall 1739 files for [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 0. Restoring backed-up [FishingForTrouble/backup/0/areas_bg2.tbl] Uninstalled 1739 files for [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 0. SUCCESSFULLY REMOVED [Fishing for Trouble by Yovaneth] (component #0) Removing [Fishing for Trouble - Major character portraits] (component #1) uninstall: FishingForTrouble/FishingForTrouble.tp2 1 uninstall: FishingForTrouble/FishingForTrouble.tp2 1 already temporarily uninstalled SUCCESSFULLY REMOVED [Fishing for Trouble - Major character portraits] (component #1) Saving This Log: FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2 0 0 Permanently_Uninstalled FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2 0 1 Permanently_Uninstalled [FishingForTrouble/language/english/english.tra] has 3441 translation strings And TIL weidu doesn't append to debug files when uninstalling (missing an option maybe?) Maybe that's a language thing? I'll try again with "en_US" in weidu.conf... EDIT: didn't change anything Edited December 9, 2023 by mickabouille Quote Link to comment
mickabouille Posted December 9, 2023 Share Posted December 9, 2023 39 minutes ago, AL|EN said: I have confirmed your findings Maybe Weidu should normalize paths when writing them in this file Quote Link to comment
AL|EN Posted December 9, 2023 Share Posted December 9, 2023 1 hour ago, mickabouille said: Hmm I may have missed a step - install the 2 components of fishing (the portrait one is dependant on the first component) - weidu uninstall But I saw no error in the output Full output: Spoiler weidu --uninstall FishingForTrouble/FishingForTrouble.tp2[weidu] WeiDU version 24900 [./chitin.key] 191 BIFFs, 62570 resources [./lang/fr_fr/dialog.tlk] 106832 string entries [./lang/fr_fr/dialogf.tlk] 106832 string entries [./lang/de_de/dialog.tlk] claims to be writeable. [./lang/de_de/dialog.tlk] claims to be a regular file. [./lang/de_de/dialogf.tlk] claims to be writeable. [./lang/de_de/dialogf.tlk] claims to be a regular file. [./lang/en_us/dialog.tlk] claims to be writeable. [./lang/en_us/dialog.tlk] claims to be a regular file. [./lang/es_es/dialog.tlk] claims to be writeable. [./lang/es_es/dialog.tlk] claims to be a regular file. [./lang/es_es/dialogf.tlk] claims to be writeable. [./lang/es_es/dialogf.tlk] claims to be a regular file. [./lang/fr_fr/dialog.tlk] claims to be writeable. [./lang/fr_fr/dialog.tlk] claims to be a regular file. [./lang/fr_fr/dialogf.tlk] claims to be writeable. [./lang/fr_fr/dialogf.tlk] claims to be a regular file. [./lang/it_it/dialog.tlk] claims to be writeable. [./lang/it_it/dialog.tlk] claims to be a regular file. [./lang/it_it/dialogf.tlk] claims to be writeable. [./lang/it_it/dialogf.tlk] claims to be a regular file. [./lang/ko_kr/dialog.tlk] claims to be writeable. [./lang/ko_kr/dialog.tlk] claims to be a regular file. [./lang/pl_pl/dialog.tlk] claims to be writeable. [./lang/pl_pl/dialog.tlk] claims to be a regular file. [./lang/pl_pl/dialogf.tlk] claims to be writeable. [./lang/pl_pl/dialogf.tlk] claims to be a regular file. [./lang/ru_ru/dialog.tlk] claims to be writeable. [./lang/ru_ru/dialog.tlk] claims to be a regular file. [./lang/ru_ru/dialogf.tlk] claims to be writeable. [./lang/ru_ru/dialogf.tlk] claims to be a regular file. [./lang/zh_cn/dialog.tlk] claims to be writeable. [./lang/zh_cn/dialog.tlk] claims to be a regular file. Using Language [English] [English] has 1 top-level TRA files [FishingForTrouble/language/english/english.tra] has 3441 translation strings Using ./lang/fr_fr/dialog.tlk and ./lang/fr_fr/dialogf.tlk FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2 0 0 Installed FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2 0 1 Installed Removing [Fishing for Trouble by Yovaneth] (component #0) uninstall: FishingForTrouble/FishingForTrouble.tp2 0 We must temporarily uninstall [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 1 Will uninstall 63 files for [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 1. Uninstalled 63 files for [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 1. Will uninstall 1739 files for [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 0. Restoring backed-up [FishingForTrouble/backup/0/areas_bg2.tbl] Uninstalled 1739 files for [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 0. SUCCESSFULLY REMOVED [Fishing for Trouble by Yovaneth] (component #0) Removing [Fishing for Trouble - Major character portraits] (component #1) uninstall: FishingForTrouble/FishingForTrouble.tp2 1 uninstall: FishingForTrouble/FishingForTrouble.tp2 1 already temporarily uninstalled SUCCESSFULLY REMOVED [Fishing for Trouble - Major character portraits] (component #1) Saving This Log: FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2 0 0 Permanently_Uninstalled FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2 0 1 Permanently_Uninstalled [FishingForTrouble/language/english/english.tra] has 3441 translation strings And TIL weidu doesn't append to debug files when uninstalling (missing an option maybe?) Maybe that's a language thing? I'll try again with "en_US" in weidu.conf... EDIT: didn't change anything If you are on linux, add "--log ff.debug" when uninstalling and then you will see it inside the file. Quote Link to comment
mickabouille Posted December 9, 2023 Share Posted December 9, 2023 (edited) Ok thanks, I can see it now. Strange indeed. Somehow, it feels like an "uninstall in the wrong order". If you first uninstall component 1 (portraits), no error. Then uninstall component 0, no error. But if you uninstall whole mod in one go, the error appears. EDIT: in fact, the log says must temporarily uninstall comp 1 done uninstall comp 0 done now uninstall comp 1 woops "already temporarily uninstalled" unable to unlink etc. Edited December 9, 2023 by mickabouille Quote Link to comment
mickabouille Posted December 9, 2023 Share Posted December 9, 2023 (edited) I think that's probably a weidu bug. I've seen traces in the changelog that the "temporarily uninstalled" case is not under complete control. Version 67: * Fixed a bug where temporarily uninstalled components would be handled poorly when you wanted to re-install them, blah, I can't even describe this bug. Anyway, it caused (at least) at lot of errors like "Unix.Stat(solarom/uninstall/1/uninstall.1)" but it didn't seem to actually hurt anything. Still, it marked a conceptual flaw in my understanding of what was going on. (10 years ago, and the occasional bugfix after that. Not judging, these things are _HARD_) Edited December 9, 2023 by mickabouille Quote Link to comment
Recommended Posts
Join the conversation
You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.