Author Topic: A question on biffing.  (Read 9538 times)

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
A question on biffing.
« on: February 22, 2006, 07:18:50 PM »
OK, so now the tp2 command MAKE_BIFF is included. Ish.

The key file is reloaded as soon as the biff is created; this means that you can C_E_R and catch those files. The key file is backed-up as a normal file and reloaded as soon as a mod with the MAKE_BIFF command is uninstalled. This means that, while the install process will be slower (as you'll be re-creating the biff each time), it's also fire-proof. Files will be availables for C_E_R with the same rules as if they were copied to the override.

Just a question: the destination .bif file should be deleted or not on uninstall? --remove-biff doesn't, however the bif file is just a pile of junk anyway once you delete the key. Coding difficulty for said task is non-existant.

If you'd like to have a beta version to be able to test your install scripts (with MAKE_BIFF and UNINSTALL ~%myvar%.tp2~ 3 + somevar * 5, among other improvements), please refer to this link: http://forums.pocketplane.net/index.php/topic,21322.0.html.

EDIT: typo.
« Last Edit: February 22, 2006, 07:22:39 PM by the bigg »
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 Ascension64

  • Planewalker
  • *****
  • Posts: 472
Re: A question on biffing.
« Reply #1 on: February 22, 2006, 10:09:52 PM »
The cmd parameter --make-biff doesn't like it when an existing .bif with the same name is already in the data directory but is not referenced by chitin.key.  Does MAKE_BIFF actually work around this problem?  If it won't, I suggest removing the .bif upon uninstall.  Actually, I think removing the .bif upon uninstall should always be the case, BUT...

How will you handle files that were in the override before installation, got modified during installation, moved to a directory for biffing, then biffed?  Will MAKE_BIFF make a record that the file had an original form in the override before it occurs?  If not, then this command could seriously have problems.

Offline CamDawg

  • Infidel
  • Planewalker
  • *****
  • Posts: 859
  • Dreaming of a red Xmas
    • The Gibberlings Three
Re: A question on biffing.
« Reply #2 on: February 22, 2006, 10:15:57 PM »
tbh, the less mods fuck with the key file the happier I'll be. No other tp2 feature--save the new command to let us break save games--has the sheer ability to guarantee the everlasting frustration of players. I'd rather leave biffing purely as a command-line exercise.
The Gibberlings Three - Home of IE Mods

The BG2 Fixpack - All the fixes of Baldurdash, plus a few hundred more. Now available, with more fixes being added in every release.

Offline King Diamond

  • Planewalker
  • *****
  • Posts: 101
Re: A question on biffing.
« Reply #3 on: February 23, 2006, 03:39:29 AM »
tbh, the less mods fuck with the key file the happier I'll be. No other tp2 feature--save the new command to let us break save games--has the sheer ability to guarantee the everlasting frustration of players. I'd rather leave biffing purely as a command-line exercise.
What's the difference between changing .key from the command line and by MAKE_BIFF from the point of view of saves?
Give me just one example when I'd broke my savegame in one case and wouldn't in the other....

@Ascension64
1) If you're modifying anything it's being already registered for a backup.
2) I see the only possible problem there when some unmodified files will be moved from \override\ to the biffing directory.

To solve such possible problems I propose to add few another file manipulation commands like MOVE, DELETE, RENAME that will register itself with a backup process. That will make possible to skip all .bat tricks and use WeiDU only to create biffs, but with a full backup support this time.

Offline CamDawg

  • Infidel
  • Planewalker
  • *****
  • Posts: 859
  • Dreaming of a red Xmas
    • The Gibberlings Three
