Jump to content


[Solved] Chanters in Candlekeep


  • Please log in to reply
104 replies to this topic

#81 Fiann of the Silver Hand

Fiann of the Silver Hand
  • Member
  • 286 posts

Posted 08 July 2015 - 06:30 PM

The EXISTANCE2 in your prepatch example is equivalent to the EXISTANCE3 slot after the ToBEx patch. So moving it is probably best way to preserve any inherent properties slots may have (frequency for eg)

 

Oh, wait.  I just replaced the copy_regexp part.  The previous 'check for existence fix' is still the preceding block.



#82 Lollorian

Lollorian

    smiley addict

  • Member
  • 4150 posts

Posted 08 July 2015 - 06:33 PM

Yes i understood that :P

By prepatch i meant the slot shifting patch image that you attached not the ToBEx patch :)

Edited by Lollorian, 08 July 2015 - 06:36 PM.

"I am the smiley addict, yellow and round, this is my grin :D when I'm usually around :P.
When there's trouble brewing, see me post, cuz it's usually a wall o' yellow and your eyes are toast!!!"

BWP GUIDE - BWP FIXES - impFAQ - NPC LIST - KIT LIST - AREA LIST

GitHub Links : BWP Fixpack | Lolfixer | BWP Trimpack | RezMod


#83 Fiann of the Silver Hand

Fiann of the Silver Hand
  • Member
  • 286 posts

Posted 08 July 2015 - 06:51 PM

While I agree with the 'move the entire block' part, I'd be vary of the 'move only when PP is set' part :unsure:

The EXISTANCE2 in your prepatch example is equivalent to the EXISTANCE3 slot after the ToBEx patch. So moving it is probably best way to preserve any inherent properties slots may have (frequency for eg)

All that is imho btw :P I'll change the patch to move only when PP is set if that seems proper to people :)

Also I just thought about something - there would be script commands that call these slots yeah? We'll probably need to move them by 1 as well :lol: (down the endless hole we go now)

Btw, about overwriting E5 slots, there are NPCs that are not present in pdialog.2da for some reason - c6safa for example :unsure:

 

Okay.  I have to take this step by step because there's immense confusion here.  Source of is not important to me.

 

While I agree with the 'move the entire block' part, I'd be vary of the 'move only when PP is set' part :unsure:

The EXISTANCE2 in your prepatch example is equivalent to the EXISTANCE3 slot after the ToBEx patch. So moving it is probably best way to preserve any inherent properties slots may have (frequency for eg)

 

This patch wouldn't do anything if the ToBEx setting is 0.  If it is 1, then what is supposed to be in E2 is actually supposed to be in E2.  This isn't a subjective adjustment;  it's getting the sounds to the right slots.  What was incorrectly in PP is getting moved to its proper place in E1.  vBG has 1b8 as where these Existence sounds begin.  In BG2, 1b8 is PP, which is objectively incorrect.  No?

 

Also I just thought about something - there would be script commands that call these slots yeah? We'll probably need to move them by 1 as well :lol: (down the endless hole we go now)

Unless there are mods that do so, this is hardly worth bothering with.  Vanilla doesn't use the VerbalConstant action in any script, and a modder is much more likely to just invoke the wav or dialog-attached wav.  I'd love to see examples of VerbalConstant getting any use, since that was my aborted suggestion as a workaround for this topic's issue.

 

Btw, about overwriting E5 slots, there are NPCs that are not present in pdialog.2da for some reason - c6safa for example :unsure:

???  I specifically excluded nonjoinable NPCs.  Every CRE is technically an NPC, but the only ones that matter for this patch are the ones that can join the party, and C6SAFA isn't one.



#84 Lollorian

Lollorian

    smiley addict

  • Member
  • 4150 posts

Posted 09 July 2015 - 09:46 AM

I'll start with your initial problem from this post :) Let's call the sound shifting code the 'ShifterPatch' :P

 

