Jump to content


[Solved] Chanters in Candlekeep


  • Please log in to reply
104 replies to this topic

#41 micbaldur

micbaldur

    Retired Perkele, Ultimate BWP player

  • Member
  • 1692 posts

Posted 02 June 2015 - 06:04 AM

Nah, they're all wav in NPCSound.bif.  I have no idea why you have wavc.
Well, did you actually read the linked file description ?
WAVC can be played from either the override folder or BIF files. WAVC files are 22050 Hz, 16 bits, and must be renamed to *.WAV before being used in the game. The IE plays WAVC files at twice the speed of the original WAV file.
The reason being that the PC handles files with 4 markers in the files extension very poorly. The files data itself will tell if it's a .wav file or a .wavc(as that's the compressed .wav file)..

 

This explains why some voices plays slowly. Don't remember which voices but i could report these after i have working BWP 15.0.2 in a few days and start playing it.

 

Again, this is the finished .tp2 code you can just paste to a .txt file and rename that to a setup-*modname*.tp2, with the *modname* being of your own choice, and you then just copy setup-bgt.exe and rename that as the setup-*modname*.exe, and then run it:

BACKUP ~bgt/soundfix/backup~
AUTHOR ~The Imp~
BEGIN ~Chanter sound fix for BGT-weidu~

DEFINE_PATCH_MACRO ~reindexing_sound_files_for_bgt~ BEGIN
PATCH_IF (SOURCE_SIZE > 0x02cc) THEN BEGIN
READ_LONG 0x1b8 ~soundreplace~
READ_LONG 0x1bc ~soundreplace2~ //aka slot 70
READ_LONG 0x1c0 ~soundreplace3~
READ_LONG 0x1c4 ~soundreplace4~
READ_LONG 0x1c8 ~soundreplace5~
PATCH_IF ("%soundreplace%" > "0") THEN BEGIN
WRITE_LONG 0x1b8 ~-1~
WRITE_LONG 0x1bc ~%soundreplace%~
WRITE_LONG 0x1c0 ~-1~
WRITE_LONG 0x1c4 ~-1~
WRITE_LONG 0x1c8 ~-1~
WRITE_LONG 0x1cc ~-1~
END
END
END

COPY_EXISTING ~voieas.cre~ ~override~
LAUNCH_PATCH_MACRO ~reindexing_sound_files_for_bgt~
COPY_EXISTING ~voinor.cre~ ~override~
LAUNCH_PATCH_MACRO ~reindexing_sound_files_for_bgt~
COPY_EXISTING ~voisou.cre~ ~override~
LAUNCH_PATCH_MACRO ~reindexing_sound_files_for_bgt~
COPY_EXISTING ~voiwes.cre~ ~override~
LAUNCH_PATCH_MACRO ~reindexing_sound_files_for_bgt~

The reason to use the -1's in all the rest of the indexes is that the original file in BG1 doesn't have anything assigned to them, and we might wish to keep them that way.

Where in BWP is best place to install this fix?


CHARNAMEs excellent adventures in the world of BWP expert-install here

 

Thanks to Leonardo Watson for making this possible


#42 Creepin

Creepin
  • Administrator
  • 1676 posts

Posted 02 June 2015 - 06:08 AM

Where in BWP is best place to install this fix?
Wait wait wait! Before making it an actual fix, why not extend it to the rest of BG1 creatures, with tavern patrons being most obvious, but may be there's even more?

The Old Gold - v0.2 WIP (mod for BGT/BWP/BWS)


#43 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5155 posts

Posted 02 June 2015 - 07:33 AM

This explains why some voices plays slowly. Don't remember which voices but i could report these after i have working BWP 15.0.2 in a few days and start playing it.

Where in BWP is best place to install this fix?
Well, be sure to make the list and we'll see who can fix the files.
Well... the thing is I am not exactly sure this works yet, as I wasn't able to make them sing the file, I just used the NI to make sure they had the correctly assigned file in the correct place. Also the default SNDSLOT.ids is a mess, the G3 Fixpack could fix it, but I am not sure as I didn't install that on my check install. Anyways, the best place to install this is anywhere after the BGT-weidu...we'll also see if we can include more .cre's and what to do with the slots.

Edited by The Imp, 02 June 2015 - 07:35 AM.

Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#44 micbaldur

micbaldur

    Retired Perkele, Ultimate BWP player

  • Member
  • 1692 posts

