Jump to content

Soundset corrections


Recommended Posts

From here.

 

//Males with female sounds
COPY_EXISTING c6nerit.cre override
 WRITE_LONG 0xa4 61724 //I welcome you with outstretched hand.
 WRITE_LONG 0xb8 61732 //May the Gods protect me!
 WRITE_LONG 0xc8 61729 //Justice shall be swift and final!
 WRITE_LONG 0xec 61730
 WRITE_LONG 0xf0 61731
 WRITE_LONG 0x10c 61725 //I trust you are here in good faith.
 WRITE_LONG 0x110 61726 //May the Gods look upon you kindly.
 WRITE_LONG 0x114 61724 //I welcome you with outstretched hand.
 WRITE_LONG 0x118 61727 //All of the faithful are welcome, here.
BUT_ONLY

COPY_EXISTING vvshad2.cre override
 WRITE_LONG 0xa4 61885 //Explain your intent, and make it good!
 WRITE_LONG 0xb8 61890 //Must... return to the shadows!
 WRITE_LONG 0xc8 61886 //Beg for death and I'll make it quick!
 WRITE_LONG 0xcc 61887 //No one crosses the Shadow Thieves... and lives!
 WRITE_LONG 0xec 61888
 WRITE_LONG 0xf0 61889
 WRITE_LONG 0x10c 61882 //Good to see a like-minded friend-to-be.
 WRITE_LONG 0x110 61883 //Speak if ye will.
 WRITE_LONG 0x114 61884 //Is there something you seek?
 WRITE_LONG 0x118 61885 //Explain your intent, and make it good!
BUT_ONLY

COPY_EXISTING suelfw6.cre override
 WRITE_LONG 0xa4 61850 //Monsters!  There are monsters everywhere in Suldanessellar!
 WRITE_LONG 0xec 61853
 WRITE_LONG 0xf0 61852
 WRITE_LONG 0x10c 61847 //Wh-what has happened to the queen?  She has been taken, hasn't she!
 WRITE_LONG 0x110 61848 //It is... it is the Exile!  The Exile has returned!
 WRITE_LONG 0x114 61851 //This cannot be happening!  It cannot!
 WRITE_LONG 0x118 61850 //Monsters!  There are monsters everywhere in Suldanessellar!
BUT_ONLY

COPY_EXISTING cowenf1.cre override
 WRITE_LONG 0xa4 61862 //Declare yourself!
 WRITE_LONG 0xb8 61869 //Retreat!
 WRITE_LONG 0xc8 61866 //I'll test your mettle with cold steel!
 WRITE_LONG 0xec 61867
 WRITE_LONG 0xf0 61868
 WRITE_LONG 0x10c 61863 //Do not disturb my duties.
 WRITE_LONG 0x110 61864 //At ease, citizen.
 WRITE_LONG 0x114 61865 //I trust you have no hostile intentions.
 WRITE_LONG 0x118 61862 //Declare yourself!
BUT_ONLY

COPY_EXISTING ttser2.cre override
 WRITE_LONG 0xa4 61690 //Care to dance?
 WRITE_LONG 0xb8 61687 //Another time, another place!
 WRITE_LONG 0xc8 61779 //Plant a blade in your innards, I will!
 WRITE_LONG 0xec 61780
 WRITE_LONG 0xf0 61781
 WRITE_LONG 0x10c 61774 //Prepare to be eviscerated, fool.
 WRITE_LONG 0x110 61690 //Care to dance?
 WRITE_LONG 0x114 61777 //This will be a slow and painful process.
 WRITE_LONG 0x118 61778 //You will suffer... oh, yes.
BUT_ONLY

//Females with male sounds
COPY_EXISTING daelf.cre override
 WRITE_LONG 0xa4 11107 //Yeah?
 WRITE_LONG 0xec 11167
 WRITE_LONG 0xf0 11168
 WRITE_LONG 0x10c 11119 //Hello there.
 WRITE_LONG 0x110 11070 //Few of the fair folk concern themselves with the affairs of the state.
 WRITE_LONG 0x114 "-1"
BUT_ONLY

COPY_EXISTING kproen05.cre override
 WRITE_LONG 0xa4 61872 //I serve with my blade.
 WRITE_LONG 0xb8 61877 //Back... I must fall back!
 WRITE_LONG 0xc8 61874 //Cross blades with me and die!
 WRITE_LONG 0xec 61875
 WRITE_LONG 0xf0 61876
 WRITE_LONG 0x10c 61870 //Speak quickly, citizen, I have little time for this.
 WRITE_LONG 0x110 61871 //Good day to you.
 WRITE_LONG 0x114 61872 //I serve with my blade.
 WRITE_LONG 0x118 61873 //Do nothing stupid and there'll be no problems.
