onerous Posted March 4, 2011 Share Posted March 4, 2011 I got a number of possibly harmless errors when installing the slower reputation increase on BGTutu. You can look at the debug info here. Link to comment
DavidW Posted March 4, 2011 Share Posted March 4, 2011 I got a number of possibly harmless errors when installing the slower reputation increase on BGTutu. You can look at the debug info here. They'll be harmless, yes. (It's caused by existing scripts/dialogs with parse errors in them: the component decompiles and recompiles every script in the game.) Link to comment
Miloch Posted March 4, 2011 Share Posted March 4, 2011 the component decompiles and recompiles every script in the game. Maybe you could avoid that with REPLACE_ACTION_TEXT et al.? Link to comment
DavidW Posted March 5, 2011 Share Posted March 5, 2011 the component decompiles and recompiles every script in the game. Maybe you could avoid that with REPLACE_ACTION_TEXT et al.? For dialogs, probably. (REPLACE_ACTION_TEXT_REGEXP, rather, in an inlined .d file.) For scripts, I don't think so. (dlg files store their action text as plaintext - I think - but bcs files certainly don't.) What's the advantage? As in, is there some reason I shouldn't be decompiling and recompiling every script in the game? Link to comment
the bigg Posted March 5, 2011 Share Posted March 5, 2011 Faster by a non-measurable margin when applied to the dozen of files WoP installs? Link to comment
Miloch Posted March 5, 2011 Share Posted March 5, 2011 There isn't such an alternative (that I know of) for scripts. However, I suspect you're not changing all scripts, so there shouldn't be a need to decompile all of them. I haven't looked at the component, but that's what I gathered it does from the "decompiles and recompiles every script in the game." As you say, compiled scripts don't store their actions as text, but there should be some way of detecting whether the .bcs contains the command you wish to replace and only then decompile and recompile it. (I doubt that would avoid completely the unfortunate "INSTALLED WITH WARNINGS" messages but it might be an improvement.) Incidentally, DECOMPILE_BCS_TO_BAF then COMPILE_BAF_TO_BCS even with a BUT_ONLY and no other modifications still results in a file write from what I recall. Link to comment
the bigg Posted March 5, 2011 Share Posted March 5, 2011 Using 229 synthax: COPY_EXISTING_REGEXP GLOB ~^.*\.bcs$~ ~^.*\.dlg$~ PATCH_IF (~%SOURCE_EXT%~ STRING_EQUAL_CASE ~DLG~ && `0 != INDEX_BUFFER (~ReputationInc~)) || (~%SOURCE_EXT%~ STRING_EQUAL_CASE ~BCS~ && `0 != INDEX_BUFFER (~%WNL%163OB~)) THEN BEGIN PATCH_TRY DECOMPILE_AND_PATCH BEGIN REPLACE_TEXTUALLY this that END WITH DEFAULT PATCH_WARN ~WARNING: couldn't patch %SOURCE_FILE%, some mod broke it; leaving it untouched.~ END END BUT_ONLY Link to comment
Miloch Posted March 5, 2011 Share Posted March 5, 2011 This new WeiDU syntax astounds me. I believe it could actually modify the world to be banana-shaped. Link to comment
DavidW Posted March 5, 2011 Share Posted March 5, 2011 Using 229 synthax: COPY_EXISTING_REGEXP GLOB ~^.*\.bcs$~ ~^.*\.dlg$~ PATCH_IF (~%SOURCE_EXT%~ STRING_EQUAL_CASE ~DLG~ && `0 != INDEX_BUFFER (~ReputationInc~)) || (~%SOURCE_EXT%~ STRING_EQUAL_CASE ~BCS~ && `0 != INDEX_BUFFER (~%WNL%163OB~)) THEN BEGIN PATCH_TRY DECOMPILE_AND_PATCH BEGIN REPLACE_TEXTUALLY this that END WITH DEFAULT PATCH_WARN ~WARNING: couldn't patch %SOURCE_FILE%, some mod broke it; leaving it untouched.~ END END BUT_ONLY Wow. Link to comment
ScuD Posted March 5, 2011 Share Posted March 5, 2011 I'd also like to add that after applying the current version of the component the following DLG files are reported corrupted by NI: File: BANMER.DLG Offset: 636h Error message: Text(636h) overlaps Text(636h) by 38 bytes File: BANMER.DLG Offset: 636h Error message: 38 unused bytes between Text(636h) and Text(65ch) File: SARBAR01.DLG Offset: bb6h Error message: Text(bb6h) overlaps Text(bb6h) by 73 bytes File: SARBAR01.DLG Offset: bb6h Error message: 73 unused bytes between Text(bb6h) and Text(bffh) File: SARPROVM.DLG Offset: 5edh Error message: Text(5edh) overlaps Text(5edh) by 37 bytes File: SARPROVM.DLG Offset: 5edh Error message: 37 unused bytes between Text(5edh) and Text(612h) File: SCSARLES.DLG Offset: e24h Error message: Text(e24h) overlaps Text(e24h) by 37 bytes File: SCSARLES.DLG Offset: e24h Error message: 37 unused bytes between Text(e24h) and Text(e49h) File: UHFARM01.DLG Offset: 36eh Error message: Text(36eh) overlaps Text(36eh) by 41 bytes File: UHFARM01.DLG Offset: 36eh Error message: 41 unused bytes between Text(36eh) and Text(397h) File: WISH25.DLG Offset: b50h Error message: Text(b50h) overlaps Text(b50h) by 22 bytes File: WISH25.DLG Offset: b50h Error message: 22 unused bytes between Text(b50h) and Text(b66h) No other mods modify them before this component. Link to comment
the bigg Posted March 5, 2011 Share Posted March 5, 2011 WeiDU version? Are you using my code or David's? Link to comment
ScuD Posted March 5, 2011 Share Posted March 5, 2011 I used David's code, WeiDU 228. Tried also the latest build from Git, the result is the same. If installing just Fixpack, SCSII main component and this one, there's even more corrupted files. I'll try your code next with the latest WeiDU from Git. Link to comment
the bigg Posted March 5, 2011 Share Posted March 5, 2011 I'm more interested in knowing if they're still broken with 227. Link to comment
ScuD Posted March 5, 2011 Share Posted March 5, 2011 Yes. Just checked with 227. Update: About your code. I slightly modified it to be COPY_EXISTING_REGEXP GLOB ~^.*\.bcs$~ ~override~ ~^.*\.dlg$~ ~override~ PATCH_IF (~%SOURCE_EXT%~ STRING_EQUAL_CASE ~DLG~ && `0 != INDEX_BUFFER (~ReputationInc~)) || (~%SOURCE_EXT%~ STRING_EQUAL_CASE ~BCS~ && `0 != INDEX_BUFFER (~%WNL%163OB~)) THEN BEGIN PATCH_TRY DECOMPILE_AND_PATCH BEGIN REPLACE_TEXTUALLY ~ReputationInc(1)~ ~SetGlobal("DMWWRepBoost","GLOBAL",1)~ REPLACE_TEXTUALLY ~ReputationInc(2)~ ~ReputationInc(1)~ END WITH DEFAULT PATCH_WARN ~WARNING: couldn't patch %SOURCE_FILE%, some mod broke it; leaving it untouched.~ END END BUT_ONLY I can say significantly less files are being patched (with 22808). Something is not right. Link to comment
DavidW Posted March 6, 2011 Share Posted March 6, 2011 Well, my code decompiles and recompiles basically every dialog file in the game, but all it does to them is a REPLACE_TEXTUALLY on a chunk of the ACTION block, so unless I'm seriously missing something or (less likely) there's a bug in WEIDU, it sounds like a false positive. Have you checked the files to see if they're actually corrupted? Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.