Posted 02 June 2015 - 07:40 AM

This explains why some voices plays slowly. Don't remember which voices but i could report these after i have working BWP 15.0.2 in a few days and start playing it.

Where in BWP is best place to install this fix?
Well, be sure to make the list and we'll see who can fix the files.
Well... the thing is I am not exactly sure this works yet, as I wasn't able to make them sing the file, I just used the NI to make sure they had the correctly assigned file in the correct place. Also the default SNDSLOT.ids is a mess, the G3 Fixpack could fix it, but I am not sure as I didn't install that on my check install. Anyways, the best place to install this is anywhere after the BGT-weidu...we'll also see if we can include more .cre's and what to do with the slots.

Well then i'll skip this for my next BWP. All my fixes and such are ready so install starts today or tomorrow.

 

Maybe i install this to my next BWP 17?, due to next year.


CHARNAMEs excellent adventures in the world of BWP expert-install here

 

Thanks to Leonardo Watson for making this possible


#45 Mad Mate

Mad Mate
  • Member
  • 191 posts

Posted 02 June 2015 - 07:46 AM

Thanks Imp!
 
BGT predits BG1 creatures before copying them to override, so I think it would be enough to add in Setup-BGT.tp2 something like this:
use code from next post

I'll test this tonight and report if it works and exact placement of code.

Edited by Mad Mate, 02 June 2015 - 04:20 PM.


#46 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5155 posts

Posted 02 June 2015 - 07:57 AM

Erhm, I tested this and by the way, I was only able to hear them singing their lines without my fix. :P
So yes, they work in the original game(BGT-weidu) as intended, the only thing that's obvious is that they aren't that frequent within it, and I would say the only real way to fix that is the assign them a sequential performance order with a script, and that's actually quite easy if you just know what you are doing. Not that I am good at it. :P

Edited by The Imp, 02 June 2015 - 09:04 AM.

Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#47 Mad Mate

Mad Mate
  • Member
  • 191 posts

Posted 02 June 2015 - 04:00 PM

So yes, they work in the original game(BGT-weidu) as intended

They don't work in BGT-Weidu. I did clean BGT install again, created character, went near Chanters, and waited 5 minutes, and they didn't make a sound.
But when I moved sound slots, they started singing after a minute.
As about WAVC theory, Chanters' WAVs are existing in vanilla BG2, and they are WAV format (compressed).
I even tried uncompressing them and putting them in override. No change in singing frequency.
I hope there is some solution for singing frequency other then scripting.

Anyway, here is a code that moves sound slots (69->70, 70->71, 71->72, 72->73, 73->74):

ACTION_BASH_FOR ~bg1cre~ ~.+\.cre$~ BEGIN
  COPY ~%BASH_FOR_FILESPEC%~ ~bg1cre~
 READ_LONG 0x1b8 ~soundreplace~
 READ_LONG 0x1bc ~soundreplace2~
 READ_LONG 0x1c0 ~soundreplace3~
 READ_LONG 0x1c4 ~soundreplace4~
 READ_LONG 0x1c8 ~soundreplace5~
 PATCH_IF ("%soundreplace5%" > "0") THEN BEGIN
 WRITE_LONG 0x1c8 ~-1~
 WRITE_LONG 0x1cc ~%soundreplace5%~
        END
 PATCH_IF ("%soundreplace4%" > "0") THEN BEGIN
 WRITE_LONG 0x1c4 ~-1~
 WRITE_LONG 0x1c8 ~%soundreplace4%~
        END
 PATCH_IF ("%soundreplace3%" > "0") THEN BEGIN
 WRITE_LONG 0x1c0 ~-1~
 WRITE_LONG 0x1c4 ~%soundreplace3%~
        END
 PATCH_IF ("%soundreplace2%" > "0") THEN BEGIN
 WRITE_LONG 0x1bc ~-1~
 WRITE_LONG 0x1c0 ~%soundreplace2%~
        END
 PATCH_IF ("%soundreplace%" > "0") THEN BEGIN
 WRITE_LONG 0x1b8 ~-1~
 WRITE_LONG 0x1bc ~%soundreplace%~
        END
 END

