//In all honesty, this is just recycled The Bigg's Generalized Biffing mod v2.2, with the Argent77's
EE name addition, and the edit is to allow to utilize both of the two distinct components,
//I changed the author because I take the responsibility of all and any wrong coding, still all credit and praise are due to The Bigg, Valerio Bigiani, but all bug reports and feature requests should go to me, The Imp, Jarno Mikkola.
//tp2 code:
BACKUP ~Improved_generalized_biffing/backup~
AUTHOR ~The Imp~
VERSION ~v1.0~
LANGUAGE ~English~
~English~
~Improved_generalized_biffing/tra/english/setup.tra~
/*
LANGUAGE ~French (By Isaya)~
~french~
~Improved_generalized_biffing/tra/french/setup.tra~
LANGUAGE ~Italiano~
~italian~
~Improved_generalized_biffing/tra/italian/setup.tra~
*/
BEGIN @1 //~Bif all media files~
ACTION_IF ~%WEIDU_OS%~ STRING_COMPARE_CASE ~WIN32~ THEN BEGIN
AT_UNINSTALL ~rm -rf Improved_generalized_biffing/prod/0~
END ELSE BEGIN
AT_UNINSTALL ~del /q /f Improved_generalized_biffing\prod\0~ EXACT
END
<<<<<<<< .../list-of-files
>>>>>>>>
// this defines a one to eight character regular expression for matching resrefs
OUTER_TEXT_SPRINT ~char~ ~[^ %TAB%%WNL%]~
OUTER_TEXT_SPRINT ~8char~ ~%char%%char%?%char%?%char%?%char%?%char%?%char%?%char%?~
OUTER_TEXT_SPRINT ~9char~ ~%char%%char%%char%%char%%char%%char%%char%%char%%char%%char%*~
OUTER_TEXT_SPRINT ~ext~ ~\(mve\|wav\|bam\|tis\|wbm\|pvrz\)~
OUTER_TEXT_SPRINT ~myRegExp~ ~^har%\.%ext%$~
MKDIR ~Improved_generalized_biffing/prod/0/biffs/0~
MKDIR ~Improved_generalized_biffing/prod/0/rej~
OUTER_SET currentTotal = 0
OUTER_SET currentFile = 0
ACTION_BASH_FOR ~override~ ~%myRegExp%~ BEGIN
ACTION_IF ºSH_FOR_SIZE% + currentTotal > 30000000 /* 30M */ && currentTotal > 0 BEGIN
MAKE_BIFF ~xo#ge%currentFile%~ BEGIN ~Improved_generalized_biffing/prod/0/biffs/%currentFile%~ ~^.*$~ END
OUTER_SET currentFile = currentFile + 1
OUTER_SET currentTotal = 0
MKDIR ~Improved_generalized_biffing/prod/0/biffs/%currentFile%~
END
MOVE ~override/ºSH_FOR_FILE%~ ~Improved_generalized_biffing/prod/0/biffs/%currentFile%/ºSH_FOR_FILE%~
OUTER_SET currentTotal += BASH_FOR_SIZE
END
ACTION_IF currentTotal > 0 BEGIN
MAKE_BIFF ~xo#ge%currentFile%~ BEGIN ~Improved_generalized_biffing/prod/0/biffs/%currentFile%~ ~^.*$~ END
END
OUTER_TEXT_SPRINT ~myRegExp~ ~^har%.%ext%$~
ACTION_BASH_FOR ~override~ ~%myRegExp%~ BEGIN
OUTER_PATCH_SAVE ~8name~ ~ºSH_FOR_FILE%~ BEGIN
DELETE_BYTES 8 (INDEX_BUFFER (EXACT_MATCH ~.~) - 8 )
END
ACTION_IF FILE_EXISTS_IN_GAME ~%8name%~ THEN BEGIN
MOVE ~override/ºSH_FOR_FILE%~ ~Improved_generalized_biffing/prod/0/rej/ºSH_FOR_FILE%~
END
END
BEGIN @2 //~Bif all files~
ACTION_IF ~%WEIDU_OS%~ STRING_COMPARE_CASE ~WIN32~ THEN BEGIN
AT_UNINSTALL ~rm -rf Improved_generalized_biffing/prod/1~
END ELSE BEGIN
AT_UNINSTALL ~del /q /f Improved_generalized_biffing\prod\1~ EXACT
END
<<<<<<<< .../list-of-files
>>>>>>>>
// this defines a one to eight character regular expression for matching resrefs
OUTER_TEXT_SPRINT ~char~ ~[^ %TAB%%WNL%]~
OUTER_TEXT_SPRINT ~8char~ ~%char%%char%?%char%?%char%?%char%?%char%?%char%?%char%?~
OUTER_TEXT_SPRINT ~9char~ ~%char%%char%%char%%char%%char%%char%%char%%char%%char%%char%*~
OUTER_TEXT_SPRINT ext ~\(bmp\|mve\|wav\|wfx\|plt\|bam\|wed\|chu\|tis\|mos\|itm\|spl\|bcs\|ids\|cre\|are\|dlg\|2da\|gam\|sto\|wmp\|eff\|chr\|vvc\|vef\|pro\|wbm\|fnt\|gui\|sql\|pvrz\|glsl\|ini\)~
OUTER_TEXT_SPRINT ~myRegExp~ ~^har%\.%ext%$~
MKDIR ~Improved_generalized_biffing/prod/1/biffs/0~
MKDIR ~Improved_generalized_biffing/prod/1/rej~
OUTER_SET currentTotal = 0
OUTER_SET currentFile = 0
ACTION_BASH_FOR ~override~ ~%myRegExp%~ BEGIN
ACTION_IF ºSH_FOR_SIZE% + currentTotal > 30000000 /* 30M */ && currentTotal > 0 BEGIN
MAKE_BIFF ~IJ#ge%currentFile%~ BEGIN ~Improved_generalized_biffing/prod/1/biffs/%currentFile%~ ~^.*$~ END
OUTER_SET currentFile = currentFile + 1
OUTER_SET currentTotal = 0
MKDIR ~Improved_generalized_biffing/prod/1/biffs/%currentFile%~
END
MOVE ~override/ºSH_FOR_FILE%~ ~Improved_generalized_biffing/prod/1/biffs/%currentFile%/ºSH_FOR_FILE%~
OUTER_SET currentTotal += BASH_FOR_SIZE
END
ACTION_IF currentTotal > 0 BEGIN
MAKE_BIFF ~IJ#ge%currentFile%~ BEGIN ~Improved_generalized_biffing/prod/1/biffs/%currentFile%~ ~^.*$~ END
END
OUTER_TEXT_SPRINT ~myRegExp~ ~^har%.%ext%$~
ACTION_BASH_FOR ~override~ ~%myRegExp%~ BEGIN
OUTER_PATCH_SAVE ~8name~ ~ºSH_FOR_FILE%~ BEGIN
DELETE_BYTES 8 (INDEX_BUFFER (EXACT_MATCH ~.~) - 8 )
END
ACTION_IF FILE_EXISTS_IN_GAME ~%8name%~ THEN BEGIN
MOVE ~override/ºSH_FOR_FILE%~ ~Improved_generalized_biffing/prod/1/rej/ºSH_FOR_FILE%~
END
END
We should make the component 0 required in a BWS/
BWP installs, and component 1 to be pre-selected, but op-out able. The reasoning behind this is the same as the one I said for the current BWS.
Yes, it needs a retweak of the translations as shown in the code, as currently the second component name is rather long... ~IMPROVED_GENERALIZED_BIFFING/IMPROVED_GENERALIZED_BIFFING.TP2~ #0 #1 // Would you like to biff only wav&tis files, or all files found? 0] only wav&tis&bam (recommended by The Bigg and other Small World Dudes) 1] all files (recommended by the Big World Dudes): v1
And currently you of course also need the rest of the the_bigg_biff.rar archives content(.tra files) extracted to the new folder and a renamed
weidu.exe to run this .tp2 file.
We might as well add a requirement for the later component to first have the the component 0 installed, but that'll wait, for opposite opinion to be raised. The whole reason why to do this is that it could cut the install time of the mods in BWS when it's installed in the correct position, which is after all the sound, animation and area adding mods have been installed, but before the player customization. So it can go before the Widescreen mod and several other tweak mods that the player might wish to customize the install of, yes, I am doing this for my own good.
Unfortunately, I noticed that the benefit of this is somewhat restricted till, but I can't say for sure that we shouldn't just biff the majority of the overrides content.
Opinions ? This kinda depends on where exactly we want to place this in the BWS install order.
And yes, the second component(#1) also has the same file types as the first one, in case some one wants to edits or add a mod that adds one of those files, we still want to cover all of them, just in case. In case it's not clear, the component #0 will allow the media files(normal and
EE movies: .mve & wbm, normal sound files: .wav, animations: .bam and normal and
EE tilesets: .tis & .pvrz) to be biffed. If the player then wants to edit his game by taking the opportunity to remove the component #1 from the BWS install, they don't need to uninstall or op out the bigger files from their game, and those are the files that cause the severe start delays and some lag if not biffed. Yes, the script files(.bcs) can also cause lag, but that's more symptomatic of a bad script or just a very heavy one, which the player should then just install the component #1 to try to get rid of it after they have customized their install.
Comments ?