BUT_ONLY

COPY_EXISTING suelf8.cre override
 WRITE_LONG 0xa4 61856 //The Tree of Life!  'Tis the Tree that must be saved, before any of us!
 WRITE_LONG 0xec 61861
 WRITE_LONG 0xf0 61860
 WRITE_LONG 0x10c 61854 //This is the Exile's doing!
 WRITE_LONG 0x110 61855 //So... so many have died!  So many!
 WRITE_LONG 0x114 61856 //The Tree of Life!  'Tis the Tree that must be saved, before any of us!
 WRITE_LONG 0x118 61857 //Rillifane!  Rillifane save us, I beg you!
BUT_ONLY

COPY_EXISTING udelf05.cre override
 WRITE_LONG 0xa4 11063 //Greetings, adventurers.
 WRITE_LONG 0xec 11075
 WRITE_LONG 0xf0 11076
 WRITE_LONG 0x10c 11070 //Few of the fair folk concern themselves with the affairs of the state.
 WRITE_LONG 0x110 11065 //The Fair Folk will inherit the Earth.
 WRITE_LONG 0x114 11063 //Greetings, adventurers.
 WRITE_LONG 0x118 11070 //Few of the fair folk concern themselves with the affairs of the state.
BUT_ONLY

COPY_EXISTING ppmag01.cre override
 WRITE_LONG 0xa4 47345 //A woman on the high seas has t' be tougher than any mate.
 WRITE_LONG 0xec 51867
 WRITE_LONG 0xf0 51868
 WRITE_LONG 0x10c 47345 //A woman on the high seas has t' be tougher than any mate.
 WRITE_LONG 0x110 47347 //Ahhhh, don't look at me like that, or I'll gut ye where ye stand.
 WRITE_LONG 0x114 48338 //Grog.  Grog an' a bath.  Aye...
 WRITE_LONG 0x118 51494 //So I smells like fish.  Begone with ye.
 WRITE_LONG 0x1b8 47347 //Ahhhh, don't look at me like that, or I'll gut ye where ye stand.
BUT_ONLY

ACTION_IF GAME_IS tob BEGIN
 COPY_EXISTING ammonk05.cre override
PATCH_IF SOURCE_SIZE > 0x2d3 BEGIN
  WRITE_LONG 0xa4 61994 //Do not anger me.
  WRITE_LONG 0xb8 "-1"
  WRITE_LONG 0xc8 61995 //You shall pay for this, and pay dearly.
  WRITE_LONG 0xcc 61996 //Suffer!
  WRITE_LONG 0xec 61997
  WRITE_LONG 0xf0 61998
  WRITE_LONG 0x10c 61993 //As always, the pleasure is mine.
END
 BUT_ONLY

 COPY_EXISTING yssold16.cre override
PATCH_IF SOURCE_SIZE > 0x2d3 BEGIN
  WRITE_LONG 0xa4 61980 //You are welcome in my sight.
  WRITE_LONG 0xc8 61981 //This is your end!
  WRITE_LONG 0xcc 61982 //You've made a fatal error in judgement.
  WRITE_LONG 0xec 61985
  WRITE_LONG 0xf0 61986
  WRITE_LONG 0x10c 61981 //This is your end!
  WRITE_LONG 0x110 61982 //You've made a fatal error in judgement.
END
 BUT_ONLY

 COPY_EXISTING sargrd06.cre override
PATCH_IF SOURCE_SIZE > 0x2d3 BEGIN
  WRITE_LONG 0xa4 4901 //Yer a handsome bunch, ain't ya?
  WRITE_LONG 0xec 12568
  WRITE_LONG 0xf0 12569
  WRITE_LONG 0x10c 4901 //Yer a handsome bunch, ain't ya?
END
 BUT_ONLY

 COPY_EXISTING yaga02.cre override
PATCH_IF SOURCE_SIZE > 0x2d3 BEGIN
  WRITE_LONG 0xa4 61625 //We will be saved in the End.
  WRITE_LONG 0xb8 61630 //Aiiiieee!!  I have failed him!!
  WRITE_LONG 0xec 61628
  WRITE_LONG 0xf0 61629
  WRITE_LONG 0x10c 61625 //We will be saved in the End.
END
 BUT_ONLY
END

 