Put this in setup-bgt.tp2 (roughly at 5032 line, before // Modification of BG2 only creatures)
Tested it and it does what it says.


Edited by Mad Mate, 02 June 2015 - 04:03 PM.


#48 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5155 posts

Posted 02 June 2015 - 09:28 PM

So yes, they work in the original game(BGT-weidu) as intended

They don't work in BGT-Weidu. I did clean BGT install again, created character, went near Chanters, and waited 5 minutes, and they didn't make a sound.

 Which language do you use and how clean was this BGT install ?
When I say a clean BGT install, I mean this:

// Log of Currently Installed WeiDU Mods
// The top of the file is the 'oldest' mod
// ~TP2_File~ #language_number #component_number // [Subcomponent Name -> ] Component Name [ : Version]
~SETUP-BGT.TP2~ #0 #0 // Baldur's Gate Trilogy - Core: 1.18 (28 Apr 13)
// Recently Uninstalled: ~SETUP-SOUNDFIX.TP2~ #0 #0 // Chanter sound fix for BGT-weidu

Could it be that the BG2Fixpack breaks the unscripted actions ... I don' know.


Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#49 Fiann of the Silver Hand

Fiann of the Silver Hand
  • Member
  • 286 posts

Posted 03 June 2015 - 01:01 AM

1. Get sounds in correct slots

2. Add EXISTANCE[1-5] as new entries in SOUNDOFF.IDS

3. Append_Top to relevant CRE

 

 

IF
  Delay(30)  //  this can be whatever, definitely shorter for the Chanters, 30 is probably good for random barks like Watcher yawns and Tavern Patron belches
  CombatCounter(0)  //  or !See([ENEMY]), or whatever checks we want so they don't say it during inappropriate circumstances
THEN
  RESPONSE #100
    VerbalConstant(Myself,EXISTANCE1)
  RESPONSE #100
    VerbalConstant(Myself,EXISTANCE2)
  RESPONSE #100
    VerbalConstant(Myself,EXISTANCE3)  // or however many the CRE has, most have only 1 or 2
  RESPONSE #100
    VerbalConstant(Myself,EXISTANCE4)
  RESPONSE #100
    VerbalConstant(Myself,EXISTANCE5)
END

This is hypothetical as I'm not on my gaming rig.


Edited by Fiann of the Silver Hand, 03 June 2015 - 01:04 AM.


#50 Mad Mate

Mad Mate
  • Member
  • 191 posts

Posted 03 June 2015 - 07:14 AM

Could it be that the BG2Fixpack breaks the unscripted actions ... I don' know.

I'm sorry Imp, I was wrong. You are right, clean BGT (without BG2Fixpack & Tobex) works fine.
I'm so used to BG2Fixpack, so I always think that it is completely bugfree.
Will investigate what Fixpack or Tobex changes to mess with this.

 

EDIT: It is not BG2Fixpack, so it is TOBex. Now to find what...


Edited by Mad Mate, 03 June 2015 - 07:42 AM.


#51 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5155 posts

Posted 03 June 2015 - 08:44 AM

I'm sorry Imp...
Don't be...it's more important that we know now that we can reproduce the bug and also know that we can fix it within the ToBEx + BGT's BG1 chars with the code of yours... so we can fix it in the BWS. :D
Hmm, does this also break all the BG2 chars ? Cause if it's that bad, we could suggest that the G3 BG2Fixpack would fix the ToBEx's bug. :P If it's already installed.

Edited by The Imp, 03 June 2015 - 08:51 AM.

Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#52 Mad Mate

Mad Mate
  • Member
  • 191 posts

Posted 03 June 2015 - 03:30 PM

And I found what problem is in TOBex+BGT.

-----340 Existence Sound Fix [F]
Fixes a bug where PICKED_POCKET sounds were played when EXISTANCE sounds were called for
This was corrected to EXISTANCE5


Options:
-0: disabled
-1: enabled

This is, by default, enabled and all BGT existence sounds are muted.

 

So there is no need for any code, just disable this in TobExCore.ini, and Chanters will sing.

 

As about frequency of singing, I think it is hard-coded, because in BGEE they sing at same frequency as BGT. In original BG1 they are faster.

 

EDIT: if, for some reason, you want to use this TOBEx's Existence Sound Fix, just use code from previous post in setup-BGT.tp2, so sounds moves 1 slot up.

 

Edited by Mad Mate, 03 June 2015 - 05:17 PM.


#53 Fiann of the Silver Hand

Fiann of the Silver Hand
  • Member
  • 286 posts

Posted 03 June 2015 - 09:52 PM

Animation and Creature Soundsets

TobEx fixes a bug that prevented the sounds in the middle of animation soundset 2DA files from playing. TobEx also fixes a bug where PICKED_POCKET sounds were played when EXISTANCE sounds were called for in the creature soundset. This was corrected to EXISTANCE5.

 

The ToBEx fix is only applied to those CREs whose sounds are hardcoded to the animation (like dogwil01), where there's no sounds listed at all in the CRE file itself.  This doesn't impact CREs with "softcoded" sounds, like the chanters, who will chant regardless of this setting as long as they have the correct sound in EXISTANCE1.

 

edit

 

Adding to SOUNDOFF.IDS did not work, but when I put the sound in the COMPLIMENT slot and used that reference in the script, it did work as intended.


Edited by Fiann of the Silver Hand, 03 June 2015 - 10:19 PM.


#54 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5155 posts

Posted 04 June 2015 - 12:24 AM


Animation and Creature Soundsets
.... TobEx also fixes a bug where PICKED_POCKET sounds were played when EXISTANCE sounds were called for in the creature soundset.

The ToBEx fix is only applied to those CREs whose sounds are hardcoded to the animation

 


If you actually read what you yourself quoted, then you actually find out that it effects every creature in the game. This is why the converted BG1 characters will become silent like Mad Mate found out. Unless you fix them with something.

Edited by The Imp, 07 June 2015 - 11:23 PM.

Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#55 Fiann of the Silver Hand

Fiann of the Silver Hand
  • Member
  • 286 posts

Posted 07 June 2015 - 03:44 PM

The chanters work fine for me in BGT once the sound is put in the right slot in CRE.  Frequency is the only issue.

 

Just so we're starting from the same point, you've actually tested putting a sound in EXISTANCE1 and had nothing?  I get 'working as intended' within 20 seconds for most CREs I've tested.  Turning the ToBEx 'Existance' toggle to 0 actually made them silent for me (quitting after 5 minutes), and why would I want to disable it anyway.

 

And reading what I wrote, I understand "creature soundset" as exactly what I said, clearly differentiating it from manually applied sound slots.  A wild dog is going to have sounds, even with -1 entries for all its sounds.

 

I'm finished with this.  Problem solved.


Edited by Fiann of the Silver Hand, 07 June 2015 - 03:51 PM.


#56 Bill Bisco

Bill Bisco
  • Member
  • 487 posts

Posted 07 June 2015 - 04:26 PM

Well, it'd be nice if we had a fixpack or something for this.  I miss the chanters in my BGT game.  If someone could fix this for BWP and BWS it would be much appreciated!



#57 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5155 posts

Posted 07 June 2015 - 11:20 PM

I'm finished with this. Problem solved.

Good attitude ...
Especially with this "It works for me", rutine.
I just wonder - Do you see the whole picture.
It's ok for you if you just install this, that and those mods. But what about if one of those(in this case the just the ToBEx) won't be installed ?
Yes, there's plenty of people that don't install the ToBEx, it's after all, an optional install with the BWP tools, and it can get installed without the player even knowing of it. Like with the SCS, the primary component that installs the part it needs of the ToBEx if it's not installed prior.

Now how this relates in this is in that the BGT-weidu actually works as intended without the ToBEx installed with the Chanters, no matter how hard you try, it cannot be denied.

And this isn't actually as simple as checking for one variable as that can be edited after a while. Yes, that should be the standard, kinda... but it's not always that simple.

Well, it'd be nice if we had a fixpack or something for this. 

Well, I and Mad Mate made code examples for a fix, they are not really the ultimate one yet as we need to include the proper proxy that checks the condition of the game and the files. But you are free to pick up on any of it, or make your own improvement and add it to the thread.

-this much should be obvious, but ...hmm, your message was kinda obvious too, of; Ouh I wish ...

We are not all coder gods, we code what we can.


Edited by The Imp, 08 June 2015 - 12:32 AM.

Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#58 Mad Mate

Mad Mate
  • Member
  • 191 posts

Posted 08 June 2015 - 07:36 AM

Frequency is the only issue.
Frequency is same as in BGEE. It's hardcoded in BG2 engine.
Turning the ToBEx 'Existance' toggle to 0 actually made them silent for me (quitting after 5 minutes), and why would I want to disable it anyway.
Because it is not a good fix. I'll explain it.
And reading what I wrote, I understand "creature soundset" as exactly what I said, clearly differentiating it from manually applied sound slots.  A wild dog is going to have sounds, even with -1 entries for all its sounds.
You are talking about "Animation Sound Fix". That one is fine. Problem is with "Existence Sound Fix".
If you read source of TOBex on github, you could understand what this "fix" does. It basically moves sound slots 1 place up. So when engine asks for 69th existence slot (without TOBex), with this fix enabled, it would ask for 70th. This is why chanters sing when you move their sounds in "correct" slot. But what about BG2 or mods?

It would be OK fix, if it moved all creature sounds in appropriate place, but it doesn't. There are 247 CRE files with sounds in 69th slot in vanilla BG2 (157 are EXISTANCE, rest are PICKPOCKET), and with this fix enabled, you wont hear any of them. I can provide you a list if you want to move their sounds.

I understand why A64 did that (overlap with pickpocket slot, but it is like that, with all other sounds after 69th), but it creates more problems (engine ignores all existence sounds from 69th slot), than it solves (slot 73 was unused, but no creature has sounds in that slot, anyway).
Well, it'd be nice if we had a fixpack or something for this.  I miss the chanters in my BGT game.  If someone could fix this for BWP and BWS it would be much appreciated!

After installing your game, just open TobEx_ini\TobExCore.ini and change value of Existence Sound Fix to 0.

Let me simplify this problem:

a) TOBex+any other mod, Existence Sound Fix=1 (engine don't execute 69th sound slot (chanters won't sing))
b) TOBex+any other mod, Existence Sound Fix=0 (engine execute 69th slot (chanters sing))

