Jump to content

[Discussion] What exactly are we trying to fix?


Recommended Posts

I thought this would be a good place to discuss and lay down some guidelines for what we, collectively, consider something that needs to be fixed.

BG2FP and IWDFP adhered, fairly rigidly, to a standard of developer intent: if something was working contrary to how we thought the developers intended, we fixed it. This could range from a rules table having an incorrect entry, a spell's effects not matching what its description claims, NPCs who had armor equipped in quick slots, and even basic syntax errors in scripts and dialogues. I think it's a good standard, but one that also requires a good group to discuss proposed changes.

At least, that's the proposal. Thoughts?

Link to comment

While working on UB, I've often pondered the same thing, as UB does a couple of things that could actually be considered fixes.  For example, Restored Bhaalspawn Powers also quietly fixes an issue with one of Balthasar's specials.

The standard I have been using for myself in this respect so far is in line with BG2FP and IWDFP.  Things I consider bugs include:

  • Anything word of dev declares a bug.
  • Anything that can crash to desktop or make a player unable to progress normally, obviously.
  • Spelling errors both in game texts and in scripts.
  • My current pet peeve: Missing or mismatched polygons in area files.
  • Missing files, if there is a clear reference to the file.
  • Items, spells or kits not functioning as described, although in this case I'm also inclined to look at P&P to determine whether it's the description or the effect that needs fixing.

Things I don't consider bugs (but candidates for restorations instead):

  • Unused files/states/effects or other resources without a clear reference to them.
  • Altered or missing creature immunities; unless an in-game source, manual, or word of dev says the creature should have a specific immunity, or it leads to a clearly ridiculous situation (e.g. a fire elemental taking damage from fire).
  • Altered or missing creature abilities, unless these are the result of an obvious oversight as described above.
    A clear case of this is winter wolf breath which in P&P is a save vs. breath AoE, not a single-target attack against AC.  Yes we can (and I did) implement this, but it makes the early stages of BG1 *a lot* harder, which probably was not what the devs wanted.
  • Anything that has very clearly been deliberately dummied out.

Just my $0.02.

Link to comment