Re: A question on biffing.
« Reply #4 on: February 23, 2006, 06:22:39 AM »
tbh, the less mods fuck with the key file the happier I'll be. No other tp2 feature--save the new command to let us break save games--has the sheer ability to guarantee the everlasting frustration of players. I'd rather leave biffing purely as a command-line exercise.
What's the difference between changing .key from the command line and by MAKE_BIFF from the point of view of saves?
You misunderstand my point. COPY_ALL_GAM_FILES marked a watershed moment for WeiDU, because it was the first tp2 command that truly gave us the ability to destroy a player's installation with non-malicous code. It's the only thing comparable to adding a MAKE_BIFF tp2 command.

In the current range of things WeiDU can do via tp2, nothing will force a re-install. If it crashes during an install, you've lost, what, some item files? A handful of spell files? Worst case, you delete those files out of the override and use the originals still in the biffs. Now we've upped the risk profile substantially--WeiDU decides to segfault in the middle of a component that biffs and we've just guaranteed a complete and absolute fubaring of their install.

A command-line biffing is initiated by the player, meaning that the risk is accepted explicitly by the player and the burden of support is on the player. I don't think including anything that has the potential to break an install should be a decision made by a modder. Sure, you can put it in its own component and label it as such, but there will always be the players who simply answer 'install all' at the top-level and get a number of components they don't want. Just browse the EoU forum if you want examples.

There are also backwards-compatibility issues. A number of legacy mods--and unfortunately, modern ones as well--rely on FILE_EXISTS ~override/foo.itm~ logical tests, which will fail now that every mod and its dog will try to biff the override.
« Last Edit: February 23, 2006, 06:24:29 AM by CamDawg »
The Gibberlings Three - Home of IE Mods

The BG2 Fixpack - All the fixes of Baldurdash, plus a few hundred more. Now available, with more fixes being added in every release.

Offline Ascension64

  • Planewalker
  • *****
  • Posts: 472
Re: A question on biffing.
« Reply #5 on: February 23, 2006, 06:51:48 AM »
So much for Weimer/Bigg "Dialogue Utilities"...

Cam, are you suggesting that modders shouldn't even use --make-biff during the installation of a mod because of its potential to break the install?
« Last Edit: February 23, 2006, 06:53:43 AM by Ascension64 »

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: A question on biffing.
« Reply #6 on: February 23, 2006, 06:54:37 AM »
Biffing has always been the trademark of large mods, the difference is that, since they were doing this with the *absolutely broken* AT_INTERACTIVE_EXIT, you can't uninstall a specific mod unless you manually clean the override. Try browsing the "Install help please" threads over at the BP-* forums.
Yeah, segfaulting when working with the key may happen. However, that's not the only occasion where a 'Wes' segfault might break the game. Consider that you've compiled a script to make the player transition to an area, but there's a segfault and TISUNPACK doesn't happen.\

In short, biffing has always been used by large mods - what I do is just ensuring that the install, *in case there is no hard crash*, will be easier on the end user. In case of an hard crash, you can simply restore the backup of the key file - or manually append the mod entry to weidu.log and run uninstall (yes, it works.).

The biff is now part of the backup process (however in my run tests it never caused a problem if the .bif remained there). DELETE added (backup as normal), MOVE is not (no way to back it up). THanks to the hackish-but-neat coding of MAKE_BIFF (and DELETE as well), you can say
MAKE_BIFF name_of_destination_biff BEGIN (directory-regexp) list END

where directory-regesp is a list of directory + regexp to be matched inside the dir. So, you can

MAKE_BIFF BGT_BCS BEGIN ~override~ ~^.*\.bcs$~ ~moddir~ ~^.*\.bcs$~ END
DELETE BEGIN ~override~ ~.*\.bcs$~ END

If there is no segfault, everything goes sweet. If there is one, append
~SETUP-BGT.TP2~ #0 #0
to weidu.log and run uninstall.
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 SimDing0™

  • Back In Black
  • Global Moderator
  • Planewalker
  • *****
  • Posts: 3496
  • Gender: Male
  • Word Enhancer
