Jump to content


Photo

BGT 1.19: bugs and typos thread


  • Please log in to reply
37 replies to this topic

#1 Salk

Salk
  • Modder
  • 1419 posts

Donator

Posted 06 February 2019 - 08:20 AM

Hello!

 

On top of the nice fixes, I wanted to suggest a few more improvements.

 

This applies to the English language.

 

journal.tra
@310101: Nestor >> Nester (3x) (see other references to him for confirmation)
@310108: to weak >> too weak
@310111: to long >> too long
@310165: He gave me >> She gave me (Voltine is female)
@310166: disposed of him >> disposed of her (Voltine is female)
@310244: Odulinian >> Ordulinian
@311278:
we searching >> we were searching
He suggested us to report >> He suggested we report (or suggested reporting)
 
And in music.tp2 I believe there is a typo:
 
ar7221.are -1 -1 - >> ar7221.are -1 -1 -1
 
Perhaps these small corrections can be made for a future release.
 
Cheers!

Edited by Salk, 06 February 2019 - 08:42 PM.


#2 jastey

jastey
  • Administrator
  • 3219 posts

Posted 06 February 2019 - 09:06 AM

Thank you for the suggestions! Maybe you can name the thread "BGT 1.19 Bug and Typo Thread" and we see what we collect for the next version.



#3 Salk

Salk
  • Modder
  • 1419 posts

Donator

Posted 06 February 2019 - 08:40 PM

Hello jastey!

 

Yes, I have just done it.

 

Thanks!



#4 Lunareon

Lunareon
  • Member
  • 4 posts

Posted 06 February 2019 - 09:00 PM

- 1.18 had a bug with BG 1 companion conversation about leaving if you had too high/low rep. They didnt leave after telling you about it, instead after 3-5 seconds they will initiate generic joining conversation which allows you to keep them in party regardless of rep. But if you speak with them with F1 hotkey and low/high rep, the line about leaving will be correct one and they will actually leave.

I have this bug with Kivan, Viconia, Imoen. Jaheira/Khalid script working fine, probably because of their couple status.

I guess this problem still there since it wasnt mentioned in changelog.

 

- Cloak of Nymph that can be crafted by wizard merchant in Baldurs Gate city costs 90000, is it normal?

 

- There are two types of Flame Arrows - identical, but with different IDs which result in inventory management issues.

 

- 1.18 music was messed up with Fixpack installed, for example - inn music in Gnoll Stronghold. There was even a thread about it and fixed setup-bgtmusic.tp2. 

 

- Full music BGT installation in 1.19 (Is there any reason to choose other two? As if people dont have enough space on hard drive in 2019) is not working because of an error.

 

ERROR: cannot convert %bgt_battle_song% or %%bgt_battle_song%% to an integer
ERROR: [ar7221.are] -> [override] Patching Failed (COPY) (Failure("int_of_string"))
Stopping installation because of error.
ERROR: [areapatchlist] -> [areapatchlist] Patching Failed (COPY) (Failure("int_of_string"))
Stopping installation because of error.
 
ERROR Installing [Baldur's Gate Trilogy - Music -> Full Baldur's Gate/Shadows of Amn/Throne of Bhaal Music (WARNING: patches BGMain.exe)], rolling back to previous state
Unable to Unlink [bgt/backup/songlist/2/OTHER.2]: Unix.Unix_error(1, "unlink", "bgt/backup/songlist/2/OTHER.2")
[bgt/backup/songlist/2/UNSETSTR.2] SET_STRING uninstall info not found
Will uninstall 113 files for [SETUP-BGTMUSIC.TP2] component 2.
 

- Location names text on global map is overlapping with location icons. Latest TobEx fixed that, but I hate latest version because of Magic Resistance bug with 5-9 messages about resisting spell in a row. Kinda sad that TobEx is abandoned.

Would be good to see map fix for 1.19 BGT.

 
 
I am using Gog versions for BGT, Installation order: TobEx - Ascension - Fixpack - BGT.

Edited by Lunareon, 06 February 2019 - 09:19 PM.


#5 skellytz