In the first image, you had not installed the ShifterPatch, ToBEx was installed with Existance Sounds Fix = 1 and -TEST01.CRE has the "Have a look..." strref (#38783) at EXISTANCE2.

 

Assuming that the CRE in question comes from vanilla BG2-ToB or from some mod made for BG2-ToB, -TEST01.CRE was made with the intention of #38783 being fired when the BG2 engine runs the 'fidget loop' as A64 calls it. During the fidget loop, the engine picks one of an array of 5 sounds and plays it as an ambient.

 

The array of 5 sounds is starts at the sound at offset 0x1b8 of a CRE. These are:

0x1b8 PICKED_POCKET

0x1bc EXISTANCE1

0x1c0 EXISTANCE2

0x1c4 EXISTANCE3

0x1c8 EXISTANCE4

 

ToBEx corrects that fidget loop function to pick the array of sounds from offset 0x1bc of a CRE. Causing the new array to be:

0x1bc EXISTANCE1

0x1c0 EXISTANCE2

0x1c4 EXISTANCE3

0x1c8 EXISTANCE4

0x1cc EXISTANCE5 (was unused in vanilla BG2-ToB - like the ToBEx docs say)

 

In light of the above change, what you notice is right - PICKED_POCKET sounds should be moved to EXISTANCE1. But the same shifting should be applied to EXISTANCE1-4 irrespective of whether PICKED_POCKET is set or not.

 

Please note that the pre-ToBEx position of EXISTANCE2 in the fidget loop array is 3rd - post-ToBEx, the 3rd position is EXISTANCE3 - which is where -TEST01.CRE's #38783 was shifted to by the ShifterPatch. So I fail to see why -TEST01.CRE should have been skipped by the ShifterPatch is what I'm getting at :unsure:

 

Re: Script Commands

When I posted that I was thinking about SetPlayerSound() but I just did a grep and they are mostly used by NPCs to set their BIOGRAPHY string (which is also coincidentally EXISTANCE5 before ToBEx happened :D)

 

On the topic of VerbalConstant() I see lots of mods do use it but none of them use the EXISTANCE sounds (or PICKED_POCKET for that matter :lol:)

 

Re: Overwriting EXISTANCE5

I imagined a case where NPCs who were kicked out and waiting at a hub location were all screaming like "OOooh I picked a pocket", "Picking their pockets" and other variants of PICKED_POCKET but we'll see if and when that happens (would actually love to see it happen :lol:)

 

K4thos' filter does a pretty wonderful job anyway so yeah I'll remove the EXISTANCE5 check :cheers:


"I am the smiley addict, yellow and round, this is my grin :D when I'm usually around :P.
When there's trouble brewing, see me post, cuz it's usually a wall o' yellow and your eyes are toast!!!"

BWP GUIDE - BWP FIXES - impFAQ - NPC LIST - KIT LIST - AREA LIST

GitHub Links : BWP Fixpack | Lolfixer | BWP Trimpack | RezMod


#85 Fiann of the Silver Hand

Fiann of the Silver Hand
  • Member
  • 286 posts

Posted 09 July 2015 - 10:39 PM

Thabks for the explanation!  I'm still trying to learn all this, so I can't really make any assumptions along the way.  (I've used very few mods, btw, so it's pleasing some are using the rarer effects)


Edited by Fiann of the Silver Hand, 09 July 2015 - 10:40 PM.


#86 Salk

Salk
  • Modder
  • 1419 posts

Donator

Posted 10 July 2015 - 05:00 AM

Will you share the final revision of your code when you are ready, Lollorian?

 

Thanks.

 



#87 Lollorian

Lollorian

    smiley addict

  • Member
  • 4150 posts

Posted 10 July 2015 - 10:20 AM

Knock yourselves out! :cheers: This includes removing the check on EXISTANCE5 being set (K4thos's filter for NPCs is awesome)

 

EDIT: Will not work on CREs that have already been loaded into an area in your savegame - new creatures are all gonna shout your ears off :lol:

Attached Files


Edited by Lollorian, 10 July 2015 - 10:21 AM.

"I am the smiley addict, yellow and round, this is my grin :D when I'm usually around :P.
When there's trouble brewing, see me post, cuz it's usually a wall o' yellow and your eyes are toast!!!"

BWP GUIDE - BWP FIXES - impFAQ - NPC LIST - KIT LIST - AREA LIST

GitHub Links : BWP Fixpack | Lolfixer | BWP Trimpack | RezMod


#88 Bill Bisco

Bill Bisco
  • Member
  • 487 posts

Posted 10 July 2015 - 10:24 AM

Thid should be part of Lolfixer no?

#89 Lollorian

Lollorian

    smiley addict

  • Member
  • 4150 posts

Posted 10 July 2015 - 10:28 AM

Check out the link in the post with the attachment :) Next BWPFixpack will have this installed by default :P

 

Attaching the mini-mod for non-BWP users (or people who have ongoing games but need the fix)


"I am the smiley addict, yellow and round, this is my grin :D when I'm usually around :P.
When there's trouble brewing, see me post, cuz it's usually a wall o' yellow and your eyes are toast!!!"

BWP GUIDE - BWP FIXES - impFAQ - NPC LIST - KIT LIST - AREA LIST

GitHub Links : BWP Fixpack | Lolfixer | BWP Trimpack | RezMod


#90 Salk

Salk
  • Modder
  • 1419 posts

Donator

Posted 10 July 2015 - 08:28 PM

Thanks Lollorian. :)

 