Re: A question on biffing.
« Reply #7 on: February 23, 2006, 07:24:26 AM »
Biffing has always been the trademark of large mods
And historically, so has TLK overwriting. That doesn't justify anything. Adding BIF editing at TP2 level might seem sensible, but it moves it from the realm of "people who are obsessed with the idea for some reason or another and are prepared to go through silly install processes anyway" (and I'm still sceptical about the need--we have Tutu dumping 10,000 files into the override without causing problems) to a place where any casual modder can decide to BIF his/her mod with no extra effort, and the stage at which every small mod is fucking with the KEY is a very, very silly one.

Offline CamDawg

  • Infidel
  • Planewalker
  • *****
  • Posts: 859
  • Dreaming of a red Xmas
    • The Gibberlings Three
Re: A question on biffing.
« Reply #8 on: February 23, 2006, 07:42:52 AM »
Being as it's already coded, I know I'm arguing for posterity here.

Yeah, segfaulting when working with the key may happen. However, that's not the only occasion where a 'Wes' segfault might break the game. Consider that you've compiled a script to make the player transition to an area, but there's a segfault and TISUNPACK doesn't happen.\
What's difficult about deleting a bcs file from your override?

Cam, are you suggesting that modders shouldn't even use --make-biff during the installation of a mod because of its potential to break the install?
In general, yes. I believe any change that has the potential to break an install should be labelled as such and force explicit agreement from the player. I'd have no problem if the following conditions were met:

  • clearly labeled
  • disclaimer regarding risk
  • not required for anything else in the mod
tbh, this is more of a philosophical, best-practices type of question. The default course of action should always be the conservative option, with a tremendously strong weight on backwards compatibility. The question is not 'why not add this?' The question should be 'why add this functionality, and how will it affect older mods?' I don't trust modders (myself included) to produce flawless code, and that includes Weimer and the bigg w.r.t. WeiDU. Somewhere along the line, we are going to have some coding fuckup--whether it's via tp2 or WeiDU itself, doesn't matter--which is going to corrupt a key. This risk is best minimized by limiting direct WeiDU interaction with the key file.
The Gibberlings Three - Home of IE Mods

The BG2 Fixpack - All the fixes of Baldurdash, plus a few hundred more. Now available, with more fixes being added in every release.

Offline Macready

  • Planewalker
  • *****
  • Posts: 1801
    • EasyTutu
Re: A question on biffing.
« Reply #9 on: February 23, 2006, 07:48:12 AM »
Hello -

A command-line biffing is initiated by the player, meaning that the risk is accepted explicitly by the player and the burden of support is on the player.

Amen.  There's a thread going on PPG right now where an unlucky fellow seems to have trashed his installation after a BIFFing mishap.
EasyTutu: Tutu installation made simple.

Offline King Diamond

  • Planewalker
  • *****
  • Posts: 101
Re: A question on biffing.
« Reply #10 on: February 23, 2006, 08:54:48 AM »
You, guys, have a very strange position...  ::)

It's a duty of a modder to make his mod to be installed (or not installed) clearly, not spoiling the whole game configuration even if something is going wrong during the installation. But I absolutely sure that there's no safe recovery from the installation crash if that crash is appeared inside AT_EXIT* action. Should we ban AT_EXIT then? That's ridiculous...

If you don't want or afraid to use in-script biffing - don't use it. As for me, it will be an unvalued useful addition.

Offline King Diamond

  • Planewalker
  • *****
  • Posts: 101
Re: A question on biffing.
« Reply #11 on: February 23, 2006, 08:57:36 AM »
The biff is now part of the backup process (however in my run tests it never caused a problem if the .bif remained there). DELETE added (backup as normal), MOVE is not (no way to back it up).

As far as I understand MOVE = COPY + DELETE  ;) ;D

Offline CamDawg

  • Infidel
  • Planewalker
  • *****
  • Posts: 859
  • Dreaming of a red Xmas
    • The Gibberlings Three