My suggestion, turn Existence Sound Fix to 0 and all of the game will work as intended.

Edited by Mad Mate, 08 June 2015 - 12:14 PM.


#59 Bill Bisco

Bill Bisco
  • Member
  • 487 posts

Posted 08 June 2015 - 02:57 PM

Frequency is the only issue.
Frequency is same as in BGEE. It's hardcoded in BG2 engine.
Turning the ToBEx 'Existance' toggle to 0 actually made them silent for me (quitting after 5 minutes), and why would I want to disable it anyway.
Because it is not a good fix. I'll explain it.
And reading what I wrote, I understand "creature soundset" as exactly what I said, clearly differentiating it from manually applied sound slots.  A wild dog is going to have sounds, even with -1 entries for all its sounds.
You are talking about "Animation Sound Fix". That one is fine. Problem is with "Existence Sound Fix".
If you read source of TOBex on github, you could understand what this "fix" does. It basically moves sound slots 1 place up. So when engine asks for 69th existence slot (without TOBex), with this fix enabled, it would ask for 70th. This is why chanters sing when you move their sounds in "correct" slot. But what about BG2 or mods?

It would be OK fix, if it moved all creature sounds in appropriate place, but it doesn't. There are 247 CRE files with sounds in 69th slot in vanilla BG2 (157 are EXISTANCE, rest are PICKPOCKET), and with this fix enabled, you wont hear any of them. I can provide you a list if you want to move their sounds.

I understand why A64 did that (overlap with pickpocket slot, but it is like that, with all other sounds after 69th), but it creates more problems (engine ignores all existence sounds from 69th slot), than it solves (slot 73 was unused, but no creature has sounds in that slot, anyway).
Well, it'd be nice if we had a fixpack or something for this.  I miss the chanters in my BGT game.  If someone could fix this for BWP and BWS it would be much appreciated!

After installing your game, just open TobEx_ini\TobExCore.ini and change value of Existence Sound Fix to 0.

Let me simplify this problem:

a) TOBex+any other mod, Existence Sound Fix=1 (engine don't execute 69th sound slot (chanters won't sing))
b) TOBex+any other mod, Existence Sound Fix=0 (engine execute 69th slot (chanters sing))

My suggestion, turn Existence Sound Fix to 0 and all of the game will work as intended.

 

Won't we also get the erroneous Pick Pocket sounds that Ascension mentioned in TobEX?  He did code BGT and TobEX afterall?



#60 Bill Bisco

Bill Bisco
  • Member
  • 487 posts

Posted 08 June 2015 - 03:16 PM

So basically our problem is that we don't have an option to disable these sound changes in ToBEx?

 

O9ucAG6.png

 

If we had this option within BWS, we could set it off by default so that our precious chanters could sing!  (I really miss those chanters!)