May I shamelessly point to another where I talk of a problem that is keeping me from enjoying BGT? Perhaps you can help me... :)

 

http://www.shsforums...-in-candlekeep/


Edited by Salk, 10 July 2015 - 08:29 PM.


#91 Salk

Salk
  • Modder
  • 1419 posts

Donator

Posted 11 July 2015 - 09:32 AM

Lollorian,

 

your code somehow doesn't fix the probllem with all the chanters in Candlekeep. It makes correct changes to the four voices but not to the chanter (CHANTE.CRE), the guy in yellow, most south ("The lord of Murder shall perish and in his doom...").

 

Please check it out.

 

Thanks.

 

UPDATE: Actually, the log shows that CHANTE.CRE has been corrected... This is mysterious... It must mean that something else that I installed after it changed it back...CHANTE2.CRE has also been somehow reverted back to the ToBEx state...

 

I made a --change-log chante.cre and the mods reported to modify the file are:

 

- BGT 1.18

- Rogue Rebalancing [Revised Thievery -> Retain default thievery potions and prevent their effects from stacking: v4.80]

- BGT Tweaks [Enemy items shatter: 11 (5 Feb 12)]

 

A same verification made on chante2.cre doesn't list Rogue Rebalancing anymore so I guess the culprit is BGT Tweaks' Enemy Items shatter.


Edited by Salk, 11 July 2015 - 09:51 AM.


#92 Lollorian

Lollorian

    smiley addict

  • Member
  • 4150 posts

Posted 11 July 2015 - 09:55 AM

Tip: Install the shifting patch last (but before generalized biffing) :P


"I am the smiley addict, yellow and round, this is my grin :D when I'm usually around :P.
When there's trouble brewing, see me post, cuz it's usually a wall o' yellow and your eyes are toast!!!"

BWP GUIDE - BWP FIXES - impFAQ - NPC LIST - KIT LIST - AREA LIST

GitHub Links : BWP Fixpack | Lolfixer | BWP Trimpack | RezMod


#93 Salk

Salk
  • Modder
  • 1419 posts

Donator

Posted 11 July 2015 - 09:13 PM

I will do that.



#94 Fiann of the Silver Hand

Fiann of the Silver Hand
  • Member
  • 286 posts

Posted 25 November 2015 - 05:46 AM