Re: A question on biffing.
« Reply #12 on: February 23, 2006, 09:08:55 AM »
It's a duty of a modder to make his mod to be installed (or not installed) clearly, not spoiling the whole game configuration even if something is going wrong during the installation. But I absolutely sure that there's no safe recovery from the installation crash if that crash is appeared inside AT_EXIT* action. Should we ban AT_EXIT then? That's ridiculous...
That's a horrible analogy. Biffing has zero effect on your mod; it's purely a maintenance action. Ergo, it has zero effect on whether your mod is installed clearly [sic]. Invoking a shell script via tp2 to unpack tiz or ogg files has a direct effect--it's mod content.

If you don't want or afraid to use in-script biffing - don't use it. As for me, it will be an unvalued useful addition.
Of course I won't use it--but I'll still need to support players who have installed other mods which will.
The Gibberlings Three - Home of IE Mods

The BG2 Fixpack - All the fixes of Baldurdash, plus a few hundred more. Now available, with more fixes being added in every release.

Offline SimDing0™

  • Back In Black
  • Global Moderator
  • Planewalker
  • *****
  • Posts: 3496
  • Gender: Male
  • Word Enhancer
Re: A question on biffing.
« Reply #13 on: February 23, 2006, 09:11:55 AM »
If you don't want or afraid to use in-script biffing - don't use it.
I'm more concerned about:
1) Other people BIFing stuff fucking up my mods, and anyone else's. Yes, I'm happy to update my stuff to remove archaic FILE_EXISTS checks. Is everyone else going to bother for such a dubious change? No chance. And that's setting aside any unforseen complications involving uninstallation.
2) Players suffering from damaged installs. People are going to be vastly less impressed with WeiDU if it breaks people's installs. It's widely known that the current incarnation of BP is prone to break everything because the installation is horrific. That's absolutely fine by me. I don't want this reputation extended to WeiDU as a whole.
3) Usage of BIFs becoming unneccessarily widespread, compounding the above two problems and generally making it more awkward to deal with installations (the override is infinitely easier to handle than BIFed files because you don't have the extra stage of extraction--talk of providing "clear" installs is bullshit because nobody browses by BIF anyway so the organization is irrelevant).

Those are my issues. Whether people can install TDD or not and whether if BIFs resources is of precisely 0 importance to me.
« Last Edit: February 23, 2006, 09:15:05 AM by SimDing0™ »

Offline Chiz

  • On Probation
  • Planewalker
  • *****
  • Posts: 57
  • Gender: Male
  • Yee Har is NOT a foreign policy.
Re: A question on biffing.
« Reply #14 on: February 23, 2006, 11:45:22 AM »
Hello -

A command-line biffing is initiated by the player, meaning that the risk is accepted explicitly by the player and the burden of support is on the player.

Amen.  There's a thread going on PPG right now where an unlucky fellow seems to have trashed his installation after a BIFFing mishap.

Yeah, about that. Could someone put up a thread explaining the point of biffing (for players, not for experienced modders) , how to do it so it works, and when you really shouldn't bother. Given what happened to me, it might be a good idea to make people aware of that stuff.

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: A question on biffing.
« Reply #15 on: February 23, 2006, 11:56:10 AM »
AT_* biffing has higher chances of breaking your game than MAKE_BIFF biffing. Since I have 231512303218723087653107523573496134570329875209437965279 requests about improvements to how AT_* is coded to allow BMP (big mod people) to biff the mod contents, I found it easier to add a stable MAKE_BIFF command rather than satisfying those 231512303218723087653107523573496134570329875209437965279 requests.

BTW: biffing of TIS and WAV files (possibly also BAM, BMP, MOS and WED) will make the game run faster. it is enabled by default in RtW (that is, unless you edit the batch files). If BMP biffs BCS&c. files breaking your install, I couldn't care less. If I really did what is sensible for your game enjoyment, setup-tdd.exe will die with "this game will ruin your gaming enjoyment and has been censored." (and yes, that would take 5 minutes to code and test)
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: A question on biffing.
« Reply #16 on: February 23, 2006, 12:17:29 PM »
Quote
BTW: biffing of TIS and WAV files (possibly also BAM, BMP, MOS and WED) will make the game run faster.
... can make your game load faster. TIS is likely highly dependent on the tiles precache setting. I concede WAV files (there's no evidence either way if/when these get copied into memory, or how long they stay).

BAM files are generally only accessed once from disk on load. I have little doubt that BMP files are retained in memory. MOS files make 0 difference, but are undoubtedly retained (you know, drawing the interface and all that), and I can't believe WEDs are read from disk beyond the initial load.

So, for the most part, never BIFF your contents, and don't install mods that force you to BIFF their components. We live in a happy world.

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: A question on biffing.
« Reply #17 on: February 23, 2006, 12:24:52 PM »
At least on Windows, if the override size is > than 1 GB, the game will reduce to a crawl irregardless of your hardware. Thus, I listed the usual large files (WAV BAM, plus all area-graphic files, since TIS, WED, BMP and MOS must go in the same biff).

(Not to mention .MVE files, which have to be biffed to work. Currently JZ handles this in a very unreliable way, since installs with INTERACTIVE and uninstalls with non-INTERACTIVE AT_* variants).
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 SimDing0™

  • Back In Black
  • Global Moderator
  • Planewalker
  • *****
  • Posts: 3496
  • Gender: Male
  • Word Enhancer
Re: A question on biffing.
« Reply #18 on: February 23, 2006, 12:45:10 PM »
I concede WAV files
I don't. Given that there's never been a single complaint about the multitude of NPC mods that dump voicing or even song WAVs into the override, I think there's very little problem here. (I do know that WAV files are loaded when required--it's this delay that makes PlaySound such a poor substitution for using proper ACM files.)

Offline devSin

  • Planewalker
  • *****
  • Posts: 1632
  • Gender: Male
Re: A question on biffing.
« Reply #19 on: February 23, 2006, 01:00:49 PM »
At least on Windows, if the override size is > than 1 GB, the game will reduce to a crawl irregardless of your hardware. Thus, I listed the usual large files (WAV BAM, plus all area-graphic files, since TIS, WED, BMP and MOS must go in the same biff).
Fair enough, although normal WAVs are horrifically small, as are most WED, BMP, and MOS files. BIFFing them isn't going to "make your game faster" just because you're forced into BIFFing them with the TIS file, though.

I have no idea about the > 1 GB thing, though. I'd be more suspicious of atrocious numbers of files than file size, as the game surely maintains some sort of index (I don't see that they could do a fs check for x in the override for each and every resource loaded)?