Personally, I would find it helpful to have a list of somewhat distinct categories into which justifiably true bugs might fall.  Is there such a list based on previous community fixpacks, and/or are there suggestions for what these categories might be?  E.g.  Structural bugs (this file is corrupt) vs. content bugs (typos, this graphic/animation doesn't look like it should) vs. implementation bugs (this spell/item doesn't do what it says it does, this cutscene doesn't operate/flow as intended)?  Tho hopefully more extensive and elaborate.

 

Link to comment

As for UB vs fixes: the EEs are a lot more liberal with restoring content than BG2FP is, by a substantial margin. Remember that IWDEE built UB right into it (as an aside, it was pretty cool digging through the original design docs). There was interest in doing the same for BG and BG2 until BD realized what a colossal pain it would be just trying to track down the multiple authors, securing permissions, &c. These BG2 banter restorations went straight into 2.6 pretty much straight away, for example.

Even under a more liberal standard though, we still need to draw a line. If it's something that's present and simply not enabled (like those banter restorations) then I don't really have a problem with its inclusion. If it's something that requires even one new line of dialogue or icon or whatever, my answer's going to start at no, though I'd be open for discussing it.

Link to comment
1 hour ago, Sam. said:

Personally, I would find it helpful to have a list of somewhat distinct categories into which justifiably true bugs might fall.  Is there such a list based on previous community fixpacks, and/or are there suggestions for what these categories might be?  E.g.  Structural bugs (this file is corrupt) vs. content bugs (typos, this graphic/animation doesn't look like it should) vs. implementation bugs (this spell/item doesn't do what it says it does, this cutscene doesn't operate/flow as intended)?  Tho hopefully more extensive and elaborate.

I can give some broad strokes of what kind of stuff we fixed repeatedly in BG2FP. This is in no way comprehensive; for that I refer you to the 100-ish pages of documentation I wrote for BG2FP.

String fixes

  • Spell/item descriptions that were inaccurate (e.g. an item weight is incorrect)
  • Voiced lines where the audio does not match the text or the audio doesn't play due to a typo or other error
  • English-specific errors (think grammar and spelling) were handled by the Game Text Update; this was to allow for non-English communities to build their own language-specific updates

IDS/2DA fixes

  • Syntax errors
  • Added entries, as needed, for other fixes
  • Kit ability table fixes
  • Creature animation definition fixes
  • Other rule fixes, e.g. a lot of errors on which class/kits can take pips in various weapon proficiencies

Script/Dialogue fixes

  • Jaheira romance bugs
  • Syntax errors or even corrupted files
  • More Jaheira romance bugs
  • Bad symbols, incorrect DVs, or missing symbolic references
  • Jaheira romance bugs again
  • Typos in variable names and/or scope
  • Yet more Jaheira romance bugs
  • Lots of fixes related to quest variables not being set/tracked correctly
  • Bugs with the Aerie romance... nah, it's really Jaheira romance bugs
  • Hanging cutscenes, or interruptible events which shouldn't be
  • One more round of Jaheira romance bugs

Area fixes

  • Travel bugs (orientation when entering area, party-required flags)
  • Basic area errors - typing (outdoor, dungeon, &c.), lacking assigned area script
  • Container fixes (trigger points, overlays, icons, traps, and locks)
  • Lots of animation fixes from devSin

Creature fixes

  • Basic fixes for gender, race, class, &c.
  • Inventory fixes, e.g. having a cloak in an armor slot, having a weapon but not using it, using a weapon that the creature has no animation for
  • Missing immunity items for some creatures, e.g. a golem missing the item that provides their standard immunities
  • So. Many. Spellbook. Fixes. References to spells which were removed; joinable NPCs with illegal spells or none at all; basic typos
  • #*$&#($ troll death-revive fixes
  • Males using female soundsets or vice versa

Item fixes

  • Basic fixes for weight, enchantment, magical flags, weapon speed
  • Basic fixes for item effects, such as power levels or dispellability
  • Usability fixes, e.g. swords that were usable by clerics
  • Scrolls with different range/targeting/&c. than the underlying spell
  • Items coming under/overcharged
  • Resolving conflicts between item description and what the item actually does (generally in favor of the description)
  • Adding primary and secondary to items that cast spells or spell-like effects so that various magical protections interact properly
  • Weapons with attack/damage bonuses would apply them to the other weapon if dual-wielded

Spell fixes

  • Chromatic Orb
  • Basic fixes for school, casting animations, durations, dispellability, MR, power, &c.
  • Spell stacking fixes, both self- and cross-
  • Missing headers, e.g. a spell cast at level 20 would use level 18 effects due to a lack of a level 20 header
  • Resolving conflicts between spell description and what the spell actually does (generally in favor of the description)

Store fixes

  • Selling infinite copies of items which should be finite
  • Multiple entries for the same item, or different stores selling the same unique item

Other fixes

  • Cosmetic fixes, such as the trimmed spell scroll icons, borked moon dog animation, or crashy tan'ari
  • Projectiles or VVCs with basic errors like wrong AoE or typos in references
  • Immunity batches. See the 101 vs. 318/324 topic but, essentially, supplementing an immunity to an effect (e.g. blindness) with other effects (preventing the blind icon or the string 'Blinded')
  • Probability fixes. Item and spell effects were created using d100 rolls for probability. The effects were created with a 1-100 roll in mind, but the engine actually rolls 0-99 so pretty much everything with an x% chance to happen is systematically incorrect by 1%.

Now, some of these won't be an issue because the EEs were built primarily on a Fixpacked BG2 base--so there aren't a few hundred syntax errors waiting in dialogues, or dozens of incorrect area orientations. Others may be mitigated by other factors, e.g. around about the 1.3 release there was a phenomenal team that went through the tlk file with a fine-tooth comb, aiming to (among other things) standardize item and spell descriptions and checking them against the actual in-game effects. One thing we can put on the podium alongside death and taxes, though: bugs in Jaheira's romance.

Link to comment
7 hours ago, CamDawg said:

IDS/2DA fixes

  • Syntax errors

So this includes fixing things like

KIT.IDS => ASSASIN // should be ASSASSIN (two S)
GENDER.IDS => NIETHER // should be NEITHER

...?

But that would require adjusting scripts/dialogs as well...

7 hours ago, CamDawg said:

Creature fixes

  • Missing immunity items for some creatures, e.g. a golem missing the item that provides their standard immunities

As I've already said, Elementals are vulnerable to everything... Except for a bunch of BG2 elementals, i.e.:

  • ("ohbeai01.cre", "ohbeea01.cre", "ohbefi01.cre") that wear "ohbetrai.itm" (immunity to Hold, Paralyze, Poison, Disease, Sleep, Stun, Power Word Stun, all Insect Plague spells, all cure/cause wounds spells, Intelligence bonus). Moreover, they're immune to all Web attacks (this one is attached directly on the CRE file).
  • The Elemental Princes Zaamal Rul and Sunnis, which are immune to Poison, Hold, Paralyze, Stun, Power Word Stun, Petrification (directly attached to the CRE files), Poison (via "elemprin.itm").
  • The Elemental Prince Chan, which is immune to just Poison (via "elemprin.itm"), and thus differ from the other princes (bug...?)
  • "gorair0[1-2].cre": immunity to Charm creature, Reset morale, Panic, Silence, Stone to flesh, Petrification, Entangle overlay, Morale break (directly attached to the CRE files).

Now, again: developer intent or not...?
I mean, I think we should do something in this case...? Elementals are not supposed to be "squishy" creatures after all...

Again, SoD resources that apply, say, Disease, tend to have op318/324 effects targeting RACE=ELEMENTAL, so this is mainly an issue for vanilla content...

Link to comment

I am very pro following the same framework as the BG2 fixpack. I don't think there is any better standard available for bugs than developer intent, and I think the BG2 fixpack both interpreted what that means sensibly and sets a good precedent.

1 hour ago, Luke said:
10 hours ago, CamDawg said:

IDS/2DA fixes

  • Syntax errors

So this includes fixing things like

KIT.IDS => ASSASIN // should be ASSASSIN (two S)
GENDER.IDS => NIETHER // should be NEITHER

...?

But that would require adjusting scripts/dialogs as well...

These aren't syntax errors. Assigning 'ASSASIN' rather than 'ASSASSIN' as the ids name for kit 0x400a is a dumb choice and presumably happened because someone at Bioware couldn't spell 'assassin', but it's perfectly legal syntax and doesn't need changing. (And doing so would break dozens of mods.)

Link to comment
8 minutes ago, DavidW said:

These aren't syntax errors. Assigning 'ASSASIN' rather than 'ASSASSIN' as the ids name for kit 0x400a is a dumb choice and presumably happened because someone at Bioware couldn't spell 'assassin', but it's perfectly legal syntax and doesn't need changing. (And doing so would break dozens of mods.)

I agree, that's why I asked...

As stated later in the first post, it is the other way round, i.e.: make sure dialogs/scripts use the correct symbolic references (regardless of how they are spelled...)

What does 'syntax errors' mean in this case?

Link to comment

We're talking really basic stuff:

  • A handful of actions had typos, e.g. BashDoor had a zero in its object reference instead of a letter 'O'.
  • kit.ids was straight up using the wrong values, so Kit checks in scripts and dialogues weren't working.
  • The spell.ids entry for PSIONIC_SUPERIOR_INVISIBILITY had a space in it so it wouldn't work.
  • Kit tables were malformed, e.g. kensai had a row with one less entry than the other rows and fallen paladin/ranger tables had too many entries
  • Other typo fixes, e.g. in new ToB games kitted bards didn't get armor due to a typo

Note that we had the opportunity to fix both ASSASIN and NIETHER in both BG2FP and the EEs and passed both times. It's silly that they're misspelled, but they're also not causing any actual bugs.

Link to comment

There are a couple of multiplayer fixes that I've done that might fit well into this mix.  I don't have a whole lot of time to spend on this project so I skim a lot.  So if I put something in the wrong place, please just move it to where it belongs.

Link to comment
On 3/17/2022 at 2:40 PM, CamDawg said:

Note that we had the opportunity to fix both ASSASIN and NIETHER in both BG2FP and the EEs and passed both times. It's silly that they're misspelled, but they're also not causing any actual bugs.

Fine.

On 3/17/2022 at 3:31 AM, CamDawg said:

Probability fixes. Item and spell effects were created using d100 rolls for probability. The effects were created with a 1-100 roll in mind, but the engine actually rolls 0-99 so pretty much everything with an x% chance to happen is systematically incorrect by 1%.

As far as this is concerned, guess you can copy/paste what you've already done in BG2FP and expand that list with EE resources...?

Link to comment
4 minutes ago, Luke said:

As far as this is concerned, guess you can copy/paste what you've already done in BG2FP and expand that list with EE resources...?

Yes, in fact I think I had written and submitted the code. It got bumped because of the double whammy of being low-priority (e.g players don't notice this) and also being a PITA for QA to verify as fixed since it's, again, hard to notice and affects a ton of spells and items.

Link to comment

I posted this in the 109/175/185 thread, but I'll repost here for better visibility:

1 minute ago, CamDawg said:

I'll note here (and I'll add it to the main 'what are we fixing' thread for better visibility) is that we had a team go through the tlk literally line-by-line, standardizing stuff like spell and item descriptions. Generally this was an exceptional upgrade as many text inconsistencies were fixed, and the item and spell descriptions were vastly improved. As part of this, they were also meticulous in documenting what items did. Specifically, what they did at that particular point in development and--this is the key bit for a Fixpack--what they documented was not necessarily how something was supposed to work. The good news is that, via the EE translation tool, we can look up who made what changes to strings.

 

Link to comment

Back in the beta testing days of EEs I've reported a bunch of alignment inconsistencies for quite a lot of creature files, but BD was not interested in fixing those back then. I remember I went through each file comparing creature alignment with PnP sources, finding cases, where outright evil creatures had neutral or even good alignments. Is it something that would fit within the scope of EE Fixpack? If yes, I would be inclined to do the job of finding those inconsistencies once again (unfortunately I cannot find this thread on BD forum anymore). 

Link to comment

@Cahir I remember this mod from way back

Quote

16. Creature Corrections: This component contains numerous small edits to many of the game's creature files. Edits include alignment, gender, script, dialogue, death variable, class, and inventory corrections; providing weapons to unarmed creatures; and adds scalps to more bandits.

https://www.pocketplane.net/bg1-unfinished-business/

Link to comment
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...