c6nerit has his soundset changed from female priest to male priest. vvshad his his changed from female shadow thief to male shadow thief. suelfw6 gets the male Suldanesellar-elf set instead of the female one. cowenf1 gets the male guard set. ttser2 gets the male hvill set instead of the female one. There are no female counterparts to daelf's and udelf05's male sets, so they get a melange of female elf sounds. ppmag01 gets the female sailor set. ammonk05 gets the same female set as ammonk08 has. yssold16 gets the female priest set instead of the male one. sargrd06 gets the ftown set instead of the mtown set and yaga02 gets the female fanatic set instead of the male one.

 

Edit: kproen05 gets the female soldier set. suelf8 gets the female Suldanesellar-elf set.

 

There are a couple of creatures (vvparis and sarpris2) with incorrect UNHAPPY_BREAKING_POINT sounds, but I'm unsure if they are ever played so I didn't include them.

Link to comment
There are a couple of creatures (vvparis and sarpris2) with incorrect UNHAPPY_BREAKING_POINT sounds, but I'm unsure if they are ever played so I didn't include them.
They're unused outside the party (they're all actually supposed to be morale failure (0xa8), but the designers went nutso and put most of them in the wrong slot; at least they got it right for some of the uniques). Consequently, they can stay incorrect.
Link to comment
they're all actually supposed to be morale failure (0xa8)
If that's what they're supposed to be (and I would agree from all the CREs I've looked over), then why not write the UNHAPPY_BREAKING_POINT clips to the MORALE slots? (Edit: the correct ones, that is, if they exist.)

 

Wisp, did you use any code to figure out which CREs had incorrect sound clips? I guess it would have to involve knowing which sounds were which genders.

Link to comment
they're all actually supposed to be morale failure (0xa8)
If that's what they're supposed to be (and I would agree from all the CREs I've looked over), then why not write the UNHAPPY_BREAKING_POINT clips to the MORALE slots? (Edit: the correct ones, that is, if they exist.)
There are 1064 creatures like that in my Fixpacked but otherwise vanilla BG2 installation. Even if some of them are unused, it'll be a long list of creatures. I thought it was too long considering how minor the bug is and didn't devote any further effort to it.

 

Wisp, did you use any code to figure out which CREs had incorrect sound clips? I guess it would have to involve knowing which sounds were which genders.

I put the strings used by creatures with sex = gender = 1 into one array, the strings used by creatures with sex = 2 or gender = 2 into another and checked for overlap. (Consequently some creatures haven't been checked, but they are probably fine.) I can post the actual code if you like.

Link to comment
If that's what they're supposed to be (and I would agree from all the CREs I've looked over), then why not write the UNHAPPY_BREAKING_POINT clips to the MORALE slots? (Edit: the correct ones, that is, if they exist.)
They can. But it's not something we'd do generally (as Wisp notes, there's a ton of creatures, mostly generic human townie sounds, and it's just not a big enough deal).

 

One of those things where we may have done it if only we had gotten to it 10 years ago.

Link to comment
I can post the actual code if you like.
That might be helpful for stuff we do with animation sounds in Infinity Animations (typically on megamod installs after all other mods, so it'd fix mod-added CREs that are cloned from default CREs, though errors might be minimised a bit once this fix goes in).
Link to comment
I can post the actual code if you like.
That might be helpful for stuff we do with animation sounds in Infinity Animations (typically on megamod installs after all other mods, so it'd fix mod-added CREs that are cloned from default CREs, though errors might be minimised a bit once this fix goes in).

I don't know if it'd be useful for a larger project like that. The code's crude but yields a manageable amount of hits on a vanilla install. But a fair number of those are legitimate or inconsequential cases of shared sounds.

 

COPY_EXISTING_REGEXP ".*\.cre$" override
 PATCH_IF SOURCE_SIZE > 0x2d3 BEGIN
READ_BYTE 0x237 sex
READ_BYTE 0x275 gender
PATCH_IF sex = 1 AND gender = 1 BEGIN
  FOR (i=0xa4;i<0x231;i+=0x4) BEGIN
	READ_SLONG i strref
	PATCH_IF strref > 0 BEGIN
	  SPRINT $male("%strref%") "%SOURCE_FILE%"
	END
  END
END
PATCH_IF sex = 2 OR gender = 2 BEGIN
  FOR (i=0xa4;i<0x231;i+=0x4) BEGIN
	READ_SLONG i strref
	PATCH_IF strref > 0 BEGIN
	  SPRINT $female("%strref%") "%SOURCE_FILE%"
	END
  END
END
 END
BUT_ONLY

ACTION_PHP_EACH female AS strref => file BEGIN
 ACTION_IF VARIABLE_IS_SET $male("%strref%") BEGIN
OUTER_SPRINT male $male("%strref%")
PRINT "%file% uses string %strref%, marked as male by %male%"
 END
END

 

(I notice I forgot about kproen05.)

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...