(Not to mention .MVE files, which have to be biffed to work. Currently JZ handles this in a very unreliable way, since installs with INTERACTIVE and uninstalls with non-INTERACTIVE AT_* variants).
I don't necessarily agree with Sim and Cam that TP2 MAKE_BIFF is evil; I don't see it any differently than some horribly coded BAT garbage that's forced to run at exit. I do agree that BIFFing is, in most cases, completely pointless. I've never seen a mod include anything that's even decent enough to be worth the effort.

Once the files are accessed, there should be no difference in performance. Excepting odd behaviors in Windows, the only thing that should slow the game down is having to wait on the system to access each resource file separately, instead of accessing a single BIFF. The rest should be smooth sailing.

Quote
I don't. Given that there's never been a single complaint about the multitude of NPC mods that dump voicing or even song WAVs into the override, I think there's very little problem here.
Noted. I simply don't know when a WAV would be loaded (either the first time it plays, or pre-cached), unlike most graphics which are loaded with the area (TIS, BMP, MOS) or as-needed (BAM, some BMP, maybe some MOS). I also don't know how long they're retained, if at all (audio turnaround rates should be higher than images, I suspect).

EDIT: personally, if the audio file is small, I'd try referencing the sound from the creature file in one of the unused sound slots. That may get the game to load the sound early and hold on to it while the actor exists, and may reduce PlaySound() suckage. Maybe not...
« Last Edit: February 23, 2006, 01:03:01 PM by devSin »

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: A question on biffing.
« Reply #20 on: February 23, 2006, 01:03:26 PM »
I had 1.4 Gb of files in the override once (I had at least ten NPCs and other Wav-heavy mods) and the game ran like shit. I biffed all WAV files and then it ran normally. So I'm not buying that WAV files in the override don't slow the game.