skellytz
  • Staff
  • 578 posts

Posted 08 February 2019 - 01:59 PM

AR0015.bcs is missing this spawn:

 

IF
	TimerExpired(3)
THEN
	RESPONSE #100
		CreateCreature("WATCH3",[1572.2453],0)  // Watcher
		StartTimer(3,120)
END


#6 CamDawg

CamDawg

    ALL GLORY TO THE HYPNOTOAD

  • Modder
  • 1505 posts

Posted 13 February 2019 - 08:49 AM

journal.tra
@310101: Nestor >> Nester (3x) (see other references to him for confirmation)
@310108: to weak >> too weak
@310111: to long >> too long
@310165: He gave me >> She gave me (Voltine is female)
@310166: disposed of him >> disposed of her (Voltine is female)
@310244: Odulinian >> Ordulinian
@311278:
we searching >> we were searching
He suggested us to report >> He suggested we report (or suggested reporting)

 

These are fixed.

 

And in music.tp2 I believe there is a typo:

ar7221.are -1 -1 - >> ar7221.are -1 -1 -1
- 1.18 music was messed up with Fixpack installed, for example - inn music in Gnoll Stronghold. There was even a thread about it and fixed setup-bgtmusic.tp2.

- Full music BGT installation in 1.19 (Is there any reason to choose other two? As if people dont have enough space on hard drive in 2019) is not working because of an error.
 

 
The change to the music was from the reported thread via BWFP, but I made a typo--the one Salk reported--that caused this issue. Fixed.
 


- 1.18 had a bug with BG 1 companion conversation about leaving if you had too high/low rep. They didnt leave after telling you about it, instead after 3-5 seconds they will initiate generic joining conversation which allows you to keep them in party regardless of rep. But if you speak with them with F1 hotkey and low/high rep, the line about leaving will be correct one and they will actually leave.
I have this bug with Kivan, Viconia, Imoen. Jaheira/Khalid script working fine, probably because of their couple status.
I guess this problem still there since it wasnt mentioned in changelog.

You can ask him to immediately rejoin, but then he'll just repeat the leaving sequence.

 

This one is more a reflection of BG's slapdash NPC handling. Party members will leave at their breaking points, but few have proper dialogues for it--Kivan only has one party exit line, and it's the same when you kick him out or when he's pissed.

Rather than adding content here to cover it, I've gone with a minimalist approach and just added the LeaveParty command to the dialogues. It does mean you can still immediately ask him back, but he'll immediately leave again.

 

- Cloak of Nymph that can be crafted by wizard merchant in Baldurs Gate city costs 90000, is it normal?

 

BG2 fixed the cloak to match its descript, a once-per-day charm, so it has a maximum of one charge. However, Halbazzer's creature file had the cloak with 40 charges, like it's a wand-this conflict means that the game, seeing it charged to 40x its max, correspondingly sets its price at 40x its listed value. This is fixed by changing the cloak to have the proper one charge in Halbazzer's inventory.

 

- There are two types of Flame Arrows - identical, but with different IDs which result in inventory management issues.

 

I'm not able to replicate this. BGT has four different Arrows of Fire, but only one is flagged as droppable. The other three versions--custom ones for Kobold Commandos, Angelo, and Phoenix Guards--should not drop, ever.

Unless you mean the Flame Arrow scroll itself, in which case there's a special version from the tutorial. However, that also shouldn't carry over into the normal game.

 

- Location names text on global map is overlapping with location icons. Latest TobEx fixed that, but I hate latest version because of Magic Resistance bug with 5-9 messages about resisting spell in a row. Kinda sad that TobEx is abandoned.
Would be good to see map fix for 1.19 BGT.

 

There's nothing I can do here from BGT's end.

 


AR0015.bcs is missing this spawn:

IF
	TimerExpired(3)
THEN
	RESPONSE #100
		CreateCreature("WATCH3",[1572.2453],0)  // Watcher
		StartTimer(3,120)
END

 

Added.


Why is this Hypnotoad video so popu... ALL GLORY TO THE HYPNOTOAD.
____
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.


#7 CamDawg

CamDawg

    ALL GLORY TO THE HYPNOTOAD

  • Modder
  • 1505 posts

Posted 14 February 2019 - 06:10 AM

One other change--BGT followed Fixpack's lead in removing Zone of Sweet Air from Jaheira and Holy Smite from Viconia as they're incorrect for their class and alignment, respectively. However, these have since been confirmed by the devs as intentional and, as such, have been removed from BGT as well.


Why is this Hypnotoad video so popu... ALL GLORY TO THE HYPNOTOAD.
____
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.


#8 CamDawg

CamDawg

    ALL GLORY TO THE HYPNOTOAD

  • Modder
  • 1505 posts

Posted 18 February 2019 - 09:06 AM

- 1.18 had a bug with BG 1 companion conversation about leaving if you had too high/low rep. They didnt leave after telling you about it, instead after 3-5 seconds they will initiate generic joining conversation which allows you to keep them in party regardless of rep. But if you speak with them with F1 hotkey and low/high rep, the line about leaving will be correct one and they will actually leave.
I have this bug with Kivan, Viconia, Imoen. Jaheira/Khalid script working fine, probably because of their couple status.
I guess this problem still there since it wasnt mentioned in changelog.

You can ask him to immediately rejoin, but then he'll just repeat the leaving sequence.

 
This one is more a reflection of BG's slapdash NPC handling. Party members will leave at their breaking points, but few have proper dialogues for it--Kivan only has one party exit line, and it's the same when you kick him out or when he's pissed.

Rather than adding content here to cover it, I've gone with a minimalist approach and just added the LeaveParty command to the dialogues. It does mean you can still immediately ask him back, but he'll immediately leave again.


And after looking into this further, I'm completely wrong--BGT is systematically mishandling these. BG puts the parting dialogues in the joinable dialogue files, whereas BG2 handles all of this in the post dialogue files. BGT ends up with partial coverage because these are either duplicated in the post dialogues in BG, or because they're manually included, but many--especially the angry departure ones--are simply disabled or won't fire because they're misweighted. I believe I have this sorted for v1.20.


Why is this Hypnotoad video so popu... ALL GLORY TO THE HYPNOTOAD.
____
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.


#9 Sergio

Sergio
  • Member
  • 954 posts

Posted 18 February 2019 - 01:20 PM

Thanks for all the work you're putting into this. It's so great to see stuff for normal bg still supported. :D


Low hung brow, dazed look on your face..... It appears that you are correct, my friend. You are indeed a complete imbecile.


#10 CamDawg

CamDawg

    ALL GLORY TO THE HYPNOTOAD

  • Modder
  • 1505 posts

Posted 20 February 2019 - 12:16 PM

And all of this should be in today's v1.20 release.


Why is this Hypnotoad video so popu... ALL GLORY TO THE HYPNOTOAD.
____
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.


#11 Salk

Salk
  • Modder
  • 1419 posts

Donator

Posted 20 February 2019 - 08:24 PM

Great!

 

I think BGT has now seen all the love it could ever get.

 

Thanks a lot for this, CamDawg. Ascension64 would be proud. :)



#12 skellytz

skellytz
  • Staff
  • 578 posts

Posted 21 February 2019 - 05:04 AM

Spawns still need some work. For example:
 
Classic BG1, AR3800, Spawn Point 2 - spawns either of Gibberling, Hobgoblin or Ghast with possible per-creature-type duplication depending on
 

(Encounter Difficulty set number * Average Party Level * Party Members) / Creature Power Level with results rounded down

 
Note: IESDP provides incorrect formula of Base Creature Number modified by (Frequency * Average Party Level) / Creature Power Level with results rounded down.

 
BGT, AR9700 (BG1 AR3800), Spawn Point 2 - spawns all three of Gibberling, Hobgoblin and Ghast at the same time (group RDBG230) or both Gibberling and Ghoul at the same time (group RDBG235) or all three of Gibberling, Hobgoblin and Hobgoblin Elite at the same time (group RDBG236).
 
I don't think Ascension64 intended spawns to work like that. The groups were clearly structured to resemble the original spawn variants, but because of the quirks of Spawn Point -> Spawn Group method the spawns result in ridiculous mixes of creature types.
 
Edit: BGT group spawn system was designed by King Diamond back in the non-WeiDU days of guessing what things did. KD probably assumed the slots in spawn points were a list of creatures to be spawned together, rather than a pool of individual creature types for the engine to select from.


Edited by skellytz, 23 February 2019 - 05:44 AM.


#13 distance20

distance20
  • Member
  • 1 posts

Posted 21 February 2019 - 11:01 PM

sorrry my english is poor

i intall BGT 1.19

i find the store in flamefist area can't sell things to BG2



#14 skellytz

skellytz
  • Staff
  • 578 posts

Posted 22 February 2019 - 06:50 AM

In regard to BGT spawn system:
 
King Diamond changed the spawns to groups, because he couldn't figure out the BG2 spawning formula. Using BG1 values typically resulted in only one creature spawning within a single spawn point. Apparently, he also incorrectly assumed the creature slots in spawn points were a list of creatures to be spawned together, rather than a pool of individual creature types for the engine to select from.
 
I think I may have nailed down the BG2 formula. IESDP says: (Frequency * Average Party Level) / Creature Power with results rounded down. But in BG2 it seems to be:
 

(Encounter Difficulty % * Average Party Level * Party Members) / Creature Power Level with results rounded down.


Encounter Difficulty is actually a percentage modifier. Spawn Rate (frequency/delay before spawn) doesn't seem to affect the results. For example:
 

Creature 1: GIBBER.cre
Creature 2-10: none
Creature Count: 1
Encounter Difficulty: 300%
Spawn Rate: 1
Max Spawned Creatures: 10
Probability: 100%

Gibberling CRE Power Level = 4
3 Party Members (Fighter Lvl 4, Mage Lvl 1, Thief Lvl 1)
Average Party Level = 2

Number of Gibberlings to spawn: (3 * 2 * 3) / 4 ≈ 4 (rounded down)

 

1 Party Member (Fighter Lvl 4)
Average Party Level = 4

Number of Gibberlings to spawn: (3 * 4 * 1) / 4 = 3

 

Encounter Difficulty: 100%

1 Party Member (Fighter Lvl 4)
Average Party Level = 4

Number of Gibberlings to spawn: (1 * 4 * 1) / 4 = 1


It's entirely possible to use spawn points just like in the classic BG1 by tweaking the encounter difficulty.

Salk, would you like to help me out with testing the formula?


Edited by skellytz, 22 February 2019 - 07:16 AM.


#15 subzero400

subzero400
  • Member
  • 13 posts

Posted 22 February 2019 - 09:07 AM

Ancient bug, yet not fixed at 1.20, with missing familiar in BG2...

bgt\compat\bgt\replace\xar0602.baf

IF
  Global("IHavePants","GLOBAL",1)
THEN
  RESPONSE #100
    SetGlobal("IHavePants","GLOBAL",2)
    SetGlobal("BG1Pantaloons","GLOBAL",1)
    ActionOverride("Picture1",CreateItem("MISC47",0,0,0)) // Golden Pantaloons
    Continue()
END

 

IF
  Global("MeetOldenFriends","GLOBAL",100)
  Global("IHaveFamiliar","GLOBAL",0)
  PartyHasItem("FAMCAT") // Familiar
THEN
  RESPONSE #100
    ActionOverride("Picture 1",TakePartyItem("FAMCAT")) // Familiar
    SetGlobal("IHaveFamiliar","GLOBAL",2)
    Continue()
END
 
IF
  Global("MeetOldenFriends","GLOBAL",100)
  Global("IHaveFamiliar","GLOBAL",0)
  PartyHasItem("FAMDUST") // Familiar
THEN
  RESPONSE #100
    ActionOverride("Picture 1",TakePartyItem("FAMDUST")) // Familiar
    SetGlobal("IHaveFamiliar","GLOBAL",2)
    Continue()
END
 
...
Needless space symbol in container name "Picture1" 


#16 Salk

Salk
  • Modder
  • 1419 posts

Donator

Posted 22 February 2019 - 09:55 PM

skellytz,

 

great investigative work! And with a solution too!

 

subzero400,

 

yes, I fixed that bug in my own WTP Familiars modification but forgot to report it here.



#17 skellytz

skellytz
  • Staff
  • 578 posts

Posted 23 February 2019 - 05:56 AM

great investigative work! And with a solution too!

 

I've also discovered that IESDP is wrong. It states:

 

Base creature number to spawn. The actual number to spawn is given by:

(Frequency * Average Party Level) / Creature Power
With results rounded down.

 

The correct formula is actually pretty much the same in both BG1 and BG2. The only difference is the engine interpretation of Encounter Difficulty, which in BG1 is a set number modifier and in BG2 a percentage modifier.

 

BG1:

 

(Encounter Difficulty set number * Average Party Level * Party Members) / Creature Power Level with results rounded down

 

BG2:

 

(Encounter Difficulty % * Average Party Level * Party Members) / Creature Power Level with results rounded down

 

Note: Each class for multi-classed characters is treated as a "party member."

 

This needs more testing. Anybody would like to help me confirm the two formulas?



#18 CamDawg

CamDawg

    ALL GLORY TO THE HYPNOTOAD

  • Modder
  • 1505 posts

Posted 23 February 2019 - 08:24 AM

IIRC, the formula itself was correct, but in BG2 the scaling factor ended up being off by 100 so you always ended up with one creature spawning. That would jive, I think, with your testing.


Why is this Hypnotoad video so popu... ALL GLORY TO THE HYPNOTOAD.
____
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.


#19 skellytz

skellytz
  • Staff
  • 578 posts

Posted 23 February 2019 - 08:41 AM

IIRC, the formula itself was correct, but in BG2 the scaling factor ended up being off by 100 so you always ended up with one creature spawning. That would jive, I think, with your testing.

 

The IESDP formula? It isn't correct, because it says (Frequency (offset 0x78) * Average Party Level) / Creature Power, while it's actually (Encounter Difficulty (offset 0x76) * Average Party Level * Party Members) / Creature Power Level.

 

Using this knowledge, wouldn't you like to restore proper BG1 spawns?


Edited by skellytz, 23 February 2019 - 02:59 PM.


#20 skellytz

skellytz
  • Staff
  • 578 posts

Posted 24 February 2019 - 08:05 AM

I like to get things done. Here's the package which restores the classic BG1 spawns.

 

The files from the package need to merge with BGT files before you install BGT:

 

1. First copy the folder "bgt" and the file "setup-bgt.exe" extracted from "bgt-v1.20.zip" to your BG2 directory

 

2. Copy the folder "bgt" extracted from the downloaded "spawnfix.zip" to your BG2 directory and allow replacing files

 

3. Run "setup-bgt.exe" and install BGT

 

Basically, I wrote a patch that reads spawn points in the classic BG1 ARE files and then replaces the values in the ARE files distributed by BGT. I inserted protection against invalid resrefs: everything was fine (the expected WOLF.cre had to be renamed to BGWOLF.cre). The spawn parameters are all the same as in the classic BG1 with the exception of spawn method flags:

 

- normalize to "spawn until paused (0)"

 

- keep "disable after spawn (1)" if set in the classic BG1

 

- remove "spawn paused (2)" (the engine sets in internally)

 

- remove unused flags (3) - (15)

 

Of course, encounter difficulty has been adjusted for the BG2 engine. Confusingly enough, rest encounters use set modifiers for encounter difficulty in both BG1 and BG2, so they don't need any patching.

 

This should be a good base for further tweaking of random spawn difficulty in BGT Tweaks (e.g., multiplying the encounter difficulty).

 

Edit: While testing, please remember that many BG1 areas have varying encounter difficulty and max spawned creatures in spawn points. So, you may be getting fewer spawned creatures than the formula indicates, because of the max creature cap set in a given spawn point. BGT Tweaks could allow to alter the difficulty by multiplying the encounter difficulty and give the option to normalize or set the max spawned creatures even higher.


Edited by skellytz, 25 February 2019 - 01:05 AM.