(I'm crossposting this to the relevant areas.)

 

Re: effect 294, set existence delay

 

IESDP says that param 1 is undefined, and param 2 sets the delay between barks (-1 = do not play at all, 0 = "normal", 1+ = increasing time between with 1 as fastest)

 

These were the tests I ran for varying params on VOIWES.

 

p1: 0

p2: anything

result:  no difference between them or with unmodded (i.e. fired very infrequently)

 

p1: 1

p2: 10

result:  super short delay (< 0.5 second) and interrupting itself to start a new one; continuously runs

 

p1: 10

p2: 10

result:  slightly longer delay than above (more of the bark played), but still interrupts itself;  continuously runs

 

p1: 20

p2: 10

result:  delay between barks varied anywhere from <1 second to about 6 seconds;  could still interrupt and run in bursts

 

p1: 0

p2: 60

result:  same as unmodded

 

p1: 1

p2: 60

result:  fired immediately and started anew when completed;  no interrupt

 

p1: 30

p2: 60

result:  fired immediately, with ~1 to 3 second delay between;  no interrupt

 

p1: 200

p2: 60

result:  fired immediately, with delays between from 6 to 34 seconds

 

Clearly param 1 controls the range of the delay between barks, and param 2 seems to set the minimum delay amount.

 

For the chanters, a setting of 100 & 60 seemed to replicate BG1 behavior.


Edited by Fiann of the Silver Hand, 25 November 2015 - 05:47 AM.


#95 The Imp

The Imp

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

  • Member
  • 5155 posts

Posted 25 November 2015 - 06:18 AM

Hmm, could someone check what they can get with different effects with opcode 294 ?

 ...
For the chanters, a setting of 100 & 60 seemed to replicate BG1 behavior.

Thanks man. Tons thanks.
Say like:

Spoiler
More tests people ? Just write a new .txt file and with that in it, save it as setup-chanterspeed.tp2, and then run a weidu.exe which is renamed as setup-chanterspeed.exe ... and start a new BGT game in BG1 start and see how the poets will ruin their songs.

 

And you are welcome to put your own name to the AUTHOR of course and remove my if you so wish... so your tests, your credits.


Edited by The Imp, 25 November 2015 - 06:25 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.


#96 Lollorian

Lollorian

    smiley addict

  • Member
  • 4150 posts

Posted 25 November 2015 - 08:04 AM

This is really interesting information :) Thanks for letting us know - I'd be interested to know the results of any testing.


"I am the smiley addict, yellow and round, this is my grin :D when I'm usually around :P.
When there's trouble brewing, see me post, cuz it's usually a wall o' yellow and your eyes are toast!!!"

BWP GUIDE - BWP FIXES - impFAQ - NPC LIST - KIT LIST - AREA LIST

GitHub Links : BWP Fixpack | Lolfixer | BWP Trimpack | RezMod


#97 Fiann of the Silver Hand

Fiann of the Silver Hand
  • Member
  • 286 posts

Posted 25 November 2015 - 04:38 PM

I think you'd want timing 9 (instant/permanent), because things like death and imprisonment abort 1 timings.  (Maybe charm and some other effects, too?)

 

If this works out, I think it could be applied to more NPCs, especially ones like tavern patrons, generic street traffic, and the prostitutes in Beregost and the Undercellar.


Edited by Fiann of the Silver Hand, 25 November 2015 - 04:42 PM.


#98 skellytz

skellytz
  • Staff
  • 545 posts

Posted 17 February 2016 - 03:46 PM

Thanks for your research, guys!

 

I've done some testing, too. It appears that parameter 2 doesn't affect the delay at all. Parameter 1 sets the range of possible delay (but it's not expressed in seconds).

 

Apparently, in the original BG1 there is no such thing as a minimum delay between existence sounds. Standing by Hull for a few minutes gave me a range of ~2-110 seconds between each ~yawn~.

 

I got similar results in BG2 by setting param 1 to 500; the range was ~2-90 seconds. I think 500 or 600 would be a good starting value for all the other creatures that have existence sounds.

 

We're currently working on a new version of Infinity Sounds with tweaked soundsets and existence sounds enabled for the vast majority of the BG1 monsters. All this info will definitely come in handy. :new_thumbs:



#99 Lollorian

Lollorian

    smiley addict

  • Member
  • 4150 posts

Posted 18 February 2016 - 11:19 AM

Thanks a lot for the help folks! :) I went with skellytz's values (param1=500, param2=0) because it was the set that helped me get this...

Spoiler

 

Lolfixer's Creature Resource Fixer will enable more frequent idle sounds for all creatures :) I didn't even know Hull had an idle quip :lol:


"I am the smiley addict, yellow and round, this is my grin :D when I'm usually around :P.
When there's trouble brewing, see me post, cuz it's usually a wall o' yellow and your eyes are toast!!!"

BWP GUIDE - BWP FIXES - impFAQ - NPC LIST - KIT LIST - AREA LIST

GitHub Links : BWP Fixpack | Lolfixer | BWP Trimpack | RezMod


#100 skellytz

skellytz
  • Staff
  • 545 posts

Posted 18 February 2016 - 11:36 AM

That's cool, Lollorian.

 

For the record, param1=600 gave me a range of ~1-120 seconds.

 

The chanters probably wouldn't mind param1=300 or 400; they do seem to be special-cased in the original, too.