If a mod segfaults, you still have a fubared install - you have to either append manually the lines to weidu.log and uninstall it, or restore your game. Let's say that you get a segfault in Improved Difficulty System. baldur.bcs tries to spawn a creature because the difficulty variable isn't set, while the .cre wasn't copied to the override. Automatic CTD.
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 CamDawg

  • Infidel
  • Planewalker
  • *****
  • Posts: 859
  • Dreaming of a red Xmas
    • The Gibberlings Three
Re: A question on biffing.
« Reply #21 on: February 23, 2006, 01:10:39 PM »
I don't necessarily agree with Sim and Cam that TP2 MAKE_BIFF is evil; I don't see it any differently than some horribly coded BAT garbage that's forced to run at exit. I do agree that BIFFing is, in most cases, completely pointless. I've never seen a mod include anything that's even decent enough to be worth the effort.

This is a more accurate description of my position. I happen to think biffing, whether via a tp2 call or an external shell script, is not something a mod should be doing. Something with these consequences should, again, be an explicit and informed decision by the player. I don't see either of those conditions being satisfied by a mod, regardless of whether they use shiny tp2 commands or shell script grunge.
The Gibberlings Three - Home of IE Mods

The BG2 Fixpack - All the fixes of Baldurdash, plus a few hundred more. Now available, with more fixes being added in every release.

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: A question on biffing.
« Reply #22 on: February 23, 2006, 01:14:48 PM »
You'll have to discuss with KD, A64 and HtP for that - I am in a neutral position, since WeiDU is a language, not a law-maker; I allow you to
Code: [Select]
COPY + ~bgmain.exe~ ~bgmain.exe~
  FOR (i = 0; i < SOURCE_SIZE; i+=1) BEGIN
    WRITE_BYTE i 0
  END
It's up to you to warn people of possible side effects.

And still, MAKE_BIFF is easier and more stable than AT_* can ever be. AT_EXIT commands are run in LIFO order, while AT_UNINSTALL commands are run in FIFO order, meaning that anything non-trivial is doomed to failure.
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 SimDing0™

  • Back In Black
  • Global Moderator
  • Planewalker
  • *****
  • Posts: 3496
  • Gender: Male
  • Word Enhancer
Re: A question on biffing.
« Reply #23 on: February 23, 2006, 01:53:11 PM »
baldur.bcs tries to spawn a creature because the difficulty variable isn't set, while the .cre wasn't copied to the override. Automatic CTD.
(In fact, trying to create a non-existent creature via script simply does nothing. But yes, I acknowledge what you're saying, and still think it's going to be vastly less destructive than a KEY issue.)

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: A question on biffing.
« Reply #24 on: February 23, 2006, 01:57:44 PM »
(In fact, trying to create a non-existent creature via script simply does nothing. But yes, I acknowledge what you're saying, and still think it's going to be vastly less destructive than a KEY issue.)
Meh, you compile to an always running script HasSpell(THIEF_SET_SNARE_OR_HOWEVER_IS_IT_CALLED) and you get a segfault before you reach the point where you install Scriptable Spells, then - or something. I recall that trying to spawn a non-existing or broken file of type X will CTD, but I can't recall a specific X.
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).